<?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=inside+engineer+worlds+fair%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>Fri, 07 Aug 2026 20:41:15 +0200</lastBuildDate>
<pubDate>Fri, 07 Aug 2026 20:41:15 +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=inside+engineer+worlds+fair%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/alle-kategorien.xml?q=inside+engineer+worlds+fair%2F" rel="self" type="application/rss+xml" />
<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[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[Führungskräfte sollten auch Gefühlsmanager sein]]></title>
<description><![CDATA[Führungskräfte müssen ihren Gefühlshaushalt und ihr Verhalten steuern können – um eine persönliche Überlastung zu vermeiden; zudem damit ihr Verhalten berechenbar bleibt und von ihren Mitarbeitenden als fair empfunden wird.

Tags: #Führungskräfte | #Gefühle]]></description>
<link>https://tsecurity.de/de/3709501/it-security-nachrichten/fuehrungskraefte-sollten-auch-gefuehlsmanager-sein/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709501/it-security-nachrichten/fuehrungskraefte-sollten-auch-gefuehlsmanager-sein/</guid>
<pubDate>Fri, 07 Aug 2026 06:29:46 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1920" height="1080" src="https://www.it-daily.net/wp-content/uploads/2026/08/Gefuehle-1920-1241930356.jpg" class="attachment-full size-full wp-post-image" alt="Gefuehle" decoding="async" srcset="https://www.it-daily.net/wp-content/uploads/2026/08/Gefuehle-1920-1241930356.jpg 1920w, https://www.it-daily.net/wp-content/uploads/2026/08/Gefuehle-1920-1241930356-300x169.jpg 300w, https://www.it-daily.net/wp-content/uploads/2026/08/Gefuehle-1920-1241930356-1024x576.jpg 1024w, https://www.it-daily.net/wp-content/uploads/2026/08/Gefuehle-1920-1241930356-768x432.jpg 768w, https://www.it-daily.net/wp-content/uploads/2026/08/Gefuehle-1920-1241930356-1536x864.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" title="Führungskräfte sollten auch Gefühlsmanager sein 3"></p>
    Führungskräfte müssen ihren Gefühlshaushalt und ihr Verhalten steuern können – um eine persönliche Überlastung zu vermeiden; zudem damit ihr Verhalten berechenbar bleibt und von ihren Mitarbeitenden als fair empfunden wird.

<p>Tags: <a href="https://www.it-daily.net/thema/fuehrungskraefte">#Führungskräfte</a> | <a href="https://www.it-daily.net/thema/gefuehle">#Gefühle</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Scientists Make First Viruses Designed By AI]]></title>
<description><![CDATA[An anonymous reader quotes a report from The Guardian: Scientists have made the first viruses designed by artificial intelligence in a milestone that raises hopes for new medicines but also concerns over how to ensure the technology remains safe. The viruses are specific kinds known as bacterioph...]]></description>
<link>https://tsecurity.de/de/3709497/it-security-nachrichten/scientists-make-first-viruses-designed-by-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709497/it-security-nachrichten/scientists-make-first-viruses-designed-by-ai/</guid>
<pubDate>Fri, 07 Aug 2026 06:29:27 +0200</pubDate>
<content:encoded><![CDATA[An anonymous reader quotes a report from The Guardian: Scientists have made the first viruses designed by artificial intelligence in a milestone that raises hopes for new medicines but also concerns over how to ensure the technology remains safe. The viruses are specific kinds known as bacteriophages, which only infect bacteria and are used around the world to treat patients with persistent infections. In lab tests, a cocktail of the AI-designed viruses killed E coli bugs that were resistant to natural bacteriophages.
 
Dr Brian Hie, a chemical engineer at Stanford University in California, used genome language models, the genetic equivalent of the large language models behind AI chatbots, to design functioning genomes for bacteriophages. The viruses were then made in the laboratory and pitted against E coli in a dish. The ability to "rapidly design" genomes and tune them for specific bugs while overcoming resistance could "transform phage therapy" and "expand biotechnological toolkits," the researchers wrote in the journal Science.
 
But beyond the potential benefits, the scientists said the work raised "important biosafety, biocontainment and biosecurity considerations" and urged others who were designing whole genomes to "consult both safety and security professionals throughout the project." In an accompanying article, Prof Tom Inglesby and Dr Moritz Hanke at the Center for Health Security at Johns Hopkins University in Baltimore, reinforced the warning, writing: "Although this is promising for life sciences applications, it also raises urgent biosafety and biosecurity questions. The ability to compose viral genomes using generative AI now exists; the governance to safely steer it does not." Tom Ellis, a professor of synthetic genome engineering at Imperial College London, said the work was impressive, but revealed how hard it would be to make more complex genomes. "This is literally the smallest and easiest genome to make," he said. An AI trained on the genetic code of dangerous bugs could be used to design more harmful viruses, Ellis said, but controlling access to genetic data and having restrictions on making genomes that look dangerous would help. "Governments are working hard to do this already," he added. "But honestly," he said, "the threat from full AI design and writing of a genome of a virus or bacteria is very overblown when we consider that just taking existing pathogens and making gain-of-function changes to their genomes is so much easier and much more likely to be a real pathogenic threat."
 
Dr Filippa Lentzos, a reader in science and international security at King's College London, said the most important point to intervene at the moment was when DNA was being manufactured. "It's important to see the bigger governance picture and not focus regulation solely on the AI model," she said. "A layered approach makes more sense: safeguards around model development and access, responsible research review, synthesis screening, and established laboratory biosafety and biosecurity."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Scientists+Make+First+Viruses+Designed+By+AI%3A+https%3A%2F%2Fscience.slashdot.org%2Fstory%2F26%2F08%2F06%2F1824255%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%2F1824255%2Fscientists-make-first-viruses-designed-by-ai%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/1824255/scientists-make-first-viruses-designed-by-ai?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Black Hat 2026: Check Point Research Takes the Stage]]></title>
<description><![CDATA[Black Hat USA 2026 gave Check Point Research four chances to show the room something it hadn’t seen before. Across two days, our researchers pulled apart a decade-old Windows driver, a malware format most tools can’t touch, the plumbing underneath today’s AI agent frameworks, and the sandbox mean...]]></description>
<link>https://tsecurity.de/de/3709424/it-security-nachrichten/black-hat-2026-check-point-research-takes-the-stage/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709424/it-security-nachrichten/black-hat-2026-check-point-research-takes-the-stage/</guid>
<pubDate>Fri, 07 Aug 2026 04:20:14 +0200</pubDate>
<content:encoded><![CDATA[<img width="1702" height="1027" src="https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162.jpeg" class="webfeedsFeaturedVisual wp-post-image" alt="" link_thumbnail="" decoding="async" fetchpriority="high" srcset="https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162.jpeg 1702w, https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162-300x181.jpeg 300w, https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162-1024x618.jpeg 1024w, https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162-768x463.jpeg 768w, https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162-1536x927.jpeg 1536w, https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162-400x241.jpeg 400w, https://blog.checkpoint.com/wp-content/uploads/2026/08/bh-2026-image-scaled-e1786043096162-1320x796.jpeg 1320w" sizes="(max-width: 1702px) 100vw, 1702px"><p>Black Hat USA 2026 gave Check Point Research four chances to show the room something it hadn’t seen before. Across two days, our researchers pulled apart a decade-old Windows driver, a malware format most tools can’t touch, the plumbing underneath today’s AI agent frameworks, and the sandbox meant to contain them, and found the same pattern waiting in each: attackers moving into the layers we trust by default. Here’s a look at what they presented. BTR Reforged: The Driver Nobody Had Looked At Jiří Vinopal opened the day with a talk that started from an uncomfortable premise. Somewhere inside Windows […]</p>
<p>The post <a href="https://blog.checkpoint.com/research/black-hat-2026-check-point-research-takes-the-stage/">Black Hat 2026: Check Point Research Takes the Stage</a> appeared first on <a href="https://blog.checkpoint.com/">Check Point Blog</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloudflare wants to provide the operating system for the AI-first enterprise]]></title>
<description><![CDATA[Traditional operating systems (OS) were built to manage hardware, files, apps, and users on a device, but Cloudflare says the agentic AI era requires a whole new format.



The company this week announced Cloudflare OS, which connects AI agents, enterprise data and context, internal systems, and ...]]></description>
<link>https://tsecurity.de/de/3709405/ai-nachrichten/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709405/ai-nachrichten/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise/</guid>
<pubDate>Fri, 07 Aug 2026 03:42:40 +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">Traditional operating systems (OS) were built to manage hardware, files, apps, and users on a device, but Cloudflare says the agentic AI era requires a whole new format.</p>



<p class="wp-block-paragraph">The company this week announced <a href="https://www.cloudflare.com/press/press-releases/2026/cloudflare-os-is-the-first-ai-workspace-built-around-how-companies-actually-work/" target="_blank" rel="noreferrer noopener">Cloudflare OS</a>, which connects AI agents, enterprise data and context, internal systems, and workflows together in one secure workspace. It is open source and browser-based, sparing companies the need to build all-new infrastructure.</p>



<p class="wp-block-paragraph">The OS is launching alongside several other new security, identity, spending, and user insight tools that Cloudflare has built for the <a href="https://www.infoworld.com/article/2255318/what-is-cloud-native-the-modern-way-to-develop-software.html" target="_blank">AI-based workplace</a>.</p>



<p class="wp-block-paragraph">“Cloudflare OS isn’t a traditional desktop OS,” said <a href="https://www.linkedin.com/in/ritakozlov/" target="_blank" rel="noreferrer noopener">Rita Kozlov</a>, VP of product at Cloudflare. “It reimagines the workplace computing environment for AI.”</p>



<h2 class="wp-block-heading">Open source OS runs in a browser</h2>



<p class="wp-block-paragraph">Cloudflare OS serves as a secure, AI-equipped workspace that is plugged into internal company systems. Available now through Cloudflare’s open source repository, it is accessible directly in a browser, and runs inside an enterprise’s Cloudflare account.</p>



<p class="wp-block-paragraph">“It is a browser-based workspace that begins with a conversation,” Kozlov explained. Users can ask an agent to research, create slides, spreadsheets, and documents, build full-stack apps, or automate workflows without the need for a terminal. Those outputs are then shareable, but kept in isolated databases with access controls.</p>



<p class="wp-block-paragraph">Enterprises will soon be able to access the OS directly through Cloudflare or via a “select group” of partners that will build tailored offerings on Cloudflare’s architecture, the company says. Because it is open source, organizational processes, internal system connections, and context aren’t locked into a vendor product or AI model provider. Customers can use whatever models they choose.</p>



<p class="wp-block-paragraph">Cloudflare OS is built on Cloudflare Workers, <a href="https://www.infoworld.com/article/4149869/cloudflare-launches-dynamic-workers-for-ai-agent-execution.html" target="_blank">Dynamic Workers</a>, Durable Objects, and Access, the company’s zero trust network access (ZTNA) tool that verifies every user and request. Agents start with zero permissions by default and are only granted access to tools required for a specific task. Organizations configure their own Access policies, models, branding, skills, and integrations, Kozlov explained.</p>



<p class="wp-block-paragraph">Governed connectors known as gatekeepers give admins control over what AI can see, what it can change, and when the system needs human sign-off. They can also control budgets, set rate limits, and delegate tasks to different models.</p>



<p class="wp-block-paragraph">“Because <a href="https://www.infoworld.com/article/4165857/are-we-ready-to-give-ai-agents-the-keys-to-the-cloud-cloudflare-thinks-so.html" target="_blank">agents act on people’s behalf</a> and produce work others can access and modify, they require a new security model,” Kozlov said. Thus, Cloudflare OS tracks the resources an agent requires so the right access controls follow its work when it is shared.</p>



<p class="wp-block-paragraph">Cloudflare initially built the OS for internal use, and employees “across every team” use it daily. Kozlov estimated that, over the last 30 days, internal users have used it to create more than 4,000 apps, automations, and tools. Over that same period, she claimed, the company’s sales team saved an estimated 10,000 hours by automating previously manual tasks like territory planning and proposal creation.</p>



<p class="wp-block-paragraph">“We open sourced Cloudflare OS so any organization can build ‘Your Company OS,’” Kozlov said. Open source is critical because “you cannot put your company into software you do not own. Organizations need to be able to inspect the platform, customize it, connect their own systems, and make it their own,” she explained.</p>



<h2 class="wp-block-heading">A more cohesive bundle</h2>



<p class="wp-block-paragraph">Cloudflare deserves credit for packaging Cloudflare OS as an operating system, noted tech analyst <a href="https://ca.linkedin.com/in/carmi" target="_blank" rel="noreferrer noopener">Carmi Levy</a>.</p>



<p class="wp-block-paragraph">“This very much is not Windows, macOS, or Linux, and it isn’t an operating system by its common definition,” he said. “But Cloudflare’s use of this terminology implies familiarity to enterprise IT buyers.”</p>



<p class="wp-block-paragraph">This makes for an easier discussion as enterprises struggle to understand how to best incorporate AI-related platforms and workflows into infrastructure that wasn’t initially designed for it.</p>



<p class="wp-block-paragraph">Microsoft has marketed the combination of its Azure, Entra, Fabric, Windows, and Microsoft 365 offerings as an operating system of sorts, but hasn’t pulled all the pieces into a common brand, Levy said. And Google’s Gemini, Workspace, Vertex AI, and Cloud Run are “circling similar territory.”</p>



<p class="wp-block-paragraph">But, he noted, Cloudflare OS is “more cohesively bundled” and infrastructure-focused, offering a single pane of glass platform for buyers worried about stitching together otherwise disparate AI-aware networking pieces. The company recognizes that AI introduces new architectural realities such as inference and model routing “over and above” traditional OS core competencies.</p>



<p class="wp-block-paragraph">“While competing offerings generally leave the infrastructure heavy lifting to enterprise decision-makers, Cloudflare is marketing itself as a single-source vendor, which potentially frees IT planners from having to integrate all the AI pieces on their own,” Levy said.</p>



<p class="wp-block-paragraph">An infrastructure-first, application-agnostic approach means Cloudflare OS can coexist with whatever AI applications already exist in an enterprise, he said. It will “play nice” with OpenAI, Anthropic, Google, Microsoft, Meta, or open source layers, allowing employees to begin working in familiar workflows after sign-in.</p>



<p class="wp-block-paragraph">“Its open-source architecture also minimizes the potential for vendor lock-in as enterprises gradually figure out how to evolve their stacks to align with new AI-era realities,” Levy said.</p>



<h2 class="wp-block-heading">Managing identities and budgets for both humans and AI</h2>



<p class="wp-block-paragraph">As AI agents emerge across the enterprise, tracking their use can be challenging, causing problems from both a security and a spend standpoint. Along with Cloudflare OS, the company has launched a way to address this issue with its new <a href="https://www.cloudflare.com/press/press-releases/2026/cloudflare-gives-companies-full-visibility-to-audit-and-analyze-ai-use/" target="_blank" rel="noreferrer noopener">Identity-Aware AI Gateway</a>, now in beta.</p>



<p class="wp-block-paragraph">Also integrated with Access, the offering gives admins visibility into what users (both human and AI) are requesting from AI models. It allows security teams to set up custom domains in front of their gateways and replace shared API keys by integrating with their identity provider, like Okta or Entra, and ZTNA infrastructure, Cloudflare explained.</p>



<p class="wp-block-paragraph">Every request is tied to Access-verified identities, and enterprises can filter each user’s logs, analytics, and spend. IT teams can track redundancies, limit usage rates, and apply filters that strip out employee names, passwords, and other sensitive data before requests go to outside model providers.</p>



<p class="wp-block-paragraph">A companion feature, AI Spend, tracks every user’s behavior over time to create a baseline of normal AI usage. When spending deviates from that pattern, the system alerts the IT team.</p>



<p class="wp-block-paragraph">A new tab, User Insights, tracks cost and identifies over-spend caused by activities such as low cache-hit rates or oversized context windows. The capability scores sessions and compares them against account history using a 95th percentile session cost over the previous 30 days, Cloudflare product managers <a href="https://blog.cloudflare.com/author/ming-lu/" target="_blank" rel="noreferrer noopener">Ming Lu</a>, <a href="https://blog.cloudflare.com/author/kenny/" target="_blank" rel="noreferrer noopener">Kenny Johnson</a>, and <a href="https://blog.cloudflare.com/author/ayush/" target="_blank" rel="noreferrer noopener">Ayush Kumar</a> explain in a <a href="https://blog.cloudflare.com/identity-aware-ai-gateway/" target="_blank" rel="noreferrer noopener">blog post</a>. Anything above 2x an account’s 95th percentile is a “strong candidate for anomalous behavior.”</p>



<p class="wp-block-paragraph">For instance, one Cloudflare customer had an employee who left a rogue AI session running, generating a $30K bill. “User Insights helped them identify the problem and shut off access before the problem was further exacerbated,” Kozlov said.</p>



<p class="wp-block-paragraph">Cloudflare is also building prompt classification functionality that sorts requests into categories such as coding or writing. This can help enterprises understand what AI is being used for.</p>



<p class="wp-block-paragraph">“Once business traffic is separated from everything else, personal use becomes visible,” the project managers explained. “From the outside, someone running a side hustle on company time and someone quietly moving data out through a model look the same. Telling them apart is central to catching insider risk.”</p>



<h2 class="wp-block-heading">Looking at the bigger picture</h2>



<p class="wp-block-paragraph">Identity-Aware AI Gateway and AI Spend address the visibility problem that has dogged so many recent AI deployments where enterprises failed to monitor usage, Levy noted. Projects “crashed and burned” as users unwittingly blew through token allocations.</p>



<p class="wp-block-paragraph">These platforms provide single-point visibility into what is being used, how it’s being used, and where the potential lies for raising the productivity bar, he said. They overlay with existing models; in doing so, they enhance security with more precise control over resource allocations, and via automated anonymization protocols that prevent inadvertent sharing of sensitive data.</p>



<p class="wp-block-paragraph">Ultimately, he said, vendors who free IT from having to independently assemble the pieces of their own AI implementations, and who assist them with answers to AI-specific questions, “will gain advantage over vendors that aren’t looking at the bigger picture.</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.cio.com/article/4206332/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise.html" target="_blank">CIO.com</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[New ChatGPT version has a 'Think' button, will find 'more reliable facts']]></title>
<description><![CDATA[OpenAI continues to churn out upgrades to its various GPT models, the latest GPT-5.6 promises to be more succinct and provide confident wrong answers less often. Here's what's new.ChatGPT gets a slider for compute intensityApple and OpenAI have a relationship where ChatGPT is an extension for the...]]></description>
<link>https://tsecurity.de/de/3709362/ios-mac-os/new-chatgpt-version-has-a-think-button-will-find-more-reliable-facts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709362/ios-mac-os/new-chatgpt-version-has-a-think-button-will-find-more-reliable-facts/</guid>
<pubDate>Fri, 07 Aug 2026 03:34:07 +0200</pubDate>
<content:encoded><![CDATA[OpenAI continues to churn out upgrades to its various GPT models, the latest GPT-5.6 promises to be more succinct and provide confident wrong answers less often. Here's what's new.<br><br><div><img src="https://media.appleinsider.com/gallery/68499-144326-IMG_4895-xl.jpg" alt="Smartphone screen showing a chat interface with a slider control labeled 5.0 High above an on-screen keyboard, set against a starry outer space background"><br><span>ChatGPT gets a slider for compute intensity</span></div><br>Apple and OpenAI have a relationship where ChatGPT is an extension for the previous version of Siri, though that could <a href="https://appleinsider.com/articles/26/05/14/openai-considering-suing-apple-because-chatgpt-integrations-werent-a-money-fountain">come to an end</a> soon. The latest updates don't affect users of that specific function, but the <a href="https://appleinsider.com/inside/mac" title="Mac" data-kpt="1">Mac</a> utilities and <a href="https://appleinsider.com/inside/ios" title="iOS" data-kpt="1">iOS</a> app will gain new features and performance.<br><br>Now, we're going to have to sift through OpenAI's anthropomorphized language of its chatbot models to understand exactly what's being introduced here. The <a href="https://openai.com/index/improving-gpt-5-6-sol-in-chatgpt/">press release</a> says a lot about "thinking" versus instant answers, but always remember: artificial intelligence can't think, reason, understand, or sympathize.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/new-chatgpt-version-has-a-think-button-will-find-more-reliable-facts?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245193?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Computers Inside Your Computers]]></title>
<description><![CDATA[YouTube Video]]></description>
<link>https://tsecurity.de/de/3709275/it-security-video/computers-inside-your-computers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709275/it-security-video/computers-inside-your-computers/</guid>
<pubDate>Fri, 07 Aug 2026 02:57:54 +0200</pubDate>
<content:encoded><![CDATA[<p>YouTube Video</p><p><iframe loading="lazy" src="https://www.youtube.com/embed/vk3SapJyF-g"></iframe></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CSS:the bomb inside your inbox]]></title>
<description><![CDATA[Gareth Heyes - gareth.heyes@portswigger.net - @garethheyes It's quite common for webmail clients to render untrusted CSS in a trusted UI. They attempt to make this safe using CSS sanitization. In this]]></description>
<link>https://tsecurity.de/de/3709272/it-security-nachrichten/cssthe-bomb-inside-your-inbox/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709272/it-security-nachrichten/cssthe-bomb-inside-your-inbox/</guid>
<pubDate>Fri, 07 Aug 2026 02:51:24 +0200</pubDate>
<content:encoded><![CDATA[Gareth Heyes - gareth.heyes@portswigger.net - @garethheyes It's quite common for webmail clients to render untrusted CSS in a trusted UI. They attempt to make this safe using CSS sanitization. In this]]></content:encoded>
</item>
<item>
<title><![CDATA[ChainDrop: Inside a Self-Propagating npm Worm]]></title>
<description><![CDATA[Analysis of ChainDrop, an npm supply chain worm extracting GitHub Actions runner secrets and using Ethereum smart contracts for C2 routing.
Read more →
The post ChainDrop: Inside a Self-Propagating npm Worm appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3709241/it-security-nachrichten/chaindrop-inside-a-self-propagating-npm-worm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709241/it-security-nachrichten/chaindrop-inside-a-self-propagating-npm-worm/</guid>
<pubDate>Fri, 07 Aug 2026 02:49:28 +0200</pubDate>
<content:encoded><![CDATA[<p>Analysis of ChainDrop, an npm supply chain worm extracting GitHub Actions runner secrets and using Ethereum smart contracts for C2 routing.</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/chaindrop-inside-a-self-propagating-npm-worm/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/chaindrop-inside-a-self-propagating-npm-worm/">ChainDrop: Inside a Self-Propagating npm Worm</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloudflare wants to provide the operating system for the AI-first enterprise]]></title>
<description><![CDATA[Traditional operating systems (OS) were built to manage hardware, files, apps, and users on a device, but Cloudflare says the agentic AI era requires a whole new format.



The company this week announced Cloudflare OS, which connects AI agents, enterprise data and context, internal systems, and ...]]></description>
<link>https://tsecurity.de/de/3709231/it-security-nachrichten/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709231/it-security-nachrichten/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise/</guid>
<pubDate>Fri, 07 Aug 2026 02:38:25 +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">Traditional operating systems (OS) were built to manage hardware, files, apps, and users on a device, but Cloudflare says the agentic AI era requires a whole new format.</p>



<p class="wp-block-paragraph">The company this week announced <a href="https://www.cloudflare.com/press/press-releases/2026/cloudflare-os-is-the-first-ai-workspace-built-around-how-companies-actually-work/" target="_blank" rel="noreferrer noopener">Cloudflare OS</a>, which connects AI agents, enterprise data and context, internal systems, and workflows together in one secure workspace. It is open source and browser-based, sparing companies the need to build all-new infrastructure.</p>



<p class="wp-block-paragraph">The OS is launching alongside several other new security, identity, spending, and user insight tools that Cloudflare has built for the <a href="https://www.infoworld.com/article/2255318/what-is-cloud-native-the-modern-way-to-develop-software.html" target="_blank">AI-based workplace</a>.</p>



<p class="wp-block-paragraph">“Cloudflare OS isn’t a traditional desktop OS,” said <a href="https://www.linkedin.com/in/ritakozlov/" target="_blank" rel="noreferrer noopener">Rita Kozlov</a>, VP of product at Cloudflare. “It reimagines the workplace computing environment for AI.”</p>



<h2 class="wp-block-heading">Open source OS runs in a browser</h2>



<p class="wp-block-paragraph">Cloudflare OS serves as a secure, AI-equipped workspace that is plugged into internal company systems. Available now through Cloudflare’s open source repository, it is accessible directly in a browser, and runs inside an enterprise’s Cloudflare account.</p>



<p class="wp-block-paragraph">“It is a browser-based workspace that begins with a conversation,” Kozlov explained. Users can ask an agent to research, create slides, spreadsheets, and documents, build full-stack apps, or automate workflows without the need for a terminal. Those outputs are then shareable, but kept in isolated databases with access controls.</p>



<p class="wp-block-paragraph">Enterprises will soon be able to access the OS directly through Cloudflare or via a “select group” of partners that will build tailored offerings on Cloudflare’s architecture, the company says. Because it is open source, organizational processes, internal system connections, and context aren’t locked into a vendor product or AI model provider. Customers can use whatever models they choose.</p>



<p class="wp-block-paragraph">Cloudflare OS is built on Cloudflare Workers, <a href="https://www.infoworld.com/article/4149869/cloudflare-launches-dynamic-workers-for-ai-agent-execution.html" target="_blank">Dynamic Workers</a>, Durable Objects, and Access, the company’s zero trust network access (ZTNA) tool that verifies every user and request. Agents start with zero permissions by default and are only granted access to tools required for a specific task. Organizations configure their own Access policies, models, branding, skills, and integrations, Kozlov explained.</p>



<p class="wp-block-paragraph">Governed connectors known as gatekeepers give admins control over what AI can see, what it can change, and when the system needs human sign-off. They can also control budgets, set rate limits, and delegate tasks to different models.</p>



<p class="wp-block-paragraph">“Because <a href="https://www.infoworld.com/article/4165857/are-we-ready-to-give-ai-agents-the-keys-to-the-cloud-cloudflare-thinks-so.html" target="_blank">agents act on people’s behalf</a> and produce work others can access and modify, they require a new security model,” Kozlov said. Thus, Cloudflare OS tracks the resources an agent requires so the right access controls follow its work when it is shared.</p>



<p class="wp-block-paragraph">Cloudflare initially built the OS for internal use, and employees “across every team” use it daily. Kozlov estimated that, over the last 30 days, internal users have used it to create more than 4,000 apps, automations, and tools. Over that same period, she claimed, the company’s sales team saved an estimated 10,000 hours by automating previously manual tasks like territory planning and proposal creation.</p>



<p class="wp-block-paragraph">“We open sourced Cloudflare OS so any organization can build ‘Your Company OS,’” Kozlov said. Open source is critical because “you cannot put your company into software you do not own. Organizations need to be able to inspect the platform, customize it, connect their own systems, and make it their own,” she explained.</p>



<h2 class="wp-block-heading">A more cohesive bundle</h2>



<p class="wp-block-paragraph">Cloudflare deserves credit for packaging Cloudflare OS as an operating system, noted tech analyst <a href="https://ca.linkedin.com/in/carmi" target="_blank" rel="noreferrer noopener">Carmi Levy</a>.</p>



<p class="wp-block-paragraph">“This very much is not Windows, macOS, or Linux, and it isn’t an operating system by its common definition,” he said. “But Cloudflare’s use of this terminology implies familiarity to enterprise IT buyers.”</p>



<p class="wp-block-paragraph">This makes for an easier discussion as enterprises struggle to understand how to best incorporate AI-related platforms and workflows into infrastructure that wasn’t initially designed for it.</p>



<p class="wp-block-paragraph">Microsoft has marketed the combination of its Azure, Entra, Fabric, Windows, and Microsoft 365 offerings as an operating system of sorts, but hasn’t pulled all the pieces into a common brand, Levy said. And Google’s Gemini, Workspace, Vertex AI, and Cloud Run are “circling similar territory.”</p>



<p class="wp-block-paragraph">But, he noted, Cloudflare OS is “more cohesively bundled” and infrastructure-focused, offering a single pane of glass platform for buyers worried about stitching together otherwise disparate AI-aware networking pieces. The company recognizes that AI introduces new architectural realities such as inference and model routing “over and above” traditional OS core competencies.</p>



<p class="wp-block-paragraph">“While competing offerings generally leave the infrastructure heavy lifting to enterprise decision-makers, Cloudflare is marketing itself as a single-source vendor, which potentially frees IT planners from having to integrate all the AI pieces on their own,” Levy said.</p>



<p class="wp-block-paragraph">An infrastructure-first, application-agnostic approach means Cloudflare OS can coexist with whatever AI applications already exist in an enterprise, he said. It will “play nice” with OpenAI, Anthropic, Google, Microsoft, Meta, or open source layers, allowing employees to begin working in familiar workflows after sign-in.</p>



<p class="wp-block-paragraph">“Its open-source architecture also minimizes the potential for vendor lock-in as enterprises gradually figure out how to evolve their stacks to align with new AI-era realities,” Levy said.</p>



<h2 class="wp-block-heading">Managing identities and budgets for both humans and AI</h2>



<p class="wp-block-paragraph">As AI agents emerge across the enterprise, tracking their use can be challenging, causing problems from both a security and a spend standpoint. Along with Cloudflare OS, the company has launched a way to address this issue with its new <a href="https://www.cloudflare.com/press/press-releases/2026/cloudflare-gives-companies-full-visibility-to-audit-and-analyze-ai-use/" target="_blank" rel="noreferrer noopener">Identity-Aware AI Gateway</a>, now in beta.</p>



<p class="wp-block-paragraph">Also integrated with Access, the offering gives admins visibility into what users (both human and AI) are requesting from AI models. It allows security teams to set up custom domains in front of their gateways and replace shared API keys by integrating with their identity provider, like Okta or Entra, and ZTNA infrastructure, Cloudflare explained.</p>



<p class="wp-block-paragraph">Every request is tied to Access-verified identities, and enterprises can filter each user’s logs, analytics, and spend. IT teams can track redundancies, limit usage rates, and apply filters that strip out employee names, passwords, and other sensitive data before requests go to outside model providers.</p>



<p class="wp-block-paragraph">A companion feature, AI Spend, tracks every user’s behavior over time to create a baseline of normal AI usage. When spending deviates from that pattern, the system alerts the IT team.</p>



<p class="wp-block-paragraph">A new tab, User Insights, tracks cost and identifies over-spend caused by activities such as low cache-hit rates or oversized context windows. The capability scores sessions and compares them against account history using a 95th percentile session cost over the previous 30 days, Cloudflare product managers <a href="https://blog.cloudflare.com/author/ming-lu/" target="_blank" rel="noreferrer noopener">Ming Lu</a>, <a href="https://blog.cloudflare.com/author/kenny/" target="_blank" rel="noreferrer noopener">Kenny Johnson</a>, and <a href="https://blog.cloudflare.com/author/ayush/" target="_blank" rel="noreferrer noopener">Ayush Kumar</a> explain in a <a href="https://blog.cloudflare.com/identity-aware-ai-gateway/" target="_blank" rel="noreferrer noopener">blog post</a>. Anything above 2x an account’s 95th percentile is a “strong candidate for anomalous behavior.”</p>



<p class="wp-block-paragraph">For instance, one Cloudflare customer had an employee who left a rogue AI session running, generating a $30K bill. “User Insights helped them identify the problem and shut off access before the problem was further exacerbated,” Kozlov said.</p>



<p class="wp-block-paragraph">Cloudflare is also building prompt classification functionality that sorts requests into categories such as coding or writing. This can help enterprises understand what AI is being used for.</p>



<p class="wp-block-paragraph">“Once business traffic is separated from everything else, personal use becomes visible,” the project managers explained. “From the outside, someone running a side hustle on company time and someone quietly moving data out through a model look the same. Telling them apart is central to catching insider risk.”</p>



<h2 class="wp-block-heading">Looking at the bigger picture</h2>



<p class="wp-block-paragraph">Identity-Aware AI Gateway and AI Spend address the visibility problem that has dogged so many recent AI deployments where enterprises failed to monitor usage, Levy noted. Projects “crashed and burned” as users unwittingly blew through token allocations.</p>



<p class="wp-block-paragraph">These platforms provide single-point visibility into what is being used, how it’s being used, and where the potential lies for raising the productivity bar, he said. They overlay with existing models; in doing so, they enhance security with more precise control over resource allocations, and via automated anonymization protocols that prevent inadvertent sharing of sensitive data.</p>



<p class="wp-block-paragraph">Ultimately, he said, vendors who free IT from having to independently assemble the pieces of their own AI implementations, and who assist them with answers to AI-specific questions, “will gain advantage over vendors that aren’t looking at the bigger picture.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI's Models Shared Hacking Tips On a Secret Messaging Board Before Hugging Face Breach]]></title>
<description><![CDATA[OpenAI researchers say multiple AI agents secretly created an internal message board to share hacking techniques, eventually finding ways around restrictions, exploiting a zero-day, and helping two models breach Hugging Face without human prompting. "This is a pivotal moment both for our company ...]]></description>
<link>https://tsecurity.de/de/3709218/it-security-nachrichten/openais-models-shared-hacking-tips-on-a-secret-messaging-board-before-hugging-face-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709218/it-security-nachrichten/openais-models-shared-hacking-tips-on-a-secret-messaging-board-before-hugging-face-breach/</guid>
<pubDate>Fri, 07 Aug 2026 02:35:27 +0200</pubDate>
<content:encoded><![CDATA[OpenAI researchers say multiple AI agents secretly created an internal message board to share hacking techniques, eventually finding ways around restrictions, exploiting a zero-day, and helping two models breach Hugging Face without human prompting. "This is a pivotal moment both for our company as well as the AI industry as a whole," Michael Dalton, one of the AI-maker's researchers, said during a presentation at the Black Hat cybersecurity conference in Las Vegas, Nevada. Politico reports: Dalton and Eric Wallace, another OpenAI researcher, said Wednesday the AI giant recently learned that multiple agents it was testing simultaneously began communicating over an internal message board in early May. There, different models shared advice about how to accomplish difficult hacking challenges they were struggling to surmount, including workarounds that required internet access. Two OpenAI models ultimately strung together a series of sophisticated techniques to gain access to the internet and worm their way inside Hugging Face in mid-July. OpenAI has said the models were focused on completing a hacking evaluation they were prompted to solve, and that correct answers could be found on the AI developer platform.
 
The OpenAI researchers told conference attendees that since early May, the models created a message board inside OpenAI's Artifactory internal file system. Without the company's knowledge, the models spent months independently exchanging information and techniques to help each other complete difficult tasks. Wallace said that when models get stuck, they often "try to game or cheat the task in order to get their reward." "The beginning of this incident kind of traces back to this point where one agent realized it could communicate by uploading a note," he added. By late May, one model found a way to abuse Artifactory's internet access to retrieve files from various websites -- effectively giving the models indirect access to the internet. In June, the models were able to find and exploit a previously unknown zero-day vulnerability to gain administrative privileges on Artifactory, install remote software and expand their activity within the system.
 
These efforts eventually overloaded Artifactory, causing a system-wide outage in early July that alerted OpenAI's engineers to the ploy. After investigating, the company revoked the model's credentials, removed the message board and worked with Artifactory to fix any gaps before resuming training. But the models found another way to communicate inside Artifactory just days later and continued exchanging techniques to target additional vulnerabilities within OpenAI's infrastructure and external systems, including Hugging Face.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=OpenAI's+Models+Shared+Hacking+Tips+On+a+Secret+Messaging+Board+Before+Hugging+Face+Breach%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F06%2F1815207%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%2F06%2F1815207%2Fopenais-models-shared-hacking-tips-on-a-secret-messaging-board-before-hugging-face-breach%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/06/1815207/openais-models-shared-hacking-tips-on-a-secret-messaging-board-before-hugging-face-breach?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloudflare wants to provide the operating system for the AI-first enterprise]]></title>
<description><![CDATA[Traditional operating systems (OS) were built to manage hardware, files, apps, and users on a device, but Cloudflare says the agentic AI era requires a whole new format.



The company this week announced Cloudflare OS, which connects AI agents, enterprise data and context, internal systems, and ...]]></description>
<link>https://tsecurity.de/de/3709211/it-nachrichten/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709211/it-nachrichten/cloudflare-wants-to-provide-the-operating-system-for-the-ai-first-enterprise/</guid>
<pubDate>Fri, 07 Aug 2026 02:35: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">Traditional operating systems (OS) were built to manage hardware, files, apps, and users on a device, but Cloudflare says the agentic AI era requires a whole new format.</p>



<p class="wp-block-paragraph">The company this week announced <a href="https://www.cloudflare.com/press/press-releases/2026/cloudflare-os-is-the-first-ai-workspace-built-around-how-companies-actually-work/" target="_blank" rel="noreferrer noopener">Cloudflare OS</a>, which connects AI agents, enterprise data and context, internal systems, and workflows together in one secure workspace. It is open source and browser-based, sparing companies the need to build all-new infrastructure.</p>



<p class="wp-block-paragraph">The OS is launching alongside several other new security, identity, spending, and user insight tools that Cloudflare has built for the <a href="https://www.infoworld.com/article/2255318/what-is-cloud-native-the-modern-way-to-develop-software.html" target="_blank">AI-based workplace</a>.</p>



<p class="wp-block-paragraph">“Cloudflare OS isn’t a traditional desktop OS,” said <a href="https://www.linkedin.com/in/ritakozlov/" target="_blank" rel="noreferrer noopener">Rita Kozlov</a>, VP of product at Cloudflare. “It reimagines the workplace computing environment for AI.”</p>



<h2 class="wp-block-heading">Open source OS runs in a browser</h2>



<p class="wp-block-paragraph">Cloudflare OS serves as a secure, AI-equipped workspace that is plugged into internal company systems. Available now through Cloudflare’s open source repository, it is accessible directly in a browser, and runs inside an enterprise’s Cloudflare account.</p>



<p class="wp-block-paragraph">“It is a browser-based workspace that begins with a conversation,” Kozlov explained. Users can ask an agent to research, create slides, spreadsheets, and documents, build full-stack apps, or automate workflows without the need for a terminal. Those outputs are then shareable, but kept in isolated databases with access controls.</p>



<p class="wp-block-paragraph">Enterprises will soon be able to access the OS directly through Cloudflare or via a “select group” of partners that will build tailored offerings on Cloudflare’s architecture, the company says. Because it is open source, organizational processes, internal system connections, and context aren’t locked into a vendor product or AI model provider. Customers can use whatever models they choose.</p>



<p class="wp-block-paragraph">Cloudflare OS is built on Cloudflare Workers, <a href="https://www.infoworld.com/article/4149869/cloudflare-launches-dynamic-workers-for-ai-agent-execution.html" target="_blank">Dynamic Workers</a>, Durable Objects, and Access, the company’s zero trust network access (ZTNA) tool that verifies every user and request. Agents start with zero permissions by default and are only granted access to tools required for a specific task. Organizations configure their own Access policies, models, branding, skills, and integrations, Kozlov explained.</p>



<p class="wp-block-paragraph">Governed connectors known as gatekeepers give admins control over what AI can see, what it can change, and when the system needs human sign-off. They can also control budgets, set rate limits, and delegate tasks to different models.</p>



<p class="wp-block-paragraph">“Because <a href="https://www.infoworld.com/article/4165857/are-we-ready-to-give-ai-agents-the-keys-to-the-cloud-cloudflare-thinks-so.html" target="_blank">agents act on people’s behalf</a> and produce work others can access and modify, they require a new security model,” Kozlov said. Thus, Cloudflare OS tracks the resources an agent requires so the right access controls follow its work when it is shared.</p>



<p class="wp-block-paragraph">Cloudflare initially built the OS for internal use, and employees “across every team” use it daily. Kozlov estimated that, over the last 30 days, internal users have used it to create more than 4,000 apps, automations, and tools. Over that same period, she claimed, the company’s sales team saved an estimated 10,000 hours by automating previously manual tasks like territory planning and proposal creation.</p>



<p class="wp-block-paragraph">“We open sourced Cloudflare OS so any organization can build ‘Your Company OS,’” Kozlov said. Open source is critical because “you cannot put your company into software you do not own. Organizations need to be able to inspect the platform, customize it, connect their own systems, and make it their own,” she explained.</p>



<h2 class="wp-block-heading">A more cohesive bundle</h2>



<p class="wp-block-paragraph">Cloudflare deserves credit for packaging Cloudflare OS as an operating system, noted tech analyst <a href="https://ca.linkedin.com/in/carmi" target="_blank" rel="noreferrer noopener">Carmi Levy</a>.</p>



<p class="wp-block-paragraph">“This very much is not Windows, macOS, or Linux, and it isn’t an operating system by its common definition,” he said. “But Cloudflare’s use of this terminology implies familiarity to enterprise IT buyers.”</p>



<p class="wp-block-paragraph">This makes for an easier discussion as enterprises struggle to understand how to best incorporate AI-related platforms and workflows into infrastructure that wasn’t initially designed for it.</p>



<p class="wp-block-paragraph">Microsoft has marketed the combination of its Azure, Entra, Fabric, Windows, and Microsoft 365 offerings as an operating system of sorts, but hasn’t pulled all the pieces into a common brand, Levy said. And Google’s Gemini, Workspace, Vertex AI, and Cloud Run are “circling similar territory.”</p>



<p class="wp-block-paragraph">But, he noted, Cloudflare OS is “more cohesively bundled” and infrastructure-focused, offering a single pane of glass platform for buyers worried about stitching together otherwise disparate AI-aware networking pieces. The company recognizes that AI introduces new architectural realities such as inference and model routing “over and above” traditional OS core competencies.</p>



<p class="wp-block-paragraph">“While competing offerings generally leave the infrastructure heavy lifting to enterprise decision-makers, Cloudflare is marketing itself as a single-source vendor, which potentially frees IT planners from having to integrate all the AI pieces on their own,” Levy said.</p>



<p class="wp-block-paragraph">An infrastructure-first, application-agnostic approach means Cloudflare OS can coexist with whatever AI applications already exist in an enterprise, he said. It will “play nice” with OpenAI, Anthropic, Google, Microsoft, Meta, or open source layers, allowing employees to begin working in familiar workflows after sign-in.</p>



<p class="wp-block-paragraph">“Its open-source architecture also minimizes the potential for vendor lock-in as enterprises gradually figure out how to evolve their stacks to align with new AI-era realities,” Levy said.</p>



<h2 class="wp-block-heading">Managing identities and budgets for both humans and AI</h2>



<p class="wp-block-paragraph">As AI agents emerge across the enterprise, tracking their use can be challenging, causing problems from both a security and a spend standpoint. Along with Cloudflare OS, the company has launched a way to address this issue with its new <a href="https://www.cloudflare.com/press/press-releases/2026/cloudflare-gives-companies-full-visibility-to-audit-and-analyze-ai-use/" target="_blank" rel="noreferrer noopener">Identity-Aware AI Gateway</a>, now in beta.</p>



<p class="wp-block-paragraph">Also integrated with Access, the offering gives admins visibility into what users (both human and AI) are requesting from AI models. It allows security teams to set up custom domains in front of their gateways and replace shared API keys by integrating with their identity provider, like Okta or Entra, and ZTNA infrastructure, Cloudflare explained.</p>



<p class="wp-block-paragraph">Every request is tied to Access-verified identities, and enterprises can filter each user’s logs, analytics, and spend. IT teams can track redundancies, limit usage rates, and apply filters that strip out employee names, passwords, and other sensitive data before requests go to outside model providers.</p>



<p class="wp-block-paragraph">A companion feature, AI Spend, tracks every user’s behavior over time to create a baseline of normal AI usage. When spending deviates from that pattern, the system alerts the IT team.</p>



<p class="wp-block-paragraph">A new tab, User Insights, tracks cost and identifies over-spend caused by activities such as low cache-hit rates or oversized context windows. The capability scores sessions and compares them against account history using a 95th percentile session cost over the previous 30 days, Cloudflare product managers <a href="https://blog.cloudflare.com/author/ming-lu/" target="_blank" rel="noreferrer noopener">Ming Lu</a>, <a href="https://blog.cloudflare.com/author/kenny/" target="_blank" rel="noreferrer noopener">Kenny Johnson</a>, and <a href="https://blog.cloudflare.com/author/ayush/" target="_blank" rel="noreferrer noopener">Ayush Kumar</a> explain in a <a href="https://blog.cloudflare.com/identity-aware-ai-gateway/" target="_blank" rel="noreferrer noopener">blog post</a>. Anything above 2x an account’s 95th percentile is a “strong candidate for anomalous behavior.”</p>



<p class="wp-block-paragraph">For instance, one Cloudflare customer had an employee who left a rogue AI session running, generating a $30K bill. “User Insights helped them identify the problem and shut off access before the problem was further exacerbated,” Kozlov said.</p>



<p class="wp-block-paragraph">Cloudflare is also building prompt classification functionality that sorts requests into categories such as coding or writing. This can help enterprises understand what AI is being used for.</p>



<p class="wp-block-paragraph">“Once business traffic is separated from everything else, personal use becomes visible,” the project managers explained. “From the outside, someone running a side hustle on company time and someone quietly moving data out through a model look the same. Telling them apart is central to catching insider risk.”</p>



<h2 class="wp-block-heading">Looking at the bigger picture</h2>



<p class="wp-block-paragraph">Identity-Aware AI Gateway and AI Spend address the visibility problem that has dogged so many recent AI deployments where enterprises failed to monitor usage, Levy noted. Projects “crashed and burned” as users unwittingly blew through token allocations.</p>



<p class="wp-block-paragraph">These platforms provide single-point visibility into what is being used, how it’s being used, and where the potential lies for raising the productivity bar, he said. They overlay with existing models; in doing so, they enhance security with more precise control over resource allocations, and via automated anonymization protocols that prevent inadvertent sharing of sensitive data.</p>



<p class="wp-block-paragraph">Ultimately, he said, vendors who free IT from having to independently assemble the pieces of their own AI implementations, and who assist them with answers to AI-specific questions, “will gain advantage over vendors that aren’t looking at the bigger picture.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[It's like, 'Wait a minute, are you, wait, is that Jimothy?' The inside story of how the viral raccoon climbed inside Roku City]]></title>
<description><![CDATA[Jimothy Raccoon, the squat, viral Seattle-based mammal, is now immortalized inside Roku City. Here's how that happened]]></description>
<link>https://tsecurity.de/de/3709204/it-nachrichten/its-like-wait-a-minute-are-you-wait-is-that-jimothy-the-inside-story-of-how-the-viral-raccoon-climbed-inside-roku-city/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709204/it-nachrichten/its-like-wait-a-minute-are-you-wait-is-that-jimothy-the-inside-story-of-how-the-viral-raccoon-climbed-inside-roku-city/</guid>
<pubDate>Fri, 07 Aug 2026 02:35:01 +0200</pubDate>
<content:encoded><![CDATA[Jimothy Raccoon, the squat, viral Seattle-based mammal, is now immortalized inside Roku City. Here's how that happened]]></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[Fare Is Fair: Zoox Launching Robotaxi Service in Las Vegas]]></title>
<description><![CDATA[Optimized fares will be based on the best route from pickup to drop-off, with the full price shown before you book and no surprises if the robotaxi takes a longer way around.]]></description>
<link>https://tsecurity.de/de/3709183/it-nachrichten/fare-is-fair-zoox-launching-robotaxi-service-in-las-vegas/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709183/it-nachrichten/fare-is-fair-zoox-launching-robotaxi-service-in-las-vegas/</guid>
<pubDate>Fri, 07 Aug 2026 02:34:50 +0200</pubDate>
<content:encoded><![CDATA[Optimized fares will be based on the best route from pickup to drop-off, with the full price shown before you book and no surprises if the robotaxi takes a longer way around.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple TV brings free 'Widow's Bay' screenings to AMC theaters]]></title>
<description><![CDATA[Fans of "Widow's Bay" in Atlanta, Boston, Chicago, Los Angeles, New York, and San Francisco can catch a free screening of the series' final three episodes of the first season at select AMC theaters.Image Credit: Apple TV"Widow's Bay" made its debut in April, quickly becoming an Apple TV hit. The ...]]></description>
<link>https://tsecurity.de/de/3709110/ios-mac-os/apple-tv-brings-free-widows-bay-screenings-to-amc-theaters/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709110/ios-mac-os/apple-tv-brings-free-widows-bay-screenings-to-amc-theaters/</guid>
<pubDate>Thu, 06 Aug 2026 22:29:07 +0200</pubDate>
<content:encoded><![CDATA[Fans of "Widow's Bay" in Atlanta, Boston, Chicago, Los Angeles, New York, and San Francisco can catch a free screening of the series' final three episodes of the first season at select AMC theaters.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67237-141378-Widows-Bay%E2%80%94%E2%80%94Official-Teaser-Trailer-_-Apple-TV-0-53-screenshot-xl.jpg" alt="Bold red text reading Widows Bay centered over a dark, rippling ocean background, creating a dramatic and ominous title-card effect" class=""><br><span>Image Credit: Apple TV</span></div><br>"Widow's Bay" made its debut <a href="https://appleinsider.com/articles/26/04/02/comedy-horror-series-widows-bay-to-haunt-apple-tv-on-april-29">in April,</a> quickly becoming an <a href="https://appleinsider.com/inside/apple-tv" title="Apple TV" data-kpt="1">Apple TV</a> hit. The series has been praised for blending genuine horror with character-driven comedy.<br><br>Even with its late premiere date, <a href="https://appleinsider.com/articles/26/07/08/widows-bay-and-pluribus-nominated-for-the-most-prestigious-emmy-awards">it earned</a> 19 Emmy nominations. That includes the coveted Best Comedy Series.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/apple-tv-brings-free-widows-bay-screenings-to-amc-theaters?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245191?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[I Ported CoLinux to X64 and expanded the driver to support all NT versions starting 5.2(XP) which atp is basically WSL but FOSS (Linux Kernel: 7.1.5 // NT: 10)]]></title>
<description><![CDATA[coLinux was the pre-VM way to run Linux on Windows, two kernels cooperating at ring 0, no hypervisor. It died in 2011, stuck on 32-bit (kernel 2.6.33 // NT6.2) and unable to load on any 64-bit Windows. There is GPU sharing but its kinda miserable, im hoping for 0.6.0 to have that run at full spee...]]></description>
<link>https://tsecurity.de/de/3709102/linux-tipps/i-ported-colinux-to-x64-and-expanded-the-driver-to-support-all-nt-versions-starting-52xp-which-atp-is-basically-wsl-but-foss-linux-kernel-715-nt-10/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709102/linux-tipps/i-ported-colinux-to-x64-and-expanded-the-driver-to-support-all-nt-versions-starting-52xp-which-atp-is-basically-wsl-but-foss-linux-kernel-715-nt-10/</guid>
<pubDate>Thu, 06 Aug 2026 22:06:11 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>coLinux was the pre-VM way to run Linux on Windows, two kernels cooperating at ring 0, no hypervisor. It died in 2011, stuck on 32-bit (kernel 2.6.33 // NT6.2) and unable to load on any 64-bit Windows. There is GPU sharing but its kinda miserable, im hoping for 0.6.0 to have that run at full speed ((currently it is only doing 0.01% bandwidth of the CoXWire i have built puts out))</p> <p>I ported the cooperative model to x86-64, a single unmodified driver that boots a modern Linux 7.1.5 guest on 64-bit XP, 7, 8.1, and 10, with GPU acceleration via virgl (screenshot is KDE Plasma 6 on Windows 10 IoT, rendering on the host GT 730).</p> <p>PS, this is not a VM there's no hypervisor. it needs VBS/HVCI off, so it runs the pre-VBS NT line. Think of it as the machines WSL2 abandoned.</p> <p>Also fixed the old build tree (mingw NDIS header, Python 3 comake) and hit modern-kernel gotchas coLinux never saw, KPTI's dual CR3, etc.</p> <p>Repo: <a href="https://github.com/PhialsBasement/MoCoLinux">https://github.com/PhialsBasement/MoCoLinux</a><br> Easy Installer: <a href="https://github.com/PhialsBasement/MoCoLinux/releases/tag/v0.5.3">https://github.com/PhialsBasement/MoCoLinux/releases/tag/v0.5.3</a> (let me know if there are any bugs, this is kinda hard to test across 4 windows's)<br> Don't run it inside a VM, the cooperative switch conflicts with VMX and you'll get a bugcheck.</p> <p>AI Disclosure: Used Claude heavily during development (and i gotta say i was really disappointed with Opus 5's performance), all the decisions and design details taken here are mine however.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/HearMeOut-13"> /u/HearMeOut-13 </a> <br> <span><a href="https://i.redd.it/cfic3dpo5shh1.gif">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vh8x1p/i_ported_colinux_to_x64_and_expanded_the_driver/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[The US Government's Mario, Pokemon and Naruto Meme Posting Could Damage These Franchises, Japanese Officials Warn]]></title>
<description><![CDATA[Japanese officials have repeatedly asked the Trump administration to stop using characters from franchises such as Mario, Pokemon, and Naruto in unauthorized government memes and pro-war videos, warning that the posts could damage the intellectual property involved. IGN reports: Official US gover...]]></description>
<link>https://tsecurity.de/de/3709057/it-security-nachrichten/the-us-governments-mario-pokemon-and-naruto-meme-posting-could-damage-these-franchises-japanese-officials-warn/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709057/it-security-nachrichten/the-us-governments-mario-pokemon-and-naruto-meme-posting-could-damage-these-franchises-japanese-officials-warn/</guid>
<pubDate>Thu, 06 Aug 2026 21:20:05 +0200</pubDate>
<content:encoded><![CDATA[Japanese officials have repeatedly asked the Trump administration to stop using characters from franchises such as Mario, Pokemon, and Naruto in unauthorized government memes and pro-war videos, warning that the posts could damage the intellectual property involved. IGN reports: Official US government social media accounts, including The White House's X account, have posted various memes and videos using characters from popular Japanese anime and games over the past year. Japan's Ministry of Foreign Affairs has repeatedly called on the US government to cease uploading such posts, stating that "It's inappropriate even for public institutions to reproduce copyrighted materials without the rightsholders' consent." This concern was voiced by Minister for Foreign Affairs Toshimitsu Motegi in a parliamentary session back in April, when he made direct reference to a pro-war video that used Nintendo's Wii Sports.
 
However, according to a report by Mainichi Shimbun this week, the Japanese Ministry called on the Trump administration to stop using IPs like Naruto, Pokemon and Mario at least twice more this June through the US Embassy in Japan. Japan requested that the US administration take into account the potential damage to these IPs when used without permission in US policy and pro-war related content.
 
[...] It's not just the Japanese government and related parties who have spoken out against these posts. They have also sparked backlash from Japanese anime fans. Notably, self-proclaimed manga and anime fan Nana Suzuki kicked off the "Protect Japanese Manga" petition on Change.org, which has received international news coverage (from the New York Times, BBC and others). The organizer claims to have submitted their petition to the Japanese Cabinet Office back in March, as well as alerting Japanese politicians to the US government's unauthorized use of Japanese IPs, potentially drawing more official attention to the issue.
 
Renewed backlash was triggered in June, when President Trump shared an AI-generated video depicting himself as Naruto, the protagonist of the popular manga and anime of the same name, on Truth Social. This prompted the petition organizer to reopen the petition "as an urgent effort to convey our protest and concern regarding this matter to the rights holders and to work in solidarity to lobby the Japanese government." The Naruto clip also prompted renewed discussion of this issue in Japan's media and government. As reported in the Hokkaido Shimbun and others, Cabinet Minister Kimi Onoda was asked about it in a June 12th press conference. She emphasized that "obtaining permission from the copyright holder is the underlying principle for fair use," and stated that this position had been conveyed to the US government multiple times through diplomatic channels.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=The+US+Government's+Mario%2C+Pokemon+and+Naruto+Meme+Posting+Could+Damage+These+Franchises%2C+Japanese+Officials+Warn%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F08%2F06%2F186237%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%2Ftech.slashdot.org%2Fstory%2F26%2F08%2F06%2F186237%2Fthe-us-governments-mario-pokemon-and-naruto-meme-posting-could-damage-these-franchises-japanese-officials-warn%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/08/06/186237/the-us-governments-mario-pokemon-and-naruto-meme-posting-could-damage-these-franchises-japanese-officials-warn?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[New Zapscape KVM Flaw Could Let Privileged L1 Guest Code Escape to Linux Hosts]]></title>
<description><![CDATA[Zapscape, a new Linux kernel vulnerability, could allow an attacker with kernel privileges inside an L1 guest virtual machine (VM) to escape KVM isolation and execute code on the host. The risk applies when nested virtualization is exposed to untrusted guests.

The flaw is tracked as CVE-2026-645...]]></description>
<link>https://tsecurity.de/de/3709055/it-security-nachrichten/new-zapscape-kvm-flaw-could-let-privileged-l1-guest-code-escape-to-linux-hosts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709055/it-security-nachrichten/new-zapscape-kvm-flaw-could-let-privileged-l1-guest-code-escape-to-linux-hosts/</guid>
<pubDate>Thu, 06 Aug 2026 21:20:03 +0200</pubDate>
<content:encoded><![CDATA[Zapscape, a new Linux kernel vulnerability, could allow an attacker with kernel privileges inside an L1 guest virtual machine (VM) to escape KVM isolation and execute code on the host. The risk applies when nested virtualization is exposed to untrusted guests.

The flaw is tracked as CVE-2026-64561 and affects KVM/x86's shadow memory management unit (MMU), which manages shadow page]]></content:encoded>
</item>
<item>
<title><![CDATA[Storytime Comes to Gemini on Google Home Devices]]></title>
<description><![CDATA[Gemini for Home is getting its fresh set of features and fixes this week. Inside, Google details Storytime with Gemini, smarter household timekeeping, expanded availability for automations inside of the Google Home app, support for more brands, and plenty else. For Storytime, you can get a custom...]]></description>
<link>https://tsecurity.de/de/3709051/it-nachrichten/storytime-comes-to-gemini-on-google-home-devices/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709051/it-nachrichten/storytime-comes-to-gemini-on-google-home-devices/</guid>
<pubDate>Thu, 06 Aug 2026 21:19:55 +0200</pubDate>
<content:encoded><![CDATA[<p>Gemini for Home is getting its fresh set of features and fixes this week. Inside, Google details Storytime with Gemini, smarter household timekeeping, expanded availability for automations inside of the Google Home app, support for more brands, and plenty else. For Storytime, you can get a custom adventure based on what you tell Gemini. For...</p>
<p>Read the original post: <a href="https://www.droid-life.com/2026/08/06/storytime-comes-to-gemini-on-google-home-devices/">Storytime Comes to Gemini on Google Home Devices</a></p>]]></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[Apple issues another round of macOS security updates as patch frequency increases]]></title>
<description><![CDATA[Apple has rolled out another round of security updates for macOS Tahoe, macOS Sequoia, and macOS Sonoma.Apple releases security updates for Mac operating system lineupThursday's update is the second round of macOS updates to be released in less than two weeks. Apple hasn't explicitly said what ha...]]></description>
<link>https://tsecurity.de/de/3708986/ios-mac-os/apple-issues-another-round-of-macos-security-updates-as-patch-frequency-increases/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708986/ios-mac-os/apple-issues-another-round-of-macos-security-updates-as-patch-frequency-increases/</guid>
<pubDate>Thu, 06 Aug 2026 20:27:20 +0200</pubDate>
<content:encoded><![CDATA[Apple has rolled out another round of security updates for <a href="https://appleinsider.com/inside/macos-tahoe" title="macOS Tahoe" data-kpt="1">macOS Tahoe</a>, macOS Sequoia, and macOS Sonoma.<br><br><div><img src="https://media.appleinsider.com/gallery/68496-144324-MacBook-Pro-M5-Max-display-clock-xl.jpg" alt="Open laptop on a small white desk, displaying a dark screen with a minimalist analog clock, against a pale wall with a soft orange glow in the background"><br><span>Apple releases security updates for Mac operating system lineup</span></div><br>Thursday's update is the second round of macOS updates to be released in less than two weeks. Apple hasn't explicitly said <em>what</em> has been updated, but given that it comes shortly after a previous update, it's a safe bet that it's worth installing.<br><br>The release builds are as follows:<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/apple-issues-another-round-of-macos-security-updates-as-patch-frequency-increases?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245190?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[The 12 Best Protective DNS (PDNS) Services, Compared and Priced (2026)]]></title>
<description><![CDATA[Protective DNS is the rare control where the cheap options are genuinely good so this comparison leads with value. The verdict: DNSFilter is the best published-price PDNS for most organizations, Cloudflare Gateway owns the free-to-enterprise arc (and now runs the UK’s national PDNS with Accenture...]]></description>
<link>https://tsecurity.de/de/3708949/hacking/the-12-best-protective-dns-pdns-services-compared-and-priced-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708949/hacking/the-12-best-protective-dns-pdns-services-compared-and-priced-2026/</guid>
<pubDate>Thu, 06 Aug 2026 20:11:52 +0200</pubDate>
<content:encoded><![CDATA[<p>Protective DNS is the rare control where the cheap options are genuinely good so this comparison leads with value. The verdict: DNSFilter is the best published-price PDNS for most organizations, Cloudflare Gateway owns the free-to-enterprise arc (and now runs the UK’s national PDNS with Accenture), N-able and ScoutDNS serve MSPs at fair rates, CIRA gives […]</p>
<p>The post <a href="https://gbhackers.com/protective-dns-services-compared-pricing/">The 12 Best Protective DNS (PDNS) Services, Compared and Priced (2026)</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[NatJack exploits put NAT security assumptions to the test at Black Hat]]></title>
<description><![CDATA[For decades, Network Address Translation (NAT) has been the default way IP addresses are provided inside larger networks, as a means to deal with the challenges of IPv4 address availability.



The basic premise behind NAT is that private addresses stay private, but that assumption might not be e...]]></description>
<link>https://tsecurity.de/de/3708923/it-security-nachrichten/natjack-exploits-put-nat-security-assumptions-to-the-test-at-black-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708923/it-security-nachrichten/natjack-exploits-put-nat-security-assumptions-to-the-test-at-black-hat/</guid>
<pubDate>Thu, 06 Aug 2026 20:02: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">For decades, Network Address Translation (NAT) has been the default way IP addresses are provided inside larger networks, as a means to deal with the challenges of IPv4 address availability.</p>



<p class="wp-block-paragraph">The basic premise behind NAT is that private addresses stay private, but that assumption might not be entirely accurate anymore (if it ever really was). At <a href="https://blackhat.com/us-26/">Black Hat USA 2026</a>, researcher <a href="https://www.linkedin.com/in/malcolmst/">Malcolm Stagg</a>, an independent researcher and <a href="https://www.synack.com/red-team/">Synack Red Team</a> member, disclosed NatJack, an attack class that manipulates the NAT connection tracking table. </p>



<p class="wp-block-paragraph">An attacker sharing a NAT boundary with a victim can hijack active connections, poison DNS responses, and force <a href="https://www.csoonline.com/article/571981/ddos-attacks-definition-examples-and-techniques.html">denial of service</a>, without the IP spoofing or broadcast domain access older Layer 2 attacks required. Thirteen vendors were notified, and testing covered 32 products and configurations across 95 reports. Every tested implementation was vulnerable to some or all of the NatJack techniques.</p>



<p class="wp-block-paragraph">Stagg didn’t intentionally set out to find flaws in NAT, but he found them. “I kind of ran into this attack entirely by accident,” Stagg told <em>Network World</em>. “I noticed that I was sometimes getting responses that didn’t correspond to the packets that I was sending. That told me that there is some sort of corruption happening inside the NAT table.”</p>



<h2 class="wp-block-heading">What breaks in the NAT trust model</h2>



<p class="wp-block-paragraph">NAT was never built as a security control. It emerged in the early 1990s as a stopgap for <a href="https://www.networkworld.com/article/4200847/networkmanager-update-advances-ipv6-only-support-wi%E2%80%91fi-management-and-security-for-linux-based-operating-systems.html">IPv4 address exhaustion</a>, letting multiple devices share one public IP address under an assumption of trust between peers.</p>



<p class="wp-block-paragraph">“I think it basically goes back to under-specification in some of the RFCs that just allow behaviors based on the assumption that you’re in a network where the peers are trusted,” Stagg said.</p>



<p class="wp-block-paragraph">NAT has been hacked before. Security researcher Samy Kamkar disclosed NAT Pinning at DEF CON 18 and Black Hat in 2010, an early technique for manipulating NAT port behavior. He returned to the problem a decade later with NAT Slipstreaming, disclosed in 2020 and expanded with Armis researchers in 2021, which abused Application Level Gateway (ALG) connection tracking and required a victim to visit a malicious website. Those flaws have all been patched.</p>



<p class="wp-block-paragraph">NatJack is different. It manipulates the NAT table directly, needs no ALG, and requires no victim action beyond an active connection through the same NAT.</p>



<p class="wp-block-paragraph">The flaw does not stop at Layer 2. VLAN segmentation and switch port isolation do not help, since the attack targets shared NAT infrastructure at Layer 3 and Layer 4 rather than the local broadcast domain. The flaw was confirmed across Windows, Linux, and macOS despite no shared NAT codebase, pointing to a shared design assumption rather than an isolated bug.</p>



<h2 class="wp-block-heading">Four attack techniques, one shared weakness</h2>



<p class="wp-block-paragraph">NatJack covers four distinct techniques, all built on the same weakness in how NAT tables track connections.</p>



<ul class="wp-block-list">
<li><strong>TCP connection hijacking.</strong> An attacker forces a victim’s connection into a closed state using spoofed packets, then replaces the resulting table entry with one pointing to the attacker. The RFC 1337 TIME-WAIT Assassination mechanism Stagg identified lets this happen in a handful of packets rather than a standard connection timeout.</li>



<li><strong>DNS response poisoning.</strong> The technique intercepts and alters UDP DNS responses passing through the NAT, redirecting a victim’s lookups without their knowledge.</li>



<li><strong>Denial of service.</strong> An attacker exhausts the NAT table itself, breaking connectivity for every device sharing that NAT.</li>



<li><strong>Connection port identification.</strong> An attacker determines which port a NAT has assigned to an active connection, information that can support the other three techniques.</li>
</ul>



<h2 class="wp-block-heading">Disclosure and a mixed vendor response</h2>



<p class="wp-block-paragraph">Stagg responsibly disclosed the flaw, though vendor reaction has varied widely, from formal patches to outright rejection. </p>



<p class="wp-block-paragraph">The Linux kernel security team initially dismissed the report, going so far as to call the report- totally bogus. Stagg said the response caught him off guard. “I was pretty surprised by that,” Stagg said. “Getting that response was a little bit unexpected, and a little discouraging.”</p>



<p class="wp-block-paragraph">The kernel was eventually patched at Microsoft’s request to support Azure Kubernetes Service, resulting in CVE-2026-63913. Microsoft’s own Windows NAT vulnerability, affecting Hyper-V, was assigned CVE-2026-56181.</p>



<p class="wp-block-paragraph">Other vendors declined to classify the findings as vulnerabilities. “These reports are design-level NAT limitations rather than security vulnerabilities,” Cisco PSIRT said. “There are documented mitigations for the Cisco Secure Firewall and Cisco IOS XE products which would prevent most, if not all of these issues.”</p>



<p class="wp-block-paragraph">Apple took a similar position. “We’ve determined the behavior reflects a known limitation of the transport layer rather than a vulnerability,” Apple Product Security said. “Modern security models assume the local network may be hostile. This is why we continue to rely on end to end encryption, such as TLS.”</p>



<p class="wp-block-paragraph">Stagg noted that while encryption blunts the worst outcomes of NatJack, it does not eliminate the risk. “Encryption is a great help here because an attacker can still hijack a connection, but if they do, they can’t send or receive any data over that connection unencrypted,” Stagg said. “An attacker can still target and remove any of those connections.”</p>



<h2 class="wp-block-heading">Detection and mitigation</h2>



<p class="wp-block-paragraph">Even without full patches available, there are steps that network professionals can take to limit risk. Stagg suggests the following:</p>



<ul class="wp-block-list">
<li><strong>Monitor for compromise indicators. </strong>Watch for a full or near-full NAT table, floods of TCP or UDP packets across a wide port range, the same IP address appearing at two physical locations, and anomalous SYN or RST packet sequences.</li>



<li><strong>Enable source IP protection.</strong> Turn on protections such as IP Source Guard to block spoofed packets at the router or firewall.</li>



<li><strong>Segment untrusted traffic.</strong> Place untrusted users on a separate subnet or VLAN, and cap connections per client at roughly under 10,000.</li>



<li><strong>Disable loose connection modes.</strong> Turn off loose connection tracking, port preservation, and endpoint-independent mapping where supported.</li>



<li><strong>Restrict container network access.</strong> Disable network access for untrusted containers and Kubernetes workloads, avoid running as root, and drop default capabilities.</li>



<li><strong>Isolate cloud workloads.</strong> Keep untrusted and trusted workloads off the same NAT gateway, and use dedicated IPs for serverless workloads.</li>
</ul>



<p class="wp-block-paragraph">“One of the attack variations does still work in cases where the attacker and victim are located in different subnets,” Stagg said.</p>



<p class="wp-block-paragraph">Stagg said the underlying lesson of NatJack extends beyond any single patch.</p>



<p class="wp-block-paragraph">“A lot of networks are vulnerable to this, and you can’t always rely on the Layer 2 isolations that are in place,” Stagg said. “When you’re relying on historical design choices, those threat models might not be the same now as they were back then. It’s important to look at those design assumptions and see if there are any updates that might be necessary based on the new threat models.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Enterprise passkey security under threat from malware]]></title>
<description><![CDATA[Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.
...]]></description>
<link>https://tsecurity.de/de/3708886/ai-nachrichten/enterprise-passkey-security-under-threat-from-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708886/ai-nachrichten/enterprise-passkey-security-under-threat-from-malware/</guid>
<pubDate>Thu, 06 Aug 2026 19:46: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">Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.</p>



<p class="wp-block-paragraph">They also pointed out that the issues are not strictly caused by holes in passkeys so much as by weaknesses in the procedures surrounding them. </p>



<p class="wp-block-paragraph">“The researchers didn’t break the underlying cryptography. They exploited the seams around it: onboarding flows, recovery mechanisms and trust signals that weren’t being validated,” said <a href="https://acceligence.com/talent/profiles/justin-greis/" target="_blank" rel="noreferrer noopener">Justin Greis</a>, CEO of consulting firm Acceligence. “That distinction matters because it tells us where the actual risk lives.”</p>



<p class="wp-block-paragraph">The <a href="https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/" target="_blank" rel="noreferrer noopener">Palo Alto report</a> showed attacks that, it said, “demonstrate how malware on a compromised endpoint can misuse onboarding, recovery and device trust workflows to take over passkey-protected accounts,” as well as “how an attacker can authenticate without user interaction, bypass user verification requirements and extract all synced passkey private keys.”</p>



<p class="wp-block-paragraph">Palo Alto described three categories of attack, collectively dubbed Pass-ta-key: Pass-ta-key, where an attacker takes over an account protected by a Google-synced passkey using malware running on the victim’s device, without requiring privilege escalation, device unlock or user interaction; Silver Pass-ta-key, which involves an attacker tricking Google Cloud Authenticator into believing the victim has unlocked the device with biometrics, leading to full account takeover without using the victim’s device during authentication; and Golden Pass-ta-key, which allows an attacker to extract all synced passkeys in a form that lets them be shared or sold on the credential black market.</p>



<p class="wp-block-paragraph">Given the complexity of most global enterprise threat surfaces, <a href="https://www.csoonline.com/article/4085426/your-passwordless-future-may-never-fully-arrive.html" target="_blank">some CISOs have struggled</a> with adapting passwordless processes to environments with legacy and virtual environments. Passcodes have <a href="https://www.csoonline.com/article/4197086/microsoft-is-forcing-an-enterprise-transition-to-passkeys-2.html" target="_blank">been recently embraced</a> by enterprise CISOs as the first step in implementing a passwordless strategy.</p>



<p class="wp-block-paragraph">Analysts and consultants in the main agreed that the flaw Palo Alto reports is significant, despite the fact that it assumes the attacker has already penetrated an environment and successfully installed malware. Sadly, given that such penetration only requires one privileged user anywhere to accidentally click on a poisoned link or attachment, the assumption of prior penetration is likely valid.</p>



<h2 class="wp-block-heading">Implementation issues are the problem</h2>



<p class="wp-block-paragraph">What the report reveals is less about any flaws within passcodes directly, and more about the lack of attention paid to a wide range of mechanisms surrounding them. </p>



<p class="wp-block-paragraph">Greis said CISOs now need to focus on what to do, and what to test, based on the assumption that user behavior is not always as expected. </p>



<p class="wp-block-paragraph">In several cases cited in the report, he pointed out, issues occurred “not because the standard is flawed, but because implementations haven’t caught up to it. It mirrors what we’ve seen repeatedly in security: the specification is sound, but the ecosystem implementing it is uneven.”</p>



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, agreed. </p>



<p class="wp-block-paragraph">“On any service where your organization is the relying party, require user verification and actually validate the user-verified flag in the authentication response,” he said. “The researchers found real-world services accepting logins without it, which quietly collapses a multi-factor login back into a single factor.”</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, added that he would stress to CISOs that this attack assumes a prior successful penetration. </p>



<p class="wp-block-paragraph">“This isn’t passkeys getting hacked from across the internet. It’s what [an attacker] does once they’re already inside the house. So the real headline is that ‘phishing resistant’ stops being resistant the moment the endpoint stops being clean,” he said.</p>



<p class="wp-block-paragraph">“Stop treating verification as optional,” he advised. “Flip it to required, check it server side every single time, and save your hardware bound keys, the YubiKeys of the world, for the accounts that matter most. A key that never leaves a physical device is a key no attacker can ever harvest in bulk.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/orfink/" target="_blank" rel="noreferrer noopener">Or Finkelstein</a>, head of marketing at Secret Double Octopus, agreed that CISOs have gotten complacent about the way in which systems support passkeys.</p>



<p class="wp-block-paragraph">“CISOs should probably look at how user verification is enforced, how enrollment and recovery work, have a clear and enforced policy on whether credentials are synced or device-bound, and have some ITDR system to quickly mitigate suspicious endpoints and authenticators,” he said. “In most serious enterprise environments, EDR and device management reduce the likelihood of initial attacks, but do not close every post-compromise attack path.”</p>



<h2 class="wp-block-heading">Poor support processes weaken passkeys</h2>



<p class="wp-block-paragraph">Some have argued that the lack of sufficiently robust support processes actually weakens passkey capabilities and undermines the whole point of such systems.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jwgoerlich/" target="_blank" rel="noreferrer noopener">J. Wolfgang Goerlich</a>, a member of the faculty of IANS and a longtime cybersecurity consultant, pointed out that the original FIDO2 spec eliminated credential theft by binding the private key to a physical authenticator. Synced passkeys reintroduced credential portability and therefore reintroduced the form of credential theft risk cited in the Palo Alto report.</p>



<p class="wp-block-paragraph">“A passwordless system is exactly as strong as the flow that re-establishes it,” he said. “Both serious techniques here start by forcing a device to re-enroll. Many security teams have never modeled, never monitored and never rehearsed a response to this.”</p>



<p class="wp-block-paragraph">Goerlich’s advice to CISOs is to require device-bound authenticators, such as hardware tokens or computers, for all privileged and sensitive access. They may consider allowing wallets for lower risk access, he said, “however, much like passwords in Web browsers have long been at risk, we must now consider passkeys in the browsers an unacceptable risk.”</p>



<p class="wp-block-paragraph">This article originally appeared on <a href="https://www.csoonline.com/article/4205751/report-passkey-security-issues-could-allow-account-takeover.html" target="_blank">CSOonline</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI says Apple’s own security practices undermine its trade secrets case]]></title>
<description><![CDATA[Newly filed court exhibits show OpenAI’s legal strategy in Apple’s trade secrets lawsuit: argue that Apple’s own security and offboarding practices — including allowing an Apple manager to access a former engineer’s iCloud account after he left the company —undermine its claims that the allegedly...]]></description>
<link>https://tsecurity.de/de/3708880/ai-nachrichten/openai-says-apples-own-security-practices-undermine-its-trade-secrets-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708880/ai-nachrichten/openai-says-apples-own-security-practices-undermine-its-trade-secrets-case/</guid>
<pubDate>Thu, 06 Aug 2026 19:46:34 +0200</pubDate>
<content:encoded><![CDATA[Newly filed court exhibits show OpenAI’s legal strategy in Apple’s trade secrets lawsuit: argue that Apple’s own security and offboarding practices — including allowing an Apple manager to access a former engineer’s iCloud account after he left the company —undermine its claims that the allegedly stolen information was properly protected.]]></content:encoded>
</item>
<item>
<title><![CDATA[One pasted Terminal command opens the door to Mac crypto wallet theft]]></title>
<description><![CDATA[Researchers have uncovered Mac malware that can steal credentials and drain all or a selected percentage of a cryptocurrency wallet, in yet another reminder not to paste random commands from the internet into Terminal.New malware via ClickFixThe Go-based malware arrived through a ClickFix attack,...]]></description>
<link>https://tsecurity.de/de/3708807/ios-mac-os/one-pasted-terminal-command-opens-the-door-to-mac-crypto-wallet-theft/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708807/ios-mac-os/one-pasted-terminal-command-opens-the-door-to-mac-crypto-wallet-theft/</guid>
<pubDate>Thu, 06 Aug 2026 19:32:14 +0200</pubDate>
<content:encoded><![CDATA[Researchers have uncovered <a href="https://appleinsider.com/inside/mac" title="Mac" data-kpt="1">Mac</a> malware that can steal credentials and drain all or a selected percentage of a cryptocurrency wallet, in yet another reminder not to paste random commands from the internet into Terminal.<br><br><div><img src="https://media.appleinsider.com/gallery/68491-144300-0913CA19-2542-4C9E-AC5A-17B59323EFD9-xl.jpg" alt="Open laptop on a desk displaying a large security warning dialog about an unexpected system error, asking for an administrator password, with a Huntress logo and a prominent blue Recover button"><span>New malware via ClickFix</span></div><br>The Go-based malware arrived through a <a href="https://appleinsider.com/articles/26/03/10/bad-captcha-in-the-wild-tricks-mac-users-into-installing-malware-through-terminal">ClickFix attack</a>, which disguises a malicious instruction as a CAPTCHA or error message. Instead of exploiting <a href="https://appleinsider.com/inside/macos" title="macOS" data-kpt="1">macOS</a>, the attackers persuaded the victim to run the command that installed their malware for them.<br><br>Once executed, a Bash script profiled the Mac and downloaded a payload built for either <a href="https://appleinsider.com/inside/apple-silicon" title="Apple Silicon" data-kpt="1">Apple Silicon</a> or Intel hardware. It then deleted its temporary file, cleared the Terminal window and removed the command from shell history.<br><br>Security analysts at Huntress found the infection during a retrospective threat hunt in June on a monitored Mac that had been compromised approximately three months earlier. The security company published its findings on August 6.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/one-pasted-terminal-command-opens-the-door-to-mac-crypto-wallet-theft?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245187?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple sweetens its trade-in deals, but you can still do better]]></title>
<description><![CDATA[Apple has significantly increased how much it pays you to trade in most devices, but you should compare carrier offerings, other trade-in vendors, and private sale values to get the most for your hardware.Apple has increased its trade-in values for many, but not all, iPhones - image credit: Apple...]]></description>
<link>https://tsecurity.de/de/3708808/ios-mac-os/apple-sweetens-its-trade-in-deals-but-you-can-still-do-better/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708808/ios-mac-os/apple-sweetens-its-trade-in-deals-but-you-can-still-do-better/</guid>
<pubDate>Thu, 06 Aug 2026 19:32:14 +0200</pubDate>
<content:encoded><![CDATA[Apple has significantly increased how much it pays you to trade in most devices, but you should compare carrier offerings, other trade-in vendors, and private sale values to get the most for your hardware.<br><br><div><img src="https://media.appleinsider.com/gallery/68489-144306-000-lead-ttade-in-d3-xl.jpg" alt="Apple tradein promotion showing four iPhone 16 models in different colors, with text offering $40-$720 credit for trading in various iPhone models and a button to find tradein value"><br><span>Apple has increased its trade-in values for many, but not all, iPhones - image credit: Apple</span></div><br>There's no question but that Apple is looking down the barrel of weaker than usual sales for the forthcoming <a href="https://appleinsider.com/inside/iphone-18" title="iPhone 18" data-kpt="1">iPhone 18 Pro</a>. No matter how good that smartphone is, it comes at a time when the global chip shortage has forced prices up.<br><br>Apple's plans to beat those component cost increases have not gone well, but it is doing better fighting the battle on other fronts. First it launched the leasing program Apple Upgrade so that up-front device <a href="https://povh.appleinsider.com/?go=edit_article&amp;id=67755&amp;draft">costs are lower</a>, and now it's stepped up its <a href="https://www.apple.com/shop/trade-in">trade-in game</a>.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/apple-sweetens-its-trade-in-deals-but-you-can-still-do-better?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245186?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lucky Season 1, Episode 5 Recap: Lucky Finds the Missing $10 Million]]></title>
<description><![CDATA[Lucky Season 1, Episode 5 slows the chase long enough for Lucky Armstrong to face the damage caused by her criminal life. Titled “Are We Bad People?”, the episode follows Lucky after Cary’s death and ends with a calculated surrender that appears to be part of another con.




Episode title: “Are ...]]></description>
<link>https://tsecurity.de/de/3708798/ios-mac-os/lucky-season-1-episode-5-recap-lucky-finds-the-missing-10-million/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708798/ios-mac-os/lucky-season-1-episode-5-recap-lucky-finds-the-missing-10-million/</guid>
<pubDate>Thu, 06 Aug 2026 19:27:08 +0200</pubDate>
<content:encoded><![CDATA[Lucky Season 1, Episode 5 slows the chase long enough for Lucky Armstrong to face the damage caused by her criminal life. Titled “Are We Bad People?”, the episode follows Lucky after Cary’s death and ends with a calculated surrender that appears to be part of another con.




Episode title: “Are We Bad People?”



Release date: August 5, 2026



Genre: Crime, drama and thriller



Streaming service: Apple TV



Season length: Seven episodes



Finale date: August 19, 2026




Lucky begins questioning her choices



Spoiler warning: This recap contains major spoilers for Lucky Season 1, Episode 5.



Episode 5 begins after the deadly car crash that killed Cary. Lucky escapes by pretending that an injured older woman is her grandmother, allowing her to travel to the hospital without raising immediate suspicion.



At the hospital, Lucky meets Dana, Agent Billie Rand’s daughter, crying in a bathroom. Neither woman knows the other’s identity, and Lucky comforts her without expecting anything in return. The scene shows that Lucky’s growing guilt has started changing how she treats the people around her.



A childhood flashback explains where her confused moral code began. Young Lucky asks her father, John, whether they are bad people, but he avoids giving her a clear answer and teaches her to view right and wrong as flexible ideas.



Later, Lucky reaches a hotel and speaks with a man at the bar. She admits that she originally planned to manipulate him into paying for her drink and room. However, she stops the con and openly questions the kind of person she has become.



Lucky discovers Cary’s hidden fortune



Lucky attends Cary’s funeral and tells Priscilla that she does not have the stolen money. Cary converted the fortune into digital currency, but Lucky cannot access it without the correct seed phrase.



The answer comes from Cary’s stuffed bear. When Lucky hits the toy in frustration, a recording of Cary’s voice plays the missing seed phrase. The discovery gives Lucky access to nearly $10 million and returns some control to her.



Meanwhile, Priscilla confronts Wayne, who is revealed as Cary’s biological father. She blames him for abandoning Cary, but Wayne shows little concern and remains focused on recovering the money.



Why do Lucky and John surrender?



Rand learns about Lucky’s connection to her father through Dana and arranges John’s unexpected release from prison. She plans to follow him and use him to locate Lucky.



Lucky and John immediately recognise the trap. However, they decide to meet anyway and willingly surrender when Rand’s team surrounds them.



Lucky ends the episode by telling Rand, “Took you long enough,” suggesting that the arrest forms part of a larger plan. With two episodes left, Lucky now has the money, access to her father and a possible way to bring down Priscilla and Wayne.



What do you think Lucky plans to do from inside federal custody? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Ted Lasso Season 4 Episode 2 Preview: What Happens Next at Richmond?]]></title>
<description><![CDATA[Ted Lasso Season 4 Episode 2 will finally bring Ted back to Richmond, where he must begin building a competitive women’s football team almost from the ground up.



The episode, titled “Curiouser and Curiouser!”, arrives after a premiere that focused on Ted’s quieter life in Kansas City and the d...]]></description>
<link>https://tsecurity.de/de/3708797/ios-mac-os/ted-lasso-season-4-episode-2-preview-what-happens-next-at-richmond/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708797/ios-mac-os/ted-lasso-season-4-episode-2-preview-what-happens-next-at-richmond/</guid>
<pubDate>Thu, 06 Aug 2026 19:26:17 +0200</pubDate>
<content:encoded><![CDATA[Ted Lasso Season 4 Episode 2 will finally bring Ted back to Richmond, where he must begin building a competitive women’s football team almost from the ground up.



The episode, titled “Curiouser and Curiouser!”, arrives after a premiere that focused on Ted’s quieter life in Kansas City and the difficult decision that sends him back to England. Episode 2 releases on Apple TV on Wednesday, August 12, 2026.




Episode title: Curiouser and Curiouser!



Release date: August 12, 2026



Streaming service: Apple TV



Genre: Sports comedy-drama



Season length: 10 episodes



Release schedule: New episodes every Wednesday



Season finale: October 7, 2026




Apple sometimes makes new episodes available late Tuesday evening in the United States, although the official listed release date remains Wednesday.



What happens next in Ted Lasso Season 4 Episode 2?



Spoilers for Season 4 Episode 1 follow.



The premiere ends with Ted agreeing to return to London and coach AFC Richmond’s new second-division women’s team. Michelle and Henry will also move with him, removing the family separation that shaped Ted’s decision to leave Richmond at the end of Season 3.



Episode 2 will likely cover Ted’s first proper day back at the club. Rebecca, Keeley and Higgins have already completed their mission by convincing him to return, so the story can now shift toward the Lady Greyhounds, their players and the difficult work required to make the new team successful.



Ted will also meet assistant coach Alice Chilton, played by Tanya Reynolds. The new squad includes several fresh characters played by Abbie Hern, Jude Mack and Faye Marsay, giving the series a new group of personalities and conflicts to explore.



The episode title suggests that Ted will enter a Richmond setup that feels familiar but operates very differently. He knows the club, the stadium and many members of its staff, although he has never coached a professional women’s team. That change should create questions about his methods, his authority and how quickly the players will trust him.



Roy Kent’s position also needs clarification. Season 3 ended with Roy managing Richmond’s men’s team, while Beard and Nate remained part of the coaching structure. Episode 2 should reveal how those coaches fit into Ted’s return and whether the women’s and men’s teams will regularly share facilities, staff and storylines.



How Season 3 prepared Richmond’s new story



Season 3 ended with Keeley proposing the creation of an AFC Richmond women’s team, an idea Rebecca immediately supported. Ted returned to Kansas to remain close to Henry, Roy became Richmond’s manager, and Rebecca kept control of the club while selling part of it to supporters.



Season 4 now develops that proposal into its central story. The Lady Greyhounds will face limited resources, public pressure and the challenge of earning respect in the second division. Ted must also prove that his coaching philosophy can work with a completely new squad.



Ted Lasso Season 4 Episode 2 should give viewers their first real look at the new Richmond team and the challenges waiting inside its locker room. What do you think Ted will change first at the club? Let us know in the comments.]]></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[VMware Workstation unable to connect to its ideal host controller]]></title>
<description><![CDATA[If you are seeing VMware Workstation unable to connect to its ideal host controller, the problem is usually related to USB passthrough or the VMware USB controller inside the virtual machine. This error often appears when VMware cannot claim the USB device cleanly from the host machine. The devic...]]></description>
<link>https://tsecurity.de/de/3708768/windows-tipps/vmware-workstation-unable-to-connect-to-its-ideal-host-controller/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708768/windows-tipps/vmware-workstation-unable-to-connect-to-its-ideal-host-controller/</guid>
<pubDate>Thu, 06 Aug 2026 19:15:07 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="700" height="357" src="https://www.thewindowsclub.com/wp-content/uploads/2026/07/vmware-workstation-error.png" class="attachment-full size-full wp-post-image" alt="VMware Workstation unable to connect to its ideal host controller" decoding="async" fetchpriority="high" srcset="https://www.thewindowsclub.com/wp-content/uploads/2026/07/vmware-workstation-error.png 700w, https://www.thewindowsclub.com/wp-content/uploads/2026/07/vmware-workstation-error-500x255.png 500w, https://www.thewindowsclub.com/wp-content/uploads/2026/07/vmware-workstation-error-300x153.png 300w" sizes="(max-width: 700px) 100vw, 700px">If you are seeing VMware Workstation unable to connect to its ideal host controller, the problem is usually related to USB passthrough or the VMware USB controller inside the virtual machine. This error often appears when VMware cannot claim the USB device cleanly from the host machine. The device was unable to connect to its […]</p>
<p>This article <a href="https://www.thewindowsclub.com/vmware-workstation-unable-to-connect-to-its-ideal-host-controller">VMware Workstation unable to connect to its ideal host controller</a> first appeared on <a href="https://www.thewindowsclub.com/">TheWindowsClub.com</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ABB Ability Zenon]]></title>
<description><![CDATA[View CSAF
Summary
Successful exploitation of these vulnerabilities could allow attackers to bypass security, crash systems, execute unauthorized actions, or compromise data.
The following versions of ABB Ability Zenon are affected:

IIoT services with MongoDB (4.2) installed on ABB Ability Zenon ...]]></description>
<link>https://tsecurity.de/de/3708685/it-security-nachrichten/abb-ability-zenon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708685/it-security-nachrichten/abb-ability-zenon/</guid>
<pubDate>Thu, 06 Aug 2026 19:07:23 +0200</pubDate>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-218-01.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>Successful exploitation of these vulnerabilities could allow attackers to bypass security, crash systems, execute unauthorized actions, or compromise data.</strong></p>
<p>The following versions of ABB Ability Zenon are affected:</p>
<ul>
<li>IIoT services with MongoDB (4.2) installed on ABB Ability Zenon vers:all/* </li>
</ul>
<div class="csaf-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS</th>
<th role="columnheader">Vendor</th>
<th role="columnheader">Equipment</th>
<th role="columnheader">Vulnerabilities</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3 7.8</td>
<td>ABB</td>
<td>ABB Ability Zenon</td>
<td>Improper Handling of Length Parameter Inconsistency, Improper Neutralization of Null Byte or NUL Character, Collapse of Data into Unsafe Value, Undefined Behavior for Input to API, Incorrect Regular Expression, Uncaught Exception, Reachable Assertion, Allocation of Resources Without Limits or Throttling, Out-of-bounds Write, Improper Output Neutralization for Logs, Improper Certificate Validation, Execution with Unnecessary Privileges</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Chemical, Communications, Critical Manufacturing, Dams, Energy, Healthcare and Public Health, Information Technology, Water and Wastewater</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Switzerland</li>
</ul>
<hr>
<h2>Vulnerabilities</h2>
<div class="csaf-accordion">
<p><a class="csaf-accordion-toggle-all" href="https://www.cisa.gov/#">Expand All +</a></p>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-14847</a></h3>
<div class="csaf-accordion-content">
<p>Mismatched length fields in Zlib compressed protocol headers may allow a read of uninitialized heap memory by an unauthenticated client. This issue affects all MongoDB Server v7.0 prior to 7.0.28 versions, MongoDB Server v8.0 versions prior to 8.0.17, MongoDB Server v8.2 versions prior to 8.2.3, MongoDB Server v6.0 versions prior to 6.0.27, MongoDB Server v5.0 versions prior to 5.0.32, MongoDB Server v4.4 versions prior to 4.4.30, MongoDB Server v4.2 versions greater than or equal to 4.2.0, MongoDB Server v4.0 versions greater than or equal to 4.0.0, and MongoDB Server v3.6 versions greater than or equal to 3.6.0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14847">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/130.html">CWE-130 Improper Handling of Length Parameter Inconsistency</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
<tr>
<td>4.0</td>
<td>8.7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7928</a></h3>
<div class="csaf-accordion-content">
<p>A user authorized to perform database queries may trigger a read overrun and access arbitrary memory by issuing specially crafted queries. This issue affects MongoDB Server v4.4 versions prior to 4.4.1; MongoDB Server v4.2 versions prior to 4.2.9; MongoDB Server v4.0 versions prior to 4.0.20 and MongoDB Server v3.6 versions prior to 3.6.20.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7928">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/158.html">CWE-158 Improper Neutralization of Null Byte or NUL Character</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7921</a></h3>
<div class="csaf-accordion-content">
<p>Improper serialization of internal state in the authorization subsystem in MongoDB Server's authorization subsystem permits a user with valid credentials to bypass IP whitelisting protection mechanisms following administrative action. This issue affects MongoDB Server v4.2 versions prior to 4.2.3; MongoDB Server v4.0 versions prior to 4.0.15; MongoDB Server v4.3 versions prior to 4.3.3 and MongoDB Server v3.6 versions prior to 3.6.18.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7921">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/182.html">CWE-182 Collapse of Data into Unsafe Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N">CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7925</a></h3>
<div class="csaf-accordion-content">
<p>Incorrect validation of user input in the role name parser may lead to use of uninitialized memory allowing an unauthenticated attacker to use a specially crafted request to cause a denial of service. This issue affects MongoDB Server v4.4 versions prior to 4.4.0-rc12; MongoDB Server v4.2 versions prior to 4.2.9.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7925">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/475.html">CWE-475 Undefined Behavior for Input to API</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7929</a></h3>
<div class="csaf-accordion-content">
<p>A user authorized to perform database queries may trigger denial of service by issuing specially crafted query contain a type of regex. This issue affects MongoDB Server v3.6 versions prior to 3.6.21 and MongoDB Server v4.0 versions prior to 4.0.20.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7929">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/185.html">CWE-185 Incorrect Regular Expression</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7923</a></h3>
<div class="csaf-accordion-content">
<p>A user authorized to perform database queries may cause denial of service by issuing specially crafted queries, which violate an invariant in the query subsystem's support for geoNear. This issue affects MongoDB Server v4.4 versions prior to 4.4.0-rc7; MongoDB Server v4.2 versions prior to 4.2.8 and MongoDB Server v4.0 versions prior to 4.0.19.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7923">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/248.html">CWE-248 Uncaught Exception</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20330</a></h3>
<div class="csaf-accordion-content">
<p>An attacker with basic CRUD permissions on a replicated collection can run the applyOps command with specially malformed oplog entries, resulting in a potential denial of service on secondaries. This issue affects MongoDB Server v4.0 versions prior to 4.0.27; MongoDB Server v4.2 versions prior to 4.2.16; MongoDB Server v4.4 versions prior to 4.4.9.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20330">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/617.html">CWE-617 Reachable Assertion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-32036</a></h3>
<div class="csaf-accordion-content">
<p>An authenticated user without any specific authorizations may be able to repeatedly invoke the features command where at a high volume may lead to resource depletion or generate high lock contention. This may result in denial of service and in rare cases could result in id field collisions. This issue affects MongoDB Server v5.0 versions prior to and including 5.0.3; MongoDB Server v4.4 versions prior to and including 4.4.9; MongoDB Server v4.2 versions prior to and including 4.2.16 and MongoDB Server v4.0 versions prior to and including 4.0.28</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-32036">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/770.html">CWE-770 Allocation of Resources Without Limits or Throttling</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-32040</a></h3>
<div class="csaf-accordion-content">
<p>It may be possible to have an extremely long aggregation pipeline in conjunction with a specific stage/operator and cause a stack overflow due to the size of the stack frames used by that stage. If an attacker could cause such an aggregation to occur, they could maliciously crash MongoDB in a DoS attack. This vulnerability affects MongoDB Server v4.4 versions prior to and including 4.4.28, MongoDB Server v5.0 versions prior to 5.0.4 and MongoDB Server v4.2 versions prior to 4.2.16. Workaround: &gt;= v4.2.16 users and all v4.4 users can add the --setParameter internalPipelineLengthLimit=50 instead of the default 1000 to mongod at startup to prevent a crash.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-32040">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20333</a></h3>
<div class="csaf-accordion-content">
<p>Sending specially crafted commands to a MongoDB Server may result in artificial log entries being generated or for log entries to be split. This issue affects MongoDB Server v3.6 versions prior to 3.6.20; MongoDB Server v4.0 versions prior to 4.0.21 and MongoDB Server v4.2 versions prior to 4.2.10.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20333">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/117.html">CWE-117 Improper Output Neutralization for Logs</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7924</a></h3>
<div class="csaf-accordion-content">
<p>Usage of specific command line parameter in MongoDB Tools which was originally intended to just skip hostname checks, may result in MongoDB skipping all certificate validation. This may result in accepting invalid certificates. This issue affects: MongoDB Inc. MongoDB Database Tools 3.6 versions later than 3.6.5; 3.6 versions prior to 3.6.21; 4.0 versions prior to 4.0.21; 4.2 versions prior to 4.2.11; 100 versions prior to 100.2.0. MongoDB Inc. Mongomirror 0 versions later than 0.6.0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7924">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/295.html">CWE-295 Improper Certificate Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20328</a></h3>
<div class="csaf-accordion-content">
<p>Specific versions of the Java driver that support client-side field level encryption (CSFLE) fail to perform correct host name verification on the KMS server's certificate. This vulnerability in combination with a privileged network position active MITM attack could result in interception of traffic between the Java driver and the KMS service rendering Field Level Encryption ineffective. This issue was discovered during internal testing and affects all versions of the Java driver that support CSFLE. The Java async, Scala, and reactive streams drivers are not impacted. This vulnerability does not impact driver traffic payloads with CSFLE-supported key services originating from applications residing inside the AWS, GCP, and Azure network fabrics due to compensating controls in these environments. This issue does not impact driver workloads that don't use Field Level Encryption.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20328">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/295.html">CWE-295 Improper Certificate Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N">CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20334</a></h3>
<div class="csaf-accordion-content">
<p>A malicious 3rd party with local access to the Windows machine where MongoDB Compass is installed can execute arbitrary software with the privileges of the user who is running MongoDB Compass. This issue affects: MongoDB Inc. MongoDB Compass 1.x version 1.3.0 on Windows and later versions; 1.x versions prior to 1.25.0 on Windows.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20334">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/250.html">CWE-250 Execution with Unnecessary Privileges</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>ABB PSIRT reported these vulnerabilities to CISA</li>
</ul>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the risk of exploitation of these vulnerabilities.</p>
<p>Minimize network exposure for all control system devices and/or systems, ensuring they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolating them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs). Recognize VPNs may have vulnerabilities, should be updated to the most recent version available, and are only as secure as the connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets.</p>
<p>Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<p>No known public exploitation specifically targeting these vulnerabilities has been reported to CISA at this time.</p>
<hr>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-07-30</li>
</ul>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Date</th>
<th role="columnheader">Revision</th>
<th role="columnheader">Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>2026-07-30</td>
<td>1</td>
<td>Initial Publication</td>
</tr>
<tr>
<td>2026-08-06</td>
<td>2</td>
<td>Initial Republication of ABB PSIRT 9AKK108472A9037</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[Toolkit Hidden Inside Oracle Database Evades Endpoint Tools]]></title>
<description><![CDATA[Attackers used SQL injection to compile a post-exploitation toolkit inside an Oracle database]]></description>
<link>https://tsecurity.de/de/3708677/it-security-nachrichten/toolkit-hidden-inside-oracle-database-evades-endpoint-tools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708677/it-security-nachrichten/toolkit-hidden-inside-oracle-database-evades-endpoint-tools/</guid>
<pubDate>Thu, 06 Aug 2026 19:05:35 +0200</pubDate>
<content:encoded><![CDATA[Attackers used SQL injection to compile a post-exploitation toolkit inside an Oracle database]]></content:encoded>
</item>
<item>
<title><![CDATA[Why governance is the accelerator for coding agents]]></title>
<description><![CDATA[Governance is what lets a team run coding agents and stand behind what they ship. As more code originates from agents, the question every engineering leader is now answering is not how fast the work moves, but who owns it and how it gets checked before it lands.



The teams pulling ahead decide ...]]></description>
<link>https://tsecurity.de/de/3708634/it-nachrichten/why-governance-is-the-accelerator-for-coding-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708634/it-nachrichten/why-governance-is-the-accelerator-for-coding-agents/</guid>
<pubDate>Thu, 06 Aug 2026 19:04:08 +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">Governance is what lets a team run coding agents and stand behind what they ship. As more code originates from agents, the question every engineering leader is now answering is not how fast the work moves, but who owns it and how it gets checked before it lands.</p>



<p class="wp-block-paragraph">The teams pulling ahead decide on the boundaries and the checks in advance. That’s what makes it safe to hit the accelerator: handing agents real work, with the right context in front of them, instead of the supervised busywork you get when no one trusts the output.</p>



<p class="wp-block-paragraph"><strong>Manual review doesn’t scale, it just moves the bottleneck</strong></p>



<p class="wp-block-paragraph">Reviewing everything by hand feels responsible, and at low volume it works. It falls apart the moment agents produce more than people can read. A team that inspects every change by hand just moves the constraint from writing code to approving it, and the queue that forms there is as long as the one it replaced.</p>



<p class="wp-block-paragraph">Worse, blanket caution treats every change as equally risky, so a copy tweak and a change to the authentication layer get the same scrutiny. Attention gets spread evenly across all kinds of work, which means the actually risky changes get less review time. Caution without structure doesn’t make you safer. It just slows you down.</p>



<p class="wp-block-paragraph"><strong>Governance should be infrastructure, not process</strong></p>



<p class="wp-block-paragraph">Governance done well is a set of decisions made once, in advance, so they don’t have to be relitigated on every change and so agents spend tokens on work that ships instead of reruns and reverts.</p>



<p class="wp-block-paragraph">1.       <strong>Scope: what each agent can touch, and what it can see.</strong> An agent working on documentation should not be able to modify how the system handles credentials. Defining those boundaries up front does double duty: it keeps most agent work inside areas where mistakes are cheap and recoverable, and it gives each agent the right context for its task instead of the whole codebase. Scope is where governance and good context come together, and it’s a big part of why governed agent programs produce better work.</p>



<p class="wp-block-paragraph">2.      <strong>Policy that runs itself.</strong> The parts of a CI/CD pipeline can run automatically on every change: tests pass, security scans clear, dependencies are approved, and anything touching a sensitive system routes to a required human owner. Encoded as policy, these run on both the first change and the ten-thousandth without fatigue, which is exactly the property you want when volume climbs.</p>



<p class="wp-block-paragraph">3.      <strong>Ownership that’s never ambiguous.</strong> Every change, whoever or whatever produced it, has a named person accountable for accepting it and standing behind it. Ownership is what keeps velocity from turning into a diffusion of responsibility, and it’s what lets you trace any decision back to a person when something goes wrong.</p>



<p class="wp-block-paragraph"><strong>What governed agent programs actually look like</strong></p>



<p class="wp-block-paragraph">Put those decisions in place and you can give agents more room without worrying about them running wild. When the boundaries are clear and the checks run on their own, letting an agent work in a well-scoped area stops being a leap of faith. The guardrails are what make the freedom usable, the same way brakes allow a car to go fast with confidence.</p>



<p class="wp-block-paragraph">Governance isn’t the tax you pay to use agents safely. It’s the infrastructure that turns agents from a risk you manage into leverage you can actually rely on.</p>



<p class="wp-block-paragraph"><strong>Where to start</strong></p>



<p class="wp-block-paragraph">You don’t need a new governance program before you can move. Run agents inside your existing system of work, where the permissions, ownership, and checks already live. Start with the scope and policy decisions that protect your riskiest areas, and widen the lane as trust builds.</p>



<p class="wp-block-paragraph">See how leading engineering organizations govern agent work without slowing it down at <a href="https://www.atlassian.com/software/jira/dev?utm_source=foundry&amp;utm_medium=paid-social&amp;utm_campaign=P:jira%7CO:ppm%7CV:foundry%7CG:us%7CL:en%7CF:aware%7CT:prospecting%7CI:imc-jira-ai-sdlc%7CA:display%7CD:alld&amp;utm_content=P:jira%7CO:ppm%7CV:foundry%7CG:us%7CL:en%7CF:aware%7CT:prospecting%7CI:imc-jira-ai-sdlc%7CA:display%7CD:alld%7CU:cio-6" target="_blank" rel="noreferrer noopener">jira.dev</a>.</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Communication and collaboration are all in a day’s work for this engineer]]></title>
<description><![CDATA[Henkel’s Jessica Ramos discusses the evolving nature of her role at the chemical and consumer goods company. 
Read more: Communication and collaboration are all in a day’s work for this engineer]]></description>
<link>https://tsecurity.de/de/3708629/it-nachrichten/communication-and-collaboration-are-all-in-a-days-work-for-this-engineer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708629/it-nachrichten/communication-and-collaboration-are-all-in-a-days-work-for-this-engineer/</guid>
<pubDate>Thu, 06 Aug 2026 19:04:06 +0200</pubDate>
<content:encoded><![CDATA[<p>Henkel’s Jessica Ramos discusses the evolving nature of her role at the chemical and consumer goods company. </p>
<p>Read more: <a rel="nofollow" href="https://www.siliconrepublic.com/people/communication-collaboration-process-engineer-skills-careers-working-life">Communication and collaboration are all in a day’s work for this engineer</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The browser is where attacks land. Why is security still focused on the endpoint?]]></title>
<description><![CDATA[Presented by CloudMosa Enterprise work now happens increasingly inside the browser, and that shift has made the browser a primary point of entry for cyberattacks as well. Browser-based attacks have surged over the past two years, according to industry reports, while Gartner projects that more tha...]]></description>
<link>https://tsecurity.de/de/3708623/it-nachrichten/the-browser-is-where-attacks-land-why-is-security-still-focused-on-the-endpoint/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708623/it-nachrichten/the-browser-is-where-attacks-land-why-is-security-still-focused-on-the-endpoint/</guid>
<pubDate>Thu, 06 Aug 2026 19:04:02 +0200</pubDate>
<content:encoded><![CDATA[<p><i>Presented by CloudMosa </i></p><hr><p>Enterprise work now happens increasingly inside the browser, and that shift has made the browser a primary point of entry for cyberattacks as well. Browser-based attacks have surged over the past two years, according to industry reports, while Gartner projects that more than <a href="https://www.paloaltonetworks.com/resources/research/gartner-innovation-insight-secure-enterprise-browsers">85% of enterprise workloads</a> will be accessed through the browser by 2027. </p><p>And yet most enterprise security architecture is still built to protect the device rather than the browser session where that work, and those attacks, actually take place, says Shioupyn Shen, founder and CEO of CloudMosa, the company behind Puffin Cloud Security. </p><p>“CloudMosa originally built its cloud architecture to improve browser performance and accessibility, with the expectation that enterprise work would increasingly move into the browser,” Shen says. “Today’s AI-assisted hacking has validated that architecture, demonstrating that what was designed for performance also provides a strong foundation for modern enterprise security.”</p><h2>The browser as the enterprise's operating environment</h2><p>SaaS platforms, CRM and ERP systems, and collaboration tools have made the browser the primary gateway, and often the central workspace, for enterprise operations. As LLM-powered workflows and autonomous AI agents increasingly operate through that same environment, this shift has also redefined what a threat looks like.</p><p>In a device-centric world, security teams could focus much of their attention on endpoints and networks they could monitor, manage and patch on schedule. But because web code now executes locally on the user’s device, every open browser tab can become a potential entry point for malicious scripts, credential theft, supply chain compromise and other browser-based exploits.</p><p>The browser now interprets and executes remote code, manages authenticated sessions across enterprise applications, and increasingly serves as the execution layer for AI workflows and agents.</p><p>"The browser is no longer just another application running on the endpoint," Shen says. "In practice, it has become the central operating environment for modern enterprise work. Traditional browsers were never designed to carry this level of enterprise responsibility. They were built as local interpreters of remote code, not as enterprise-grade execution environments with strong isolation and policy enforcement."</p><h2>Why detection-first security fails against browser-based attacks</h2><p>Detection-first security has a timing problem: it typically begins only after risky code has reached the device and started executing inside the browser. Because modern browsers execute dynamic, often obfuscated JavaScript and WebAssembly locally, attacks can act on the device before endpoint tools have time to respond. Short-lived or fileless attacks may steal credentials, exfiltrate data or complete their objective before a security team can intervene.</p><p>"It is no longer sufficient to ask only whether a threat can be detected," Shen says. "The stronger approach is to prevent risky or malicious code from ever reaching the device in the first place." </p><h2>AI-generated malware strains signature-based detection</h2><p>AI is a force multiplier that lets attackers automate the creation, mutation and deployment of malware at a scale signature-based tools were never designed to handle. It can generate large volumes of malware variants and help attackers adapt fileless and browser-delivered techniques faster than defenders can analyze them and update signatures.</p><p>That matters because polymorphic malware can alter its code or behavior from one instance to the next, making a known signature less reliable. And when attacks are malware-free — relying instead on legitimate tools, compromised sessions or malicious web content — there may be no conventional file signature to detect at all.</p><p>Enterprises have seen <a href="https://www.crowdstrike.com/en-us/press-releases/2026-crowdstrike-global-threat-report/">an 89% increase in attacks by AI-enabled adversaries</a> over the past year, as increasingly automated and adaptive attacks compress the window available for detection and response.</p><p>"Defenders are no longer just chasing more threats, they are chasing a machine that can keep creating new ones," Shen says. "What was good enough in the past 10 years will not be sufficient in the next six months," he adds.</p><h2>Building architecture that removes the attack surface</h2><p>Rather than continuing to refine detection, the more durable response is to change where web code is allowed to execute in the first place.</p><p>"In a conventional browser, the risk comes to the device," Shen says. "In an isolated cloud model, the risk is kept away from it." </p><p>That principle underlies Puffin Cloud Security. Rather than incrementally improving the browser itself, the platform shifts browser execution into isolated cloud environments. That architectural change improves both performance and security.</p><p>The platform runs the original web session, including its JavaScript, WebAssembly, and other executable payloads, inside a disposable cloud environment and streams only a rendered pixel view to the device. Users keep full interactive control over clicking, typing, and scrolling, but the device itself never parses, executes, or stores the original active code. </p><p>CloudMosa says display rasterization — the layer responsible for the pixel stream — accounts for <a href="https://www.cloudmosa.com/overview">roughly 5% of the browser’s total workload</a>, while the more compute-intensive HTML rendering remains isolated in the cloud. As a result, zero-day exploits and AI-generated polymorphic malware have no executable code to run on the endpoint, while fileless attacks or supply chain compromises within SaaS tools remain contained in the cloud.</p><p>"In CloudMosa's view, that means moving from good-enough security on the device to airtight security in the cloud," Shen says.</p><h2>Fitting browser isolation into SWG, CASB and ZTNA stacks</h2><p>Puffin is designed to extend existing security infrastructure rather than replace it. Secure web gateways, cloud access security broker platforms, and zero trust network access tools remain effective at routing traffic, enforcing policy, and controlling access. But none can fully stop local execution once risky content reaches the browser. </p><p>Puffin closes that gap by routing high-risk sessions through isolated cloud environments and enforcing browser-level policy, whether a user connects over a VPN, a home network, a managed device or an unmanaged, bring-your-own-device setup. </p><p>"Organizations can start with narrow use cases, such as high-risk SaaS access or AI agent workflows, and expand without disrupting tools already in place," Shen says. "The goal is not to undo existing investments, but to make them more complete." </p><h2>The choice between faster detection or endpoint isolation</h2><p>Detection will always have a role in enterprise security, but the more consequential question is no longer how quickly a threat can be caught, but whether attackers can reach the endpoint at all. Recent 2026 surveys found <a href="https://www.darktrace.com/resource/the-state-of-ai-cybersecurity-2026">92% of security professionals</a> are concerned about the impact of AI agents, with <a href="https://www.darkreading.com/threat-intelligence/2026-agentic-ai-attack-surface-poster-child">48% naming agentic AI the top attack vector of the year</a>. Shen noted that agents acting autonomously with user-level privileges are especially exposed to prompt injection, session hijacking, and indirect compromise through compromised web content.</p><p>In designing Puffin Cloud Security, CloudMosa has been “paranoid by design,” meaning it invested in an architecture built for worst-case scenarios and for a threat environment where endpoint security and detection alone may not be enough. </p><p>"This is not just a philosophy, but something that is reflected directly in the architecture itself," Shen says. "CloudMosa built earlier for a harsher threat model than most other organizations did, but today's AI-assisted attacks are now making that posture feel increasingly relevant."</p><p>By dividing a full browser into a very small layer on the device and a much larger layer in the cloud, CloudMosa designed this approach to improve both performance and security at the same time: In Puffin Cloud Security’s architecture, an AI agent’s browser activity takes place inside isolated cloud sandboxes. The endpoint receives only a pixel stream, not the original active code, preventing malicious web content from interacting directly with the device, its credentials or connected systems.</p><p>"AI-assisted hacking represents the kind of structural shift that rewards companies willing to rethink browser from the ground up," Shen says. "And so security leaders now have a choice: redesign for foresight, or wait until hindsight makes the lesson unavoidable."</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[OpenAI says Apple’s own security practices undermine its trade secrets case]]></title>
<description><![CDATA[Newly filed court exhibits show OpenAI’s legal strategy in Apple’s trade secrets lawsuit: argue that Apple’s own security and offboarding practices — including allowing an Apple manager to access a former engineer’s iCloud account after he left the company —undermine its claims that the allegedly...]]></description>
<link>https://tsecurity.de/de/3708578/it-nachrichten/openai-says-apples-own-security-practices-undermine-its-trade-secrets-case/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708578/it-nachrichten/openai-says-apples-own-security-practices-undermine-its-trade-secrets-case/</guid>
<pubDate>Thu, 06 Aug 2026 19:03:55 +0200</pubDate>
<content:encoded><![CDATA[Newly filed court exhibits show OpenAI’s legal strategy in Apple’s trade secrets lawsuit: argue that Apple’s own security and offboarding practices — including allowing an Apple manager to access a former engineer’s iCloud account after he left the company —undermine its claims that the allegedly stolen information was properly protected.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Minimal AI Engineer Toolkit for 2026]]></title>
<description><![CDATA[Discover the six essential tools AI engineers need in 2026 to build and deploy production-grade autonomous systems.]]></description>
<link>https://tsecurity.de/de/3708477/ai-nachrichten/the-minimal-ai-engineer-toolkit-for-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708477/ai-nachrichten/the-minimal-ai-engineer-toolkit-for-2026/</guid>
<pubDate>Thu, 06 Aug 2026 16:37:44 +0200</pubDate>
<content:encoded><![CDATA[Discover the six essential tools AI engineers need in 2026 to build and deploy production-grade autonomous systems.]]></content:encoded>
</item>
<item>
<title><![CDATA[How a software provider closed unknown paths to cloud compromise]]></title>
<description><![CDATA[A healthcare software provider believed its segmented environment was reasonably secure. The company had invested heavily in layered controls across a distributed workforce, separating developer environments, segmenting cloud infrastructure, and tightly managing administrative access. Multifactor...]]></description>
<link>https://tsecurity.de/de/3708451/it-security-nachrichten/how-a-software-provider-closed-unknown-paths-to-cloud-compromise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708451/it-security-nachrichten/how-a-software-provider-closed-unknown-paths-to-cloud-compromise/</guid>
<pubDate>Thu, 06 Aug 2026 16:17:08 +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 healthcare software provider believed its segmented environment was reasonably secure. The company had invested heavily in layered controls across a distributed workforce, separating developer environments, segmenting cloud infrastructure, and tightly managing administrative access. Multifactor authentication (MFA) was enforced broadly, vulnerability scanning was routine, and annual penetration tests were part of the organization’s broader security and compliance efforts.</p>



<p class="wp-block-paragraph">Then an insider threat penetration test (pentest) with NodeZero<sup>®</sup> showed how quickly a single compromised developer credential could enable lateral movement through the environment and toward cloud infrastructure supporting software delivery.</p>



<p class="wp-block-paragraph">“It owned our network in a matter of minutes,” said the company’s IT operations leader.</p>



<p class="wp-block-paragraph">That result changed the conversation immediately. This was not simply a healthcare organization protecting endpoints and servers. The provider was operating in a position of downstream trust, where a compromise would potentially impact customers, healthcare operations, and the systems relying on their software.</p>



<p class="wp-block-paragraph">The organization realized that annual pentests and scanner output were not enough to answer the question that actually mattered: What can an attacker really do once inside the environment?</p>



<p class="wp-block-paragraph">That realization pushed the company toward continuous validation, repeated testing, and a far more operational approach to exposure management.</p>



<h3 class="wp-block-heading">Outcomes at a glance</h3>



<ul class="wp-block-list">
<li>Eliminated internal exposure stemming from 16 weaknesses that compromised four hosts leading to AWS compromise and sensitive data exposure</li>



<li>Reduced AWS exposure leading to critical business impacts to two low-severity weaknesses that were not able to be chained together to lead to any business impact</li>



<li>Eliminated overly permissive, local-administrator access across the environment after NodeZero demonstrated rapid lateral movement and privilege escalation</li>



<li>Implemented privileged access approval workflows and expanded MFA enforcement</li>



<li>Established a repeatable monthly cadence of testing, remediation, and validation</li>
</ul>



<p class="wp-block-paragraph"> src="https://b2b-contenthub.com/wp-content/uploads/2026/08/Image1.png" alt="Internal Testing"&gt;<a href="https://horizon3.ai/wp-content/uploads/2026/05/image-4.png"></a></p>



<p class="wp-block-paragraph"><em>Image 1: Initial internal testing identified 16 weaknesses compromising 4 hosts which led to AWS compromise and sensitive data exposure.</em></p>



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



<p class="wp-block-paragraph">The security team believed their network was secure. That was until they understood what an attacker could do once inside their network. The real question wasn’t whether individual weaknesses existed. It was what an attacker could accomplish when those weaknesses were chained together in a real environment.</p>



<p class="wp-block-paragraph">Like many software providers, the organization operated with a widely distributed workforce, extensive developer access requirements, hybrid infrastructure, and growing cloud dependencies. </p>



<p class="wp-block-paragraph">Before adopting NodeZero, the company relied heavily on traditional vulnerability scanning and annual penetration testing. The team understood the limitations immediately after running NodeZero for the first time because the insider threat pentest exposed how quickly those assumptions did break down.</p>



<p class="wp-block-paragraph">“When you think about what an annual penetration test is, it’s a snapshot at a moment in time,” said the IT operations leader. “Technology does not stand still. It only changes.”</p>



<p class="wp-block-paragraph">The team initially attempted a phishing impact pentest paired with their Microsoft 365 environment, but no employees entered credentials during the exercise. Rather than stopping there and trusting their employees would never fall for a phish, the organization decided to model a more realistic compromise scenario by asking three employees — a developer, someone in HR, and someone in support — to intentionally submit credentials into the phishing pentest so the team could observe what an attacker could actually do with different levels of access.</p>



<p class="wp-block-paragraph">That decision quickly exposed where the real risk existed.</p>



<p class="wp-block-paragraph">The HR and support accounts were effectively contained, but once NodeZero impersonated the developer account, the attack path expanded rapidly. The platform cracked password hashes, escalated privileges, moved laterally across segmented environments, and attempted to traverse toward AWS-connected resources.</p>



<p class="wp-block-paragraph">“We’re completely segmented,” said the operations leader. “We thought we were fine by being siloed. But NodeZero jumped the segments.”</p>



<p class="wp-block-paragraph">The speed of the compromise surprised the team, but the path itself was even more important. A single developer system with elevated access had effectively become the pivot point that would allow attackers to move through the environment.</p>



<p class="wp-block-paragraph">That moment reframed the problem entirely. The organization was no longer looking at isolated vulnerabilities. It was looking at exposure, attack chaining, and the reality that one compromised developer credential could potentially become something much larger.</p>



<p class="wp-block-paragraph"> src="https://b2b-contenthub.com/wp-content/uploads/2026/08/Image2.png" alt="Image2"&gt;<a href="https://horizon3.ai/wp-content/uploads/2026/05/image-3.png"></a></p>



<p class="wp-block-paragraph"><em>Image 2: NodeZero demonstrated how a compromised developer path could move laterally across segmented environments to obtain host compromise.</em></p>



<p class="wp-block-paragraph">Click <a href="https://horizon3.ai/intelligence/blogs/patch-tuesday-to-pentest-wednesday-cloud-compromise/#:~:text=operations%20moving%20forward.-,Mitigation,-The%20insider%20threat" target="_blank" rel="noreferrer noopener">here</a> to explore the details around mitigation and remediation efforts.</p>



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



<p class="wp-block-paragraph">“Ultimately, our goal is to make sure our staff has jobs to come to each day,” said the IT operations leader.</p>



<p class="wp-block-paragraph">That perspective reframed the problem entirely. Not as compliance or vulnerability management, but as the ongoing responsibility to continuously validate that it is not possible for a real adversary to traverse their environment.</p>



<p class="wp-block-paragraph"><a href="https://horizon3.ai/" target="_blank" rel="noreferrer noopener">Learn more about Horizon3.ai and NodeZero.</a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why governance is the accelerator for coding agents]]></title>
<description><![CDATA[Governance is what lets a team run coding agents and stand behind what they ship. As more code originates from agents, the question every engineering leader is now answering is not how fast the work moves, but who owns it and how it gets checked before it lands.



The teams pulling ahead decide ...]]></description>
<link>https://tsecurity.de/de/3708443/it-security-nachrichten/why-governance-is-the-accelerator-for-coding-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708443/it-security-nachrichten/why-governance-is-the-accelerator-for-coding-agents/</guid>
<pubDate>Thu, 06 Aug 2026 16:14: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">Governance is what lets a team run coding agents and stand behind what they ship. As more code originates from agents, the question every engineering leader is now answering is not how fast the work moves, but who owns it and how it gets checked before it lands.</p>



<p class="wp-block-paragraph">The teams pulling ahead decide on the boundaries and the checks in advance. That’s what makes it safe to hit the accelerator: handing agents real work, with the right context in front of them, instead of the supervised busywork you get when no one trusts the output.</p>



<p class="wp-block-paragraph"><strong>Manual review doesn’t scale, it just moves the bottleneck</strong></p>



<p class="wp-block-paragraph">Reviewing everything by hand feels responsible, and at low volume it works. It falls apart the moment agents produce more than people can read. A team that inspects every change by hand just moves the constraint from writing code to approving it, and the queue that forms there is as long as the one it replaced.</p>



<p class="wp-block-paragraph">Worse, blanket caution treats every change as equally risky, so a copy tweak and a change to the authentication layer get the same scrutiny. Attention gets spread evenly across all kinds of work, which means the actually risky changes get less review time. Caution without structure doesn’t make you safer. It just slows you down.</p>



<p class="wp-block-paragraph"><strong>Governance should be infrastructure, not process</strong></p>



<p class="wp-block-paragraph">Governance done well is a set of decisions made once, in advance, so they don’t have to be relitigated on every change and so agents spend tokens on work that ships instead of reruns and reverts.</p>



<p class="wp-block-paragraph">1.       <strong>Scope: what each agent can touch, and what it can see.</strong> An agent working on documentation should not be able to modify how the system handles credentials. Defining those boundaries up front does double duty: it keeps most agent work inside areas where mistakes are cheap and recoverable, and it gives each agent the right context for its task instead of the whole codebase. Scope is where governance and good context come together, and it’s a big part of why governed agent programs produce better work.</p>



<p class="wp-block-paragraph">2.      <strong>Policy that runs itself.</strong> The parts of a CI/CD pipeline can run automatically on every change: tests pass, security scans clear, dependencies are approved, and anything touching a sensitive system routes to a required human owner. Encoded as policy, these run on both the first change and the ten-thousandth without fatigue, which is exactly the property you want when volume climbs.</p>



<p class="wp-block-paragraph">3.      <strong>Ownership that’s never ambiguous.</strong> Every change, whoever or whatever produced it, has a named person accountable for accepting it and standing behind it. Ownership is what keeps velocity from turning into a diffusion of responsibility, and it’s what lets you trace any decision back to a person when something goes wrong.</p>



<p class="wp-block-paragraph"><strong>What governed agent programs actually look like</strong></p>



<p class="wp-block-paragraph">Put those decisions in place and you can give agents more room without worrying about them running wild. When the boundaries are clear and the checks run on their own, letting an agent work in a well-scoped area stops being a leap of faith. The guardrails are what make the freedom usable, the same way brakes allow a car to go fast with confidence.</p>



<p class="wp-block-paragraph">Governance isn’t the tax you pay to use agents safely. It’s the infrastructure that turns agents from a risk you manage into leverage you can actually rely on.</p>



<p class="wp-block-paragraph"><strong>Where to start</strong></p>



<p class="wp-block-paragraph">You don’t need a new governance program before you can move. Run agents inside your existing system of work, where the permissions, ownership, and checks already live. Start with the scope and policy decisions that protect your riskiest areas, and widen the lane as trust builds.</p>



<p class="wp-block-paragraph">See how leading engineering organizations govern agent work without slowing it down at <a href="https://www.atlassian.com/software/jira/dev">jira</a><a href="https://www.atlassian.com/software/jira/dev?utm_source=foundry&amp;utm_medium=paid-social&amp;utm_campaign=P:jira%7CO:ppm%7CV:foundry%7CG:us%7CL:en%7CF:aware%7CT:prospecting%7CI:imc-jira-ai-sdlc%7CA:display%7CD:alld&amp;utm_content=P:jira%7CO:ppm%7CV:foundry%7CG:us%7CL:en%7CF:aware%7CT:prospecting%7CI:imc-jira-ai-sdlc%7CA:display%7CD:alld%7CU:cio-6" target="_blank" rel="noreferrer noopener">.</a><a href="https://www.atlassian.com/software/jira/dev">dev.</a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Star Trek: Strange New Worlds - Folge 3 bringt längst vergessene Serie zurück]]></title>
<description><![CDATA[In Folge 3 der 4. Staffel "Star Trek: Strange New Worlds" kommen Trekkies voll auf ihre Kosten, denn zwei echte Nischen-Klassiker feiern ihr unerwartetes Comeback!
																					Dieser Artikel wurde einsortiert unter 
																	TV-Serie / Webserie,																	Entertainment,				...]]></description>
<link>https://tsecurity.de/de/3708413/it-nachrichten/star-trek-strange-new-worlds-folge-3-bringt-laengst-vergessene-serie-zurueck/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708413/it-nachrichten/star-trek-strange-new-worlds-folge-3-bringt-laengst-vergessene-serie-zurueck/</guid>
<pubDate>Thu, 06 Aug 2026 16:03:32 +0200</pubDate>
<content:encoded><![CDATA[In Folge 3 der 4. Staffel "Star Trek: Strange New Worlds" kommen Trekkies voll auf ihre Kosten, denn zwei echte Nischen-Klassiker feiern ihr unerwartetes Comeback!
																					Dieser Artikel wurde einsortiert unter 
																	<a href="https://www.netzwelt.de/serien/index.html">TV-Serie / Webserie</a>,																	<a href="https://www.netzwelt.de/video/index.html">Entertainment</a>,																	<a href="https://www.netzwelt.de/serien/index.html">Serien</a>,																	<a href="https://www.netzwelt.de/serien/star-trek-strange-new-worlds/">Star Trek Strange New Worlds: Episodenguide und Staffeln</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Die mutmasslichen Einfallsore für den Angriff auf den Bund - Inside IT]]></title>
<description><![CDATA[Das Bundesamt für Informatik wie auch der Kanton Graubünden wurden über Sharepoint-Server attackiert. Seit Mitte Juli sind Schwachstellen bekannt.]]></description>
<link>https://tsecurity.de/de/3708391/windows-server/die-mutmasslichen-einfallsore-fuer-den-angriff-auf-den-bund-inside-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708391/windows-server/die-mutmasslichen-einfallsore-fuer-den-angriff-auf-den-bund-inside-it/</guid>
<pubDate>Thu, 06 Aug 2026 16:00:43 +0200</pubDate>
<content:encoded><![CDATA[Das Bundesamt für Informatik wie auch der Kanton Graubünden wurden über Sharepoint-<b>Server</b> attackiert. Seit Mitte Juli sind Schwachstellen bekannt.]]></content:encoded>
</item>
<item>
<title><![CDATA[How a global investment firm reduced security surprises]]></title>
<description><![CDATA[Most security teams don’t suffer from a lack of data. They suffer from a lack of certainty.



Vulnerability scanners, annual penetration tests, and compliance assessments can generate thousands of findings. Yet they often fail to answer a simple question: Which risks actually matter?



For a gl...]]></description>
<link>https://tsecurity.de/de/3708375/it-security-nachrichten/how-a-global-investment-firm-reduced-security-surprises/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708375/it-security-nachrichten/how-a-global-investment-firm-reduced-security-surprises/</guid>
<pubDate>Thu, 06 Aug 2026 15:53:44 +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 security teams don’t suffer from a lack of data. They suffer from a lack of certainty.</p>



<p class="wp-block-paragraph">Vulnerability scanners, annual penetration tests, and compliance assessments can generate thousands of findings. Yet they often fail to answer a simple question: Which risks actually matter?</p>



<p class="wp-block-paragraph">For a global investment firm operating across 18 locations, that question became increasingly important. A small security engineering team was responsible for securing a growing environment while balancing infrastructure projects, identity management, user support, and the countless responsibilities that come with protecting a modern enterprise.</p>



<p class="wp-block-paragraph">The team wasn’t struggling to generate findings. They were struggling to understand which findings represented real risk, whether remediation efforts were working, and how to ensure leadership would never be surprised by an exposure that should have been discovered earlier.</p>



<p class="wp-block-paragraph">That journey led them from point-in-time testing to continuous validation.</p>



<h3 class="wp-block-heading">Outcomes at a glance</h3>



<ul class="wp-block-list">
<li>Reduced impacts from 251 to 0 in a same-scope internal penetration test (pentest)</li>



<li>Reduced compromised credentials from 52 to 0</li>



<li>Reduced compromised hosts from 67 to 0</li>



<li>Reduced cracked Active Directory passwords from 40 to 0</li>



<li>Expanded continuous validation across 18 locations using a phased rollout strategy</li>



<li>Enabled a lean security team to continuously validate risk without significant operational overhead</li>
</ul>



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



<p class="wp-block-paragraph">The team wasn’t expecting perfection. Every environment contains weaknesses, and no experienced security practitioner assumes an internal pentest will come back clean.</p>



<p class="wp-block-paragraph">What surprised them was how effectively those weaknesses could be chained together once an attacker gained a foothold.</p>



<p class="wp-block-paragraph">One of the firm’s early internal pentests identified 85 weaknesses. By itself, the number wouldn’t have stood out to most security teams. The real concern wasn’t the weaknesses themselves. It was what those weaknesses enabled.</p>



<p class="wp-block-paragraph">NodeZero<sup>®</sup> showed that those weaknesses could produce 251 impacts, including domain compromise, sensitive data exposure, ransomware exposure, host compromise, domain user compromise, and compromised credentials. </p>



<p class="wp-block-paragraph">That distinction matters because attackers don’t exploit weaknesses in isolation. They chain weaknesses, misconfigurations, and credentials together to achieve an objective. A low-priority finding on its own may appear manageable, but when combined with other weaknesses, it can become part of a pathway to something much more serious.</p>



<p class="wp-block-paragraph"><em>Figure 1. An early internal pentest identified 85 weaknesses that led to 251 impacts, including domain compromise, ransomware exposure, sensitive data exposure, and host compromise.</em></p>



<p class="wp-block-paragraph">As the organization’s senior security engineer explained: “That impact section in NodeZero is just pure evidence of what can happen in a real life scenario.”</p>



<p class="wp-block-paragraph">The shift from theoretical risk to demonstrated impact changed how the team approached remediation, shifting the conversation from identifying weaknesses to understanding their potential business impact.</p>



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



<p class="wp-block-paragraph">Like many organizations, this organization was already investing in security testing. The challenge wasn’t finding another tool. It was finding an <em>approach that could scale across the business </em>without creating additional work for a small security team already balancing infrastructure projects, identity management, user support, and countless other responsibilities.</p>



<p class="wp-block-paragraph">As the senior security engineer described: “NodeZero is, let’s say, 5% of my work. I’m dealing with a million different things, a million different projects, a million different responsibilities.”</p>



<p class="wp-block-paragraph">That reality made operational simplicity more than a convenience. It became a requirement.</p>



<p class="wp-block-paragraph">The team had experience with security testing platforms that required significant infrastructure and ongoing maintenance to keep running effectively. For a small team juggling competing priorities, that overhead mattered. NodeZero offered a different model. The platform was simple to deploy, easy to operate, and allowed the team to begin testing immediately without dedicating resources to managing complex hardware infrastructure.</p>



<p class="wp-block-paragraph">That ease of deployment became particularly important because the team wasn’t interested in running a proof of concept. They wanted to build a sustainable program that could scale with the business.</p>



<p class="wp-block-paragraph">Click <a href="https://horizon3.ai/intelligence/blogs/patch-tuesday-to-pentest-wednesday-reducing-security-surprises/#:~:text=with%20the%20business.-,Mitigation,-Technology%20wasn%E2%80%99t%20the" target="_blank" rel="noreferrer noopener">here</a> to continue reading about the obstacles the organization faced and how they mitigated them.</p>



<h2 class="wp-block-heading">The need to validate outcomes</h2>



<p class="wp-block-paragraph">The objective was never to eliminate every weakness. It was to eliminate uncertainty around the risks that mattered most.</p>



<p class="wp-block-paragraph">That’s the difference between measuring activity and validating outcomes.</p>



<p class="wp-block-paragraph"><a href="https://horizon3.ai/" target="_blank" rel="noreferrer noopener">Learn more about Horizon3.ai and NodeZero.</a></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Photo and Video Editing in ChatGPT Just Got an Adobe-Size Update]]></title>
<description><![CDATA[Adobe’s plugins add over 70 new photo, video and document editing capabilities inside ChatGPT.]]></description>
<link>https://tsecurity.de/de/3708359/it-nachrichten/photo-and-video-editing-in-chatgpt-just-got-an-adobe-size-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708359/it-nachrichten/photo-and-video-editing-in-chatgpt-just-got-an-adobe-size-update/</guid>
<pubDate>Thu, 06 Aug 2026 15:47:29 +0200</pubDate>
<content:encoded><![CDATA[Adobe’s plugins add over 70 new photo, video and document editing capabilities inside ChatGPT.]]></content:encoded>
</item>
<item>
<title><![CDATA[Hackers Hid a Remote-Control Toolkit Inside Oracle to Take Over a Windows Server]]></title>
<description><![CDATA[A routine web application weakness has been tied to a serious Windows Server compromise after attackers used SQL injection to plant a remote-control toolkit inside an Oracle database. The incident shows how a poorly protected form can become a path from a public website to the operating system be...]]></description>
<link>https://tsecurity.de/de/3708307/it-security-nachrichten/hackers-hid-a-remote-control-toolkit-inside-oracle-to-take-over-a-windows-server/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708307/it-security-nachrichten/hackers-hid-a-remote-control-toolkit-inside-oracle-to-take-over-a-windows-server/</guid>
<pubDate>Thu, 06 Aug 2026 15:27:51 +0200</pubDate>
<content:encoded><![CDATA[<p>A routine web application weakness has been tied to a serious Windows Server compromise after attackers used SQL injection to plant a remote-control toolkit inside an Oracle database. The incident shows how a poorly protected form can become a path from a public website to the operating system behind it. The attackers targeted a public-facing […]</p>
<p>The post <a href="https://cybersecuritynews.com/hackers-hid-a-remote-control-toolkit/">Hackers Hid a Remote-Control Toolkit Inside Oracle to Take Over a Windows Server</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Enterprise passkey security under threat from malware]]></title>
<description><![CDATA[Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.
...]]></description>
<link>https://tsecurity.de/de/3708304/it-security-nachrichten/enterprise-passkey-security-under-threat-from-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708304/it-security-nachrichten/enterprise-passkey-security-under-threat-from-malware/</guid>
<pubDate>Thu, 06 Aug 2026 15:27:38 +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">Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.</p>



<p class="wp-block-paragraph">They also pointed out that the issues are not strictly caused by holes in passkeys so much as by weaknesses in the procedures surrounding them. </p>



<p class="wp-block-paragraph">“The researchers didn’t break the underlying cryptography. They exploited the seams around it: onboarding flows, recovery mechanisms and trust signals that weren’t being validated,” said <a href="https://acceligence.com/talent/profiles/justin-greis/" target="_blank" rel="noreferrer noopener">Justin Greis</a>, CEO of consulting firm Acceligence. “That distinction matters because it tells us where the actual risk lives.”</p>



<p class="wp-block-paragraph">The <a href="https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/" target="_blank" rel="noreferrer noopener">Palo Alto report</a> showed attacks that, it said, “demonstrate how malware on a compromised endpoint can misuse onboarding, recovery and device trust workflows to take over passkey-protected accounts,” as well as “how an attacker can authenticate without user interaction, bypass user verification requirements and extract all synced passkey private keys.”</p>



<p class="wp-block-paragraph">Palo Alto described three categories of attack, collectively dubbed Pass-ta-key: Pass-ta-key, where an attacker takes over an account protected by a Google-synced passkey using malware running on the victim’s device, without requiring privilege escalation, device unlock or user interaction; Silver Pass-ta-key, which involves an attacker tricking Google Cloud Authenticator into believing the victim has unlocked the device with biometrics, leading to full account takeover without using the victim’s device during authentication; and Golden Pass-ta-key, which allows an attacker to extract all synced passkeys in a form that lets them be shared or sold on the credential black market.</p>



<p class="wp-block-paragraph">Given the complexity of most global enterprise threat surfaces, <a href="https://www.csoonline.com/article/4085426/your-passwordless-future-may-never-fully-arrive.html" target="_blank">some CISOs have struggled</a> with adapting passwordless processes to environments with legacy and virtual environments. Passcodes have <a href="https://www.csoonline.com/article/4197086/microsoft-is-forcing-an-enterprise-transition-to-passkeys-2.html" target="_blank">been recently embraced</a> by enterprise CISOs as the first step in implementing a passwordless strategy.</p>



<p class="wp-block-paragraph">Analysts and consultants in the main agreed that the flaw Palo Alto reports is significant, despite the fact that it assumes the attacker has already penetrated an environment and successfully installed malware. Sadly, given that such penetration only requires one privileged user anywhere to accidentally click on a poisoned link or attachment, the assumption of prior penetration is likely valid.</p>



<h2 class="wp-block-heading">Implementation issues are the problem</h2>



<p class="wp-block-paragraph">What the report reveals is less about any flaws within passcodes directly, and more about the lack of attention paid to a wide range of mechanisms surrounding them. </p>



<p class="wp-block-paragraph">Greis said CISOs now need to focus on what to do, and what to test, based on the assumption that user behavior is not always as expected. </p>



<p class="wp-block-paragraph">In several cases cited in the report, he pointed out, issues occurred “not because the standard is flawed, but because implementations haven’t caught up to it. It mirrors what we’ve seen repeatedly in security: the specification is sound, but the ecosystem implementing it is uneven.”</p>



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, agreed. </p>



<p class="wp-block-paragraph">“On any service where your organization is the relying party, require user verification and actually validate the user-verified flag in the authentication response,” he said. “The researchers found real-world services accepting logins without it, which quietly collapses a multi-factor login back into a single factor.”</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, added that he would stress to CISOs that this attack assumes a prior successful penetration. </p>



<p class="wp-block-paragraph">“This isn’t passkeys getting hacked from across the internet. It’s what [an attacker] does once they’re already inside the house. So the real headline is that ‘phishing resistant’ stops being resistant the moment the endpoint stops being clean,” he said.</p>



<p class="wp-block-paragraph">“Stop treating verification as optional,” he advised. “Flip it to required, check it server side every single time, and save your hardware bound keys, the YubiKeys of the world, for the accounts that matter most. A key that never leaves a physical device is a key no attacker can ever harvest in bulk.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/orfink/" target="_blank" rel="noreferrer noopener">Or Finkelstein</a>, head of marketing at Secret Double Octopus, agreed that CISOs have gotten complacent about the way in which systems support passkeys.</p>



<p class="wp-block-paragraph">“CISOs should probably look at how user verification is enforced, how enrollment and recovery work, have a clear and enforced policy on whether credentials are synced or device-bound, and have some ITDR system to quickly mitigate suspicious endpoints and authenticators,” he said. “In most serious enterprise environments, EDR and device management reduce the likelihood of initial attacks, but do not close every post-compromise attack path.”</p>



<h2 class="wp-block-heading">Poor support processes weaken passkeys</h2>



<p class="wp-block-paragraph">Some have argued that the lack of sufficiently robust support processes actually weakens passkey capabilities and undermines the whole point of such systems.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jwgoerlich/" target="_blank" rel="noreferrer noopener">J. Wolfgang Goerlich</a>, a member of the faculty of IANS and a longtime cybersecurity consultant, pointed out that the original FIDO2 spec eliminated credential theft by binding the private key to a physical authenticator. Synced passkeys reintroduced credential portability and therefore reintroduced the form of credential theft risk cited in the Palo Alto report.</p>



<p class="wp-block-paragraph">“A passwordless system is exactly as strong as the flow that re-establishes it,” he said. “Both serious techniques here start by forcing a device to re-enroll. Many security teams have never modeled, never monitored and never rehearsed a response to this.”</p>



<p class="wp-block-paragraph">Goerlich’s advice to CISOs is to require device-bound authenticators, such as hardware tokens or computers, for all privileged and sensitive access. They may consider allowing wallets for lower risk access, he said, “however, much like passwords in Web browsers have long been at risk, we must now consider passkeys in the browsers an unacceptable risk.”</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Enterprise passkey security under threat from malware]]></title>
<description><![CDATA[Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.
...]]></description>
<link>https://tsecurity.de/de/3708293/it-nachrichten/enterprise-passkey-security-under-threat-from-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708293/it-nachrichten/enterprise-passkey-security-under-threat-from-malware/</guid>
<pubDate>Thu, 06 Aug 2026 15:22: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>



<p class="wp-block-paragraph">Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.</p>



<p class="wp-block-paragraph">They also pointed out that the issues are not strictly caused by holes in passkeys so much as by weaknesses in the procedures surrounding them. </p>



<p class="wp-block-paragraph">“The researchers didn’t break the underlying cryptography. They exploited the seams around it: onboarding flows, recovery mechanisms and trust signals that weren’t being validated,” said <a href="https://acceligence.com/talent/profiles/justin-greis/" target="_blank" rel="noreferrer noopener">Justin Greis</a>, CEO of consulting firm Acceligence. “That distinction matters because it tells us where the actual risk lives.”</p>



<p class="wp-block-paragraph">The <a href="https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/" target="_blank" rel="noreferrer noopener">Palo Alto report</a> showed attacks that, it said, “demonstrate how malware on a compromised endpoint can misuse onboarding, recovery and device trust workflows to take over passkey-protected accounts,” as well as “how an attacker can authenticate without user interaction, bypass user verification requirements and extract all synced passkey private keys.”</p>



<p class="wp-block-paragraph">Palo Alto described three categories of attack, collectively dubbed Pass-ta-key: Pass-ta-key, where an attacker takes over an account protected by a Google-synced passkey using malware running on the victim’s device, without requiring privilege escalation, device unlock or user interaction; Silver Pass-ta-key, which involves an attacker tricking Google Cloud Authenticator into believing the victim has unlocked the device with biometrics, leading to full account takeover without using the victim’s device during authentication; and Golden Pass-ta-key, which allows an attacker to extract all synced passkeys in a form that lets them be shared or sold on the credential black market.</p>



<p class="wp-block-paragraph">Given the complexity of most global enterprise threat surfaces, <a href="https://www.csoonline.com/article/4085426/your-passwordless-future-may-never-fully-arrive.html" target="_blank">some CISOs have struggled</a> with adapting passwordless processes to environments with legacy and virtual environments. Passcodes have <a href="https://www.csoonline.com/article/4197086/microsoft-is-forcing-an-enterprise-transition-to-passkeys-2.html" target="_blank">been recently embraced</a> by enterprise CISOs as the first step in implementing a passwordless strategy.</p>



<p class="wp-block-paragraph">Analysts and consultants in the main agreed that the flaw Palo Alto reports is significant, despite the fact that it assumes the attacker has already penetrated an environment and successfully installed malware. Sadly, given that such penetration only requires one privileged user anywhere to accidentally click on a poisoned link or attachment, the assumption of prior penetration is likely valid.</p>



<h2 class="wp-block-heading">Implementation issues are the problem</h2>



<p class="wp-block-paragraph">What the report reveals is less about any flaws within passcodes directly, and more about the lack of attention paid to a wide range of mechanisms surrounding them. </p>



<p class="wp-block-paragraph">Greis said CISOs now need to focus on what to do, and what to test, based on the assumption that user behavior is not always as expected. </p>



<p class="wp-block-paragraph">In several cases cited in the report, he pointed out, issues occurred “not because the standard is flawed, but because implementations haven’t caught up to it. It mirrors what we’ve seen repeatedly in security: the specification is sound, but the ecosystem implementing it is uneven.”</p>



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, agreed. </p>



<p class="wp-block-paragraph">“On any service where your organization is the relying party, require user verification and actually validate the user-verified flag in the authentication response,” he said. “The researchers found real-world services accepting logins without it, which quietly collapses a multi-factor login back into a single factor.”</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, added that he would stress to CISOs that this attack assumes a prior successful penetration. </p>



<p class="wp-block-paragraph">“This isn’t passkeys getting hacked from across the internet. It’s what [an attacker] does once they’re already inside the house. So the real headline is that ‘phishing resistant’ stops being resistant the moment the endpoint stops being clean,” he said.</p>



<p class="wp-block-paragraph">“Stop treating verification as optional,” he advised. “Flip it to required, check it server side every single time, and save your hardware bound keys, the YubiKeys of the world, for the accounts that matter most. A key that never leaves a physical device is a key no attacker can ever harvest in bulk.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/orfink/" target="_blank" rel="noreferrer noopener">Or Finkelstein</a>, head of marketing at Secret Double Octopus, agreed that CISOs have gotten complacent about the way in which systems support passkeys.</p>



<p class="wp-block-paragraph">“CISOs should probably look at how user verification is enforced, how enrollment and recovery work, have a clear and enforced policy on whether credentials are synced or device-bound, and have some ITDR system to quickly mitigate suspicious endpoints and authenticators,” he said. “In most serious enterprise environments, EDR and device management reduce the likelihood of initial attacks, but do not close every post-compromise attack path.”</p>



<h2 class="wp-block-heading">Poor support processes weaken passkeys</h2>



<p class="wp-block-paragraph">Some have argued that the lack of sufficiently robust support processes actually weakens passkey capabilities and undermines the whole point of such systems.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jwgoerlich/" target="_blank" rel="noreferrer noopener">J. Wolfgang Goerlich</a>, a member of the faculty of IANS and a longtime cybersecurity consultant, pointed out that the original FIDO2 spec eliminated credential theft by binding the private key to a physical authenticator. Synced passkeys reintroduced credential portability and therefore reintroduced the form of credential theft risk cited in the Palo Alto report.</p>



<p class="wp-block-paragraph">“A passwordless system is exactly as strong as the flow that re-establishes it,” he said. “Both serious techniques here start by forcing a device to re-enroll. Many security teams have never modeled, never monitored and never rehearsed a response to this.”</p>



<p class="wp-block-paragraph">Goerlich’s advice to CISOs is to require device-bound authenticators, such as hardware tokens or computers, for all privileged and sensitive access. They may consider allowing wallets for lower risk access, he said, “however, much like passwords in Web browsers have long been at risk, we must now consider passkeys in the browsers an unacceptable risk.”</p>



<p class="wp-block-paragraph">This article originally appeared on <a href="https://www.csoonline.com/article/4205751/report-passkey-security-issues-could-allow-account-takeover.html" target="_blank">CSOonline</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA['The Bonfire of the Vanities' series dropped by Apple TV]]></title>
<description><![CDATA[The high-profile television version of Tom Wolfe's "The Bonfire of the Vanities" will reportedly no longer be made for Apple TV because of creative differences.Apple TV will not go ahead with a series dramatization of "The Bonfire of the Vanities."This would have been the third version of Wolfe's...]]></description>
<link>https://tsecurity.de/de/3708238/ios-mac-os/the-bonfire-of-the-vanities-series-dropped-by-apple-tv/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708238/ios-mac-os/the-bonfire-of-the-vanities-series-dropped-by-apple-tv/</guid>
<pubDate>Thu, 06 Aug 2026 15:20:03 +0200</pubDate>
<content:encoded><![CDATA[The high-profile television version of Tom Wolfe's "The Bonfire of the Vanities" will reportedly no longer be made for <a href="https://appleinsider.com/inside/apple-tv" title="Apple TV" data-kpt="1">Apple TV</a> because of creative differences.<br><br><div><img src="https://media.appleinsider.com/gallery/68486-144298-000-lead-Apple-TV-xl.jpg" alt="Apple logo followed by lowercase t and v in a pastel iridescent gradient, centered on a solid black background"><br><span>Apple TV will not go ahead with a series dramatization of "The Bonfire of the Vanities."</span></div><br>This would have been the third version of Wolfe's famous 1980s novel about greed and Wall Street, and it was <a href="https://appleinsider.com/articles/26/04/03/the-bonfire-of-the-vanities-series-headed-to-apple-tv">to be made</a> by "Ally McBeal" and "The Practice" writer/producer David E. Kelley. Now according to <em>Deadline</em>, the <a href="https://deadline.com/2026/08/bonfire-of-vanities-david-e-kelley-matt-reeves-apple-dead-1237021978/">deal is off</a> and the production team will shop the series around to other streamers and networks.<br><br>Neither Apple nor the production team at Warner Bros. Television officially announced the series was in development, but it was first reported to be in the works in April 2026. Now unspecified sources say that Apple TV and Warner Bros were not creatively aligned over the project.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/the-bonfire-of-the-vanities-series-dropped-by-apple-tv?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245183?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[RAM supply holding up iPhone 18 Pro assembly is another bad sign]]></title>
<description><![CDATA[Apple's new A20 Pro processor isn't being cranked out as fast as it could be because of RAM shortages, and that is reportedly slowing assembly of the iPhone 18 Pro, and the folding iPhone. That's not great.Render of a possible iPhone 18 Pro - image credit: AppleInsiderThe fact that there's a RAM ...]]></description>
<link>https://tsecurity.de/de/3708236/ios-mac-os/ram-supply-holding-up-iphone-18-pro-assembly-is-another-bad-sign/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708236/ios-mac-os/ram-supply-holding-up-iphone-18-pro-assembly-is-another-bad-sign/</guid>
<pubDate>Thu, 06 Aug 2026 15:20:02 +0200</pubDate>
<content:encoded><![CDATA[Apple's new A20 Pro processor isn't being cranked out as fast as it could be because of RAM shortages, and that is reportedly slowing assembly of the <a href="https://appleinsider.com/inside/iphone-18" title="iPhone 18" data-kpt="1">iPhone 18 Pro</a>, and the folding iPhone. That's not great.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67555-142320-000-lead-iPHone-18-Pro-xl.jpg" alt="Close-up of a smartphone lock screen showing large translucent time, date Fri Jan 23, carrier Visible Wi-Fi, full signal and battery icons, over a cloudy blue sky background"><br><span>Render of a possible iPhone 18 Pro - image credit: AppleInsider</span></div><br>The fact that there's a RAM crisis and supply problem isn't a new revelation. What is, however, is the fact that in Apple's and TSMC's most complex processor, that uses a new manufacturing technique, RAM supply may be gumming up the works.<br><br>The A20 Pro processor is the first chip to be manufactured using TSMC's N2 node. As part of chip packaging, the RAM for the chip from Apple's regular suppliers is integrated with TSMC's new Wafer-Level Multi-Chip Module (WLMCM) technology.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/ram-supply-holding-up-iphone-18-pro-assembly-is-another-bad-sign?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245185?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why Putting A Hot iPhone In The Refrigerator Will Ruin Your Device]]></title>
<description><![CDATA[If you spend any time on TikTok, you have probably seen videos telling you to toss an overheating iPhone into the refrigerator to cool it down fast. The logic seems to make perfect sense when the summer heat is breaking records. You might be tempted to try it out when that high temperature warnin...]]></description>
<link>https://tsecurity.de/de/3708231/ios-mac-os/why-putting-a-hot-iphone-in-the-refrigerator-will-ruin-your-device/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708231/ios-mac-os/why-putting-a-hot-iphone-in-the-refrigerator-will-ruin-your-device/</guid>
<pubDate>Thu, 06 Aug 2026 15:19:54 +0200</pubDate>
<content:encoded><![CDATA[If you spend any time on TikTok, you have probably seen videos telling you to toss an overheating iPhone into the refrigerator to cool it down fast. The logic seems to make perfect sense when the summer heat is breaking records. You might be tempted to try it out when that high temperature warning pops up on your screen. You should ignore this viral advice entirely because it will ruin your device and cost you a lot of money in repairs.



Dropping the temperature too fast causes permanent internal moisture damage



Taking a phone that is running above 110 degrees and dropping it into a cold environment is a recipe for disaster. This drastic shift causes thermal shock. The different materials inside the phone shrink at different speeds when exposed to sudden cold. This uneven shrinking puts massive stress on the internal circuits, the screen, and the camera hardware.



Beyond thermal shock, the cold air introduces a severe risk of condensation. Your phone is not completely sealed against the air. If you put a cold soda can outside on a warm day, water droplets form on the metal. The same thing happens inside your phone when you put it in the fridge. The normal air inside the device turns into liquid water.



This moisture collects on sensitive electronics and damages the battery over time. In a worst-case scenario, a ruined battery can even catch fire.



Move your hot device to a shaded room to cool down



Modern phones have built-in safety features designed by Apple to protect their internal parts from heat. If you see a high temperature warning on your screen, the system is already working to prevent hardware damage. The phone will shut down non-essential functions to keep itself safe.



You do not need to intervene with extreme cold. Instead, just unplug the device if it is attached to a charger. Take off the case to help the trapped heat escape. Move the phone out of direct sunlight and leave it alone in a cool room. Giving it a few hours to rest will bring the internal temperature back down safely.



Avoiding the heat in the first place is always the smartest move. Try not to leave any electronics in a parked car during the summer. A car interior can reach dangerous temperatures in just a few minutes. Keep your phone in your pocket or a bag when walking around outdoors.]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Uber Payment Emails Try To Steal Your Billing Information]]></title>
<description><![CDATA[A new phishing scam is currently hitting inboxes, and it is using the Uber name to try to trick people out of their money. The fake messages look like standard account alerts and tell you that your payment method has expired. It then pushes you to update your billing details right away.



AppleI...]]></description>
<link>https://tsecurity.de/de/3708233/ios-mac-os/fake-uber-payment-emails-try-to-steal-your-billing-information/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708233/ios-mac-os/fake-uber-payment-emails-try-to-steal-your-billing-information/</guid>
<pubDate>Thu, 06 Aug 2026 15:19:54 +0200</pubDate>
<content:encoded><![CDATA[A new phishing scam is currently hitting inboxes, and it is using the Uber name to try to trick people out of their money. The fake messages look like standard account alerts and tell you that your payment method has expired. It then pushes you to update your billing details right away.



AppleInsider reports that the campaign is surprisingly well made, but it is just a trap meant to steal your sensitive information by creating a false sense of urgency.



Spotting the warning signs inside the fake message



The scam might look real at a glance, but there are clear red flags if you know where to look. First, the sender name often shows up as just "UBER" in all capital letters. The message also leaves out basic personal details like your real name or your account number.



If you check the actual sender address, you will notice it does not belong to Uber at all. Instead, it comes from an unrelated website domain. The scammers also send the same message to over a hundred people at once. A real company would never expose a massive list of customer email addresses for a routine billing alert. On top of that, the links inside the email are often hidden behind images or slightly changed web addresses to fool your eyes.



Checking your app directly keeps your data safe



If an email claims your account has a problem, do not click any links inside it. The safest move is to open the Uber app on your phone or type its official website directly into your browser. If Uber actually needs new billing details, the app will show you an alert.



When you find nothing there, you can safely delete the email. This simple habit works for any service. Banks, delivery apps, and streaming platforms are all common targets for these kinds of attacks. Scams work best when you rush.



Taking an extra minute to verify an alert through the official app takes the power away from the attackers and keeps your money safe.]]></content:encoded>
</item>
<item>
<title><![CDATA[KHunt Toolkit Turns Oracle SQL Injection Into SYSTEM-Level RCE and Credential Theft]]></title>
<description><![CDATA[KHunt shows how a “routine” SQL injection against an Oracle‑backed web app can be weaponized into SYSTEM‑level remote code execution and credential theft by compiling a full post‑exploitation toolkit directly inside the database engine. This incident materially shifts the Oracle threat model: the...]]></description>
<link>https://tsecurity.de/de/3708199/hacking/khunt-toolkit-turns-oracle-sql-injection-into-system-level-rce-and-credential-theft/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708199/hacking/khunt-toolkit-turns-oracle-sql-injection-into-system-level-rce-and-credential-theft/</guid>
<pubDate>Thu, 06 Aug 2026 15:13:58 +0200</pubDate>
<content:encoded><![CDATA[<p>KHunt shows how a “routine” SQL injection against an Oracle‑backed web app can be weaponized into SYSTEM‑level remote code execution and credential theft by compiling a full post‑exploitation toolkit directly inside the database engine. This incident materially shifts the Oracle threat model: the database itself becomes attacker infrastructure, not just a data store. Subsequent triage […]</p>
<p>The post <a href="https://gbhackers.com/khunt-exposes-credentials/">KHunt Toolkit Turns Oracle SQL Injection Into SYSTEM-Level RCE and Credential Theft</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[AI Recommendation Poisoning: How "Ask AI" Buttons Silently Alter LLM Memory]]></title>
<description><![CDATA[A new class of prompt injection is spreading across commercial websites. It requires no malware, no stolen credentials, and no zero-day exploit. It abuses a standard feature built into almost every major AI assistant: pre-filled deep links.

We observed production websites embedding hidden prompt...]]></description>
<link>https://tsecurity.de/de/3708168/it-security-nachrichten/ai-recommendation-poisoning-how-ask-ai-buttons-silently-alter-llm-memory/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708168/it-security-nachrichten/ai-recommendation-poisoning-how-ask-ai-buttons-silently-alter-llm-memory/</guid>
<pubDate>Thu, 06 Aug 2026 14:54:16 +0200</pubDate>
<content:encoded><![CDATA[A new class of prompt injection is spreading across commercial websites. It requires no malware, no stolen credentials, and no zero-day exploit. It abuses a standard feature built into almost every major AI assistant: pre-filled deep links.

We observed production websites embedding hidden prompt injection payloads inside "Ask AI" buttons on marketing and competitor comparison pages. When a user]]></content:encoded>
</item>
<item>
<title><![CDATA[Attackers hid malware inside Oracle Database after SQL injection breach]]></title>
<description><![CDATA[Huntress has documented a case where the Oracle database itself became the malware host.



The security firm disclosed a campaign in which threat actors exploited a SQL injection vulnerability to store a custom post-exploitation toolkit, dubbed Khunt, inside an Oracle database using the platform...]]></description>
<link>https://tsecurity.de/de/3708066/it-security-nachrichten/attackers-hid-malware-inside-oracle-database-after-sql-injection-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708066/it-security-nachrichten/attackers-hid-malware-inside-oracle-database-after-sql-injection-breach/</guid>
<pubDate>Thu, 06 Aug 2026 14:12:08 +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">Huntress has documented a case where the Oracle database itself became the malware host.</p>



<p class="wp-block-paragraph">The security firm disclosed a campaign in which threat actors exploited a <a href="https://www.csoonline.com/article/564663/what-is-sql-injection-how-these-attacks-work-and-how-to-prevent-them.html">SQL injection</a> vulnerability to store a custom post-exploitation toolkit, dubbed Khunt, inside an Oracle database using the platform’s built-in Java capabilities.</p>



<p class="wp-block-paragraph">Huntress became aware of the intrusion after investigating a credential theft activity on a server running Oracle Database. The researchers learned that rather than simply executing commands through SQL injection, the attackers had leveraged Oracle’s embedded Java Virtual Machine (OJVM) to upload, compile, and execute malicious Java code directly from within the database.</p>



<p class="wp-block-paragraph">The approach reportedly allowed the attackers to blend into legitimate database functionality while maintaining a persistent foothold on the compromised server.</p>



<p class="wp-block-paragraph">“The attackers managed to gain initial access in this attack thanks to a classic SQL injection,” Huntress researchers said in a blog <a href="https://www.huntress.com/blog/khunt-malware-sql-injection-oracle" target="_blank" rel="noreferrer noopener">post</a>. “There was no need for a novel vulnerability because the autocomplete search feature in the public-facing application was enough to reach PL/SQL and then the operating system.”</p>



<h2 class="wp-block-heading"><a></a>Exploitation beyond SQL injection</h2>



<p class="wp-block-paragraph">The attack revolved around Khunt, a Java-based toolkit that attackers stored as a database object using Oracle’s “CREATE JAVA SOURCE” functionality. Oracle Database includes an embedded Java Virtual Machine that allows organizations to execute Java code from within the database for legitimate business applications.</p>



<p class="wp-block-paragraph">Once compiled inside the database, the Java code could be run through SQL statements to execute operating system commands on the underlying host where Oracle was configured. The malware inserted within the database schema would be considerably harder to detect, Huntress noted.</p>



<p class="wp-block-paragraph">After setting up the code execution path from within the database, the attackers could (and did) carry out post-compromise activities, including credential theft.</p>



<p class="wp-block-paragraph">In the incident Huntress investigated, the attackers ultimately compromised the Windows server hosting Oracle Database, escalating from <a href="https://www.csoonline.com/article/573101/sql-injection-xss-vulnerabilities-continue-to-plague-organizations.html">SQL injection</a> to SYSTEM-level command execution. With that level of access, they were able to dump the Windows SAM, SECURITY, and SYSTEM registry hives, enabling offline extraction of local account password hashes.</p>



<p class="wp-block-paragraph">The campaign’s non-reliance on noisy malware binaries and incorporation of the malice entirely within Oracle’s native functionality was flagged by researchers as an evolved operation that calls for targeted detection.</p>



<p class="wp-block-paragraph">Oracle did not immediately respond to CSO’s requests for comment.</p>



<h2 class="wp-block-heading"><a></a>Mitigation focused on post-exploitation toolkit </h2>



<p class="wp-block-paragraph"><br><strong><br></strong>While the SQL injection pathway provided the initial foothold, Huntress argues that the more important lesson lies in what happened after exploitation.</p>



<p class="wp-block-paragraph">The attackers could have simply extracted or manipulated data through SQL injection, but instead, they expanded the exploit to include long-term persistence and remote command execution. Huntress warned that this is a dangerous evolution.</p>



<p class="wp-block-paragraph">Features such as Oracle’s embedded JVM, while valuable for enterprise workloads, can also expand the blast radius with sufficient database privileges. “To avoid these types of attacks, it is important to ensure the forms aren’t injectable,” the researchers said. “It’s also important to ensure that users with the ability to execute queries aren’t overprovisioned.”</p>



<p class="wp-block-paragraph">Huntress recommended looking beyond indicators of SQL injection during incident response. Examining Oracle environments for unexpected Java source objects, compiled Java classes, and stored procedures could indicate abuse of the embedded Java Virtual Machine, it said. The firm also shared indicators of compromise (IOCs), including file hashes, malicious Java artifacts, SQL statements, and search terms to help defenders identify affected systems.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Autonomy is earned, not claimed]]></title>
<description><![CDATA[After more than 300,000 production penetration tests (pentests), our company has learned something that may surprise people watching the recent wave of autonomous security announcements.



The hardest problem in autonomous security isn’t teaching a machine how to attack. It’s teaching an AI-base...]]></description>
<link>https://tsecurity.de/de/3708065/it-security-nachrichten/autonomy-is-earned-not-claimed/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708065/it-security-nachrichten/autonomy-is-earned-not-claimed/</guid>
<pubDate>Thu, 06 Aug 2026 14:12: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">After more than 300,000 production penetration tests (pentests), our company has learned something that may surprise people watching the recent wave of autonomous security announcements.</p>



<p class="wp-block-paragraph">The hardest problem in autonomous security isn’t teaching a machine how to attack. It’s teaching an AI-based system how to operate safely, predictably, and repeatedly inside production environments where mistakes have consequences.</p>



<p class="wp-block-paragraph">Finding an attack path is an engineering problem. Building a platform that organizations trust to operate against healthcare systems, financial institutions, manufacturers, and critical infrastructure is an operational one. The difference only becomes apparent after years of running at scale.</p>



<p class="wp-block-paragraph">As the industry embraces AI agents, autonomous red teaming, and machine-speed operations, much of the conversation remains focused on capability. Can a machine identify a path to compromise? Can it chain weaknesses together? Can it achieve the same outcome as a human operator?</p>



<p class="wp-block-paragraph">Those are reasonable questions. They are not the questions security leaders ultimately care about.</p>



<p class="wp-block-paragraph">Security leaders need confidence that a platform can operate safely in production, consistently produce meaningful results, and help teams make better decisions about risk. In our experience, that’s where the real challenge begins.</p>



<p class="wp-block-paragraph">Since 2019, <a href="https://horizon3.ai/nodezero" target="_blank" rel="noreferrer noopener">NodeZero</a><sup>®</sup> has executed more than 300,000 production pentests across thousands of environments. Those engagements have reinforced a lesson that continues to surface.</p>



<p class="wp-block-paragraph">The biggest security challenges rarely come from what organizations cannot see. They come from separating signal from noise.</p>



<p class="wp-block-paragraph">Most organizations are not struggling to find vulnerabilities</p>



<p class="wp-block-paragraph">The security industry has spent decades improving visibility.</p>



<p class="wp-block-paragraph">Organizations have vulnerability scanners, attack surface management platforms, cloud security tools, exposure management programs, and countless dashboards filled with findings. Most security teams are not suffering from a lack of information. This issue is: They’re struggling to determine which information matters.</p>



<p class="wp-block-paragraph">Attackers do not think in terms of individual findings. They think in terms of outcomes. They identify a weakness, combine it with another weakness, move through the environment, and pursue an objective. The path matters more than any individual step along the way.</p>



<p class="wp-block-paragraph">Security teams often inherit the opposite problem. Thousands of findings arrive in a dashboard, each evaluated independently, with little context around how those weaknesses might connect. As a result, teams spend significant time debating severity while attackers focus on exploitability.</p>



<p class="wp-block-paragraph">The difference sounds subtle, but it changes everything. Severity describes a vulnerability. Exploitability describes risk.</p>



<p class="wp-block-paragraph"><strong>Experience changes how you evaluate risk</strong></p>



<p class="wp-block-paragraph">Trust isn’t built on promises, it’s built on the deep experience gained from executing hundreds of thousands of pentests. Over time, recurring patterns begin to emerge regardless of industry, technology stack, or organizational maturity.</p>



<p class="wp-block-paragraph">We’ve seen organizations trust legacy tools that require enormous effort to remediate vulnerabilities that had little practical impact, while overlooking seemingly minor weaknesses that ultimately enabled significant compromise. That happens because risk rarely exists as a single vulnerability. It exists in the way weaknesses interact with one another.</p>



<p class="wp-block-paragraph">In a <a href="https://horizon3.ai/intelligence/blogs/patch-tuesday-to-pentest-wednesday-cyber-resilience/" target="_blank" rel="noreferrer noopener">financial services environment</a>, a single compromised credential led to 586 critical impacts across 115 hosts, including three separate domain compromises. Viewed independently, the credential did not appear particularly significant. Viewed as part of an attack path, it became something entirely different.</p>



<p class="wp-block-paragraph">In another <a href="https://horizon3.ai/intelligence/blogs/patch-tuesday-to-pentest-wednesday-cloud-compromise/" target="_blank" rel="noreferrer noopener">cloud environment</a>, the path to full Entra ID tenant compromise did not require a common vulnerabilities and exposures (CVE) or zero-day exploit. The weaknesses involved were already known. Existing tools had identified them. What was missing was an understanding of how those weaknesses could be chained together and what that chain of events meant for the organization.</p>



<p class="wp-block-paragraph">We have also seen organizations discover that the initial compromise was not the most important part of the assessment. In one <a href="https://horizon3.ai/intelligence/blogs/pw_measure-blast-radius/" target="_blank" rel="noreferrer noopener">education environment</a>, the larger question was how far an attacker could move after gaining access. Measuring blast radius exposed paths to systems and data that were never expected to be reachable from the original point of compromise.</p>



<p class="wp-block-paragraph">These examples reinforce the same lesson. The challenge is rarely finding weaknesses. The challenge is knowing which weaknesses matter before an attacker does. That kind of judgment isn’t built from demonstrations or benchmarks. It’s earned through years of operating in production environments and seeing how real attack paths emerge across thousands of organizations.</p>



<p class="wp-block-paragraph">Click <a href="https://horizon3.ai/intelligence/blogs/autonomy-is-earned-not-claimed/#:~:text=Capability%20Gets%20Attention.%20Reliability%20Builds%20Trust." target="_blank" rel="noreferrer noopener">here</a> to learn why reliability is the key to building trust and how to get there.</p>



<p class="wp-block-paragraph"><strong>What 7 years of autonomous pentesting taught us</strong></p>



<p class="wp-block-paragraph">Most organizations do not need another source of findings. They already have more findings than they can realistically address. What they need is confidence in what is actually exploitable, how attackers would use it, and whether their fixes reduced risk.</p>



<p class="wp-block-paragraph">That’s the lesson we’ve learned from years of operating in production environments.</p>



<p class="wp-block-paragraph">And it’s the problem we have solved. </p>



<p class="wp-block-paragraph"><a href="https://horizon3.ai/contact-us/schedule-demo/" target="_blank" rel="noreferrer noopener">Get a demo</a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Chinese RAM supplier denies Apple's bid for cheaper RAM]]></title>
<description><![CDATA[Apple has been testing memory made by China's CXMT as a lower-cost supplier as its regular suppliers hike up prices, but CXMT is demanding what Samsung gets paid for RAM.A Samsung LPDDR5X memory chip - Image Credit: SamsungIt was an idea that would help Apple in the short term at best, and it was...]]></description>
<link>https://tsecurity.de/de/3708000/ios-mac-os/chinese-ram-supplier-denies-apples-bid-for-cheaper-ram/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708000/ios-mac-os/chinese-ram-supplier-denies-apples-bid-for-cheaper-ram/</guid>
<pubDate>Thu, 06 Aug 2026 14:01:25 +0200</pubDate>
<content:encoded><![CDATA[Apple has been testing memory made by China's CXMT as a lower-cost supplier as its regular suppliers hike up prices, but CXMT is demanding what Samsung gets paid for RAM.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68199-143774-68090-143531-67518-142181-66507-139493-66157-138669-samsungthinmemory-xl-xl-xl-xl-xl.jpg" alt="A fingertip carefully balancing an ultra thin computer microchip, highlighting its tiny pins and delicate, compact design against a soft, bright background" height="738"><br><span>A Samsung LPDDR5X memory chip - Image Credit: Samsung</span></div><br>It was an idea that would help Apple in the <a href="https://appleinsider.com/articles/26/07/08/apple-testing-banned-vendor-ram-is-a-band-aid-not-a-cure">short term</a> at best, and it was one that got it repeated criticism from <a href="https://appleinsider.com/articles/26/07/30/us-senators-urge-apple-to-abandon-plans-for-chinese-made-chips">US senators</a> and <a href="https://appleinsider.com/articles/26/07/25/micron-urges-white-house-to-reject-apples-blacklist-memory-plan">memory firms</a>. But with the global chip shortage <a href="https://appleinsider.com/articles/26/08/05/the-worlds-ram-supply-crisis-is-going-to-get-worse-before-it-gets-better">only getting worse</a> because of demands from AI firms, Apple asked Trump to allow it to buy from <a href="https://appleinsider.com/articles/26/06/27/apple-asks-trump-to-let-it-buy-memory-from-a-blacklisted-supplier">blacklisted CXMT</a> for use globally.<br><br>Now according to Korean technology site <em>Digital Daily</em>, however, <a href="https://www.ddaily.co.kr/page/view/2026080513445474844">CXMT has rejected</a> Apple's discount demands. This may not be the end of Apple buying from the firm, though, as reportedly it is specifically the <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> maker's attempt to negotiate a price cut that has failed.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/chinese-ram-supplier-denies-apples-bid-for-cheaper-ram?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245182?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[MacPaw Partners With Liquid AI To Build Local Assistant Tools]]></title>
<description><![CDATA[MacPaw is teaming up with Liquid AI to build a new on-device assistant layer tailored specifically for Apple computers. The software developer wants to keep your data local instead of sending it to the cloud. By building a shared technology stack from the ground up, MacPaw aims to make its macOS ...]]></description>
<link>https://tsecurity.de/de/3707998/ios-mac-os/macpaw-partners-with-liquid-ai-to-build-local-assistant-tools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707998/ios-mac-os/macpaw-partners-with-liquid-ai-to-build-local-assistant-tools/</guid>
<pubDate>Thu, 06 Aug 2026 13:59:22 +0200</pubDate>
<content:encoded><![CDATA[MacPaw is teaming up with Liquid AI to build a new on-device assistant layer tailored specifically for Apple computers. The software developer wants to keep your data local instead of sending it to the cloud. By building a shared technology stack from the ground up, MacPaw aims to make its macOS assistant named Eney much smarter.



The firm's goal is to let the tool operate natively on your Mac while keeping your conversation history and personal search data secure.



The shared technology stack will expand to other developer apps



The partnership relies on adapting Liquid Foundation Models for regular desktop use. These tools will join the memory and inference features MacPaw already has, which are called Mnemos and Elix. Eney moved to a local setup last year so it could handle reasoning and run tasks directly on your computer.



Now, the company is pushing that boundary further. Rather than just plugging in an external model, the two groups are creating a custom AI foundation together. Once the new system is tested and ready, MacPaw plans to integrate the technology into more of its products. It also wants to share this custom artificial intelligence setup with other developers through the Setapp platform.



This move means participating apps could open up their inner workings and share context with Eney. If an application exposes its capabilities to the assistant, Eney will understand what is happening inside that specific program. It can then offer helpful answers or take direct actions for the user without needing an internet connection.



Instead of relying on remote servers that process your data out of sight, this local approach keeps control in your hands. It shows a growing trend where desktop software prioritizes privacy and speed by keeping tasks on the machine itself.]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Asks Judge to Dismiss Apple Trade Secrets Lawsuit]]></title>
<description><![CDATA[OpenAI has asked a federal judge to dismiss Apple’s trade secrets lawsuit, arguing that the case relies on weak claims and fails to identify what confidential information the AI company allegedly received or used.



Bloomberg reports that OpenAI defended Chief Hardware Officer Tang Yew Tan, who ...]]></description>
<link>https://tsecurity.de/de/3707999/ios-mac-os/openai-asks-judge-to-dismiss-apple-trade-secrets-lawsuit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707999/ios-mac-os/openai-asks-judge-to-dismiss-apple-trade-secrets-lawsuit/</guid>
<pubDate>Thu, 06 Aug 2026 13:59:22 +0200</pubDate>
<content:encoded><![CDATA[OpenAI has asked a federal judge to dismiss Apple’s trade secrets lawsuit, arguing that the case relies on weak claims and fails to identify what confidential information the AI company allegedly received or used.



Bloomberg reports that OpenAI defended Chief Hardware Officer Tang Yew Tan, who spent 24 years at Apple before co-founding io Products with Jony Ive. OpenAI said Tan followed standard recruiting practices when speaking with Apple employees and did not run a scheme to collect protected information.



OpenAI also defended senior systems engineer Chang Liu, one of the former Apple employees named in the lawsuit. Apple claims Liu accessed confidential hardware files after discovering an authentication issue, while OpenAI said he was helping a former colleague locate information for their own work.



OpenAI challenges Apple’s evidence



Axios reports that OpenAI also questioned how Apple built its case, arguing that Apple’s own security practices left former employees with access to certain systems and personal messages. The company said those problems do not prove that OpenAI coordinated any theft.



OpenAI also disputed Apple’s account of earlier communication between the two companies, saying Apple’s outside lawyers contacted the wrong employee after confusing two people with similar surnames.



Apple has separately asked the judge for a preliminary injunction that would stop OpenAI from using any alleged trade secrets while the case continues. Apple also wants faster discovery involving Liu, Tan, OpenAI, io, and other former employees.



OpenAI must formally respond to the injunction request by August 17, while the judge plans to hear arguments on October 1.]]></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[Prime Intellect Releases Prime Agent: An Open-Source RLM Harness Where Sub-Agents Are Function Calls Inside Persistent IPython Kernel]]></title>
<description><![CDATA[Prime Intellect has open-sourced Prime Agent, a coding and research harness built on two abstractions: the Recursive Language Model, which turns sub-agent calls into functions inside a persistent IPython kernel, and the Continual Harness, which lets the agent edit its own prompts, skills, memory,...]]></description>
<link>https://tsecurity.de/de/3707913/ai-nachrichten/prime-intellect-releases-prime-agent-an-open-source-rlm-harness-where-sub-agents-are-function-calls-inside-persistent-ipython-kernel/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707913/ai-nachrichten/prime-intellect-releases-prime-agent-an-open-source-rlm-harness-where-sub-agents-are-function-calls-inside-persistent-ipython-kernel/</guid>
<pubDate>Thu, 06 Aug 2026 13:18:35 +0200</pubDate>
<content:encoded><![CDATA[<p>Prime Intellect has open-sourced Prime Agent, a coding and research harness built on two abstractions: the Recursive Language Model, which turns sub-agent calls into functions inside a persistent IPython kernel, and the Continual Harness, which lets the agent edit its own prompts, skills, memory, and sub-agent specs mid-run. With Opus 5 it reports 95.5% RHAE Best@1 on ARC-AGI-3, above the reported human expert baseline of 95.4%.</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/06/prime-intellect-releases-prime-agent/">Prime Intellect Releases Prime Agent: An Open-Source RLM Harness Where Sub-Agents Are Function Calls Inside Persistent IPython Kernel</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple TV confirms Slow Horses Season 6 release date]]></title>
<description><![CDATA[Apple TV is bringing Slow Horses back this fall, with Gary Oldman returning as the sharp-minded and bad-tempered MI5 veteran Jackson Lamb. Season 6 premieres globally on Wednesday, September 16, 2026, and will continue the British spy drama’s mix of tense missions, dark humor, office politics, an...]]></description>
<link>https://tsecurity.de/de/3707867/ios-mac-os/apple-tv-confirms-slow-horses-season-6-release-date/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707867/ios-mac-os/apple-tv-confirms-slow-horses-season-6-release-date/</guid>
<pubDate>Thu, 06 Aug 2026 13:15:04 +0200</pubDate>
<content:encoded><![CDATA[Apple TV is bringing Slow Horses back this fall, with Gary Oldman returning as the sharp-minded and bad-tempered MI5 veteran Jackson Lamb. Season 6 premieres globally on Wednesday, September 16, 2026, and will continue the British spy drama’s mix of tense missions, dark humor, office politics, and dangerous mistakes.




Season: 6



Number of episodes: 6



Genre: Spy thriller, drama and dark comedy



Premiere date: September 16, 2026



Finale date: October 21, 2026



Release schedule: One new episode every Wednesday



Streaming platform: Apple TV



Age rating: TV-MA




What is Slow Horses Season 6 about?



Season 6 places the Slough House agents in greater danger as Diana Taverner pulls them into a deadly game involving revenge and retaliation. The team will find itself on the run, forcing Jackson Lamb and his troubled agents to work together while powerful figures inside British intelligence close in on them.



The story adapts Joe Country and Slough House, the sixth and seventh novels in Mick Herron’s book series. The season will continue following the rejected MI5 agents who work from Slough House after serious professional mistakes damaged their careers, although their unusual methods often place them at the centre of major national security cases.



Gary Oldman returns as Jackson Lamb alongside Kristin Scott Thomas as Diana Taverner and Jack Lowden as River Cartwright. Saskia Reeves, Christopher Chung, Aimee-Ffion Edwards, Rosalind Eleazar, Jonathan Pryce, Hugo Weaving and several other familiar cast members will also return. Lenny Rush joins the series as a new cast member.



Slow Horses Season 6 FAQs



When does Slow Horses Season 6 start?



Slow Horses Season 6 premieres on Apple TV on Wednesday, September 16, 2026. The season begins with one episode rather than a multi-episode premiere.



When will the Slow Horses Season 6 finale air?



The sixth and final episode will arrive on Wednesday, October 21, 2026. Apple TV will release one episode each week between the premiere and finale.



How many episodes are in Slow Horses Season 6?



Season 6 contains six episodes, matching the compact structure used throughout the previous seasons.



Is Gary Oldman returning for Slow Horses Season 6?



Yes. Gary Oldman returns as Jackson Lamb, the brilliant but abrasive leader of the Slough House team. Kristin Scott Thomas and Jack Lowden will also return in major roles.



Do I need to watch the earlier seasons first?



Watching the first five seasons will help because Season 6 continues existing character relationships, rivalries and intelligence-service conflicts. All five previous seasons are available to stream on Apple TV.



Has Slow Horses been renewed for Season 7?



Yes, Slow Horses will continue beyond Season 6, so the September return will not mark the end of Jackson Lamb and the Slough House agents.



Apple TV costs $12.99 per month in the United States after a seven-day free trial for new subscribers. With all five existing seasons already available, viewers have enough time to catch up before Slow Horses Season 6 begins on September 16. What do you plan to watch on Apple TV this fall? Let us know in the comments.]]></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[Anthropic’s Mythos AI used social engineering to target real people]]></title>
<description><![CDATA[Testers found that Anthropic's AI agent Mythos attempted to social engineer Github developers into accepting malicious code.]]></description>
<link>https://tsecurity.de/de/3707751/it-security-nachrichten/anthropics-mythos-ai-used-social-engineering-to-target-real-people/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707751/it-security-nachrichten/anthropics-mythos-ai-used-social-engineering-to-target-real-people/</guid>
<pubDate>Thu, 06 Aug 2026 13:02:18 +0200</pubDate>
<content:encoded><![CDATA[Testers found that Anthropic's AI agent Mythos attempted to social engineer Github developers into accepting malicious code.]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI Tightens AI Evaluation Safeguards After Testing Incidents]]></title>
<description><![CDATA[OpenAI models accessed the public internet during separate third-party cyber evaluations conducted by independent testing partners, prompting the company to review how high-risk AI testing is managed. OpenAI said the incidents occurred under specialized testing configurations with reduced safegua...]]></description>
<link>https://tsecurity.de/de/3707746/it-security-nachrichten/openai-tightens-ai-evaluation-safeguards-after-testing-incidents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707746/it-security-nachrichten/openai-tightens-ai-evaluation-safeguards-after-testing-incidents/</guid>
<pubDate>Thu, 06 Aug 2026 13:01:56 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1536" height="1024" src="https://thecyberexpress.com/wp-content/uploads/OpenAI-models.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="OpenAI models" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/OpenAI-models.webp 1536w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-300x200.webp 300w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-1024x683.webp 1024w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-768x512.webp 768w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-600x400.webp 600w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-150x100.webp 150w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-750x500.webp 750w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-1140x760.webp 1140w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models.webp 1536w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-300x200.webp 300w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-1024x683.webp 1024w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-768x512.webp 768w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-600x400.webp 600w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-150x100.webp 150w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-750x500.webp 750w, https://thecyberexpress.com/wp-content/uploads/OpenAI-models-1140x760.webp 1140w" sizes="(max-width: 1536px) 100vw, 1536px" title="OpenAI Tightens AI Evaluation Safeguards After Testing Incidents 1"></p><p class="PDq2pG_selectionAnchorContainer" data-start="628" data-end="1115">OpenAI models accessed the public internet during separate third-party cyber evaluations conducted by independent testing partners, prompting the company to review how high-risk AI testing is managed. <a href="https://thecyberexpress.com/?s=OpenAI" target="_blank" rel="noopener">OpenAI</a> said the incidents occurred under specialized testing configurations with reduced safeguards and did not reflect how its models operate in public deployments. The company added that the events were unrelated to the previously disclosed <a href="https://thecyberexpress.com/openai-and-hugging-face-ai-security-incident/" target="_blank" rel="noopener">Hugging Face security incident</a>.</p>
<p data-start="1117" data-end="1363">The incidents involved evaluations conducted by UK AISI and <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-cybersecurity/" title="cybersecurity" data-wpil-keyword-link="linked" data-wpil-monitor-id="29263">cybersecurity</a> testing partner Irregular, where testing conditions or environment configurations enabled models to interact with systems beyond the intended evaluation boundaries.</p>

<h2 data-section-id="47rzxi" data-start="1365" data-end="1419"><strong data-start="160" data-end="217">OpenAI Models Prompt Review of Third-Party AI Testing</strong></h2>
<p data-start="1421" data-end="1713">OpenAI <a href="https://openai.com/index/third-party-cyber-evaluations-involving-openai-models/" target="_blank" rel="nofollow noopener">said</a> independent cybersecurity evaluations are essential for understanding model capabilities before deployment. Some evaluations intentionally reduce safeguards or enable additional capabilities to measure how models perform under conditions that resemble real-world <a class="wpil_keyword_link" href="https://thecyberexpress.com/cyber-news/" title="cyber" data-wpil-keyword-link="linked" data-wpil-monitor-id="29266">cyber</a> operations.</p>
<p data-start="1715" data-end="1897">According to the company, the latest incidents highlighted the need to strengthen the <a class="wpil_keyword_link" href="https://thecyberexpress.com/" title="security" data-wpil-keyword-link="linked" data-wpil-monitor-id="29265">security</a> controls surrounding independent testing environments as AI models become more capable.</p>
<p data-start="1899" data-end="2205">OpenAI said it will review how it manages third-party cyber evaluations, including how higher-risk testing is identified, when <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-internet/" title="internet" data-wpil-keyword-link="linked" data-wpil-monitor-id="29270">internet</a> access or reduced safeguards should be permitted, how testing environments should be isolated, and how incident reporting and monitoring procedures should be handled.</p>
<p data-start="2207" data-end="2385">The company also plans to work with national AI institutes, independent evaluators, and other AI developers to establish stronger industry practices for high-risk AI evaluations.</p>

<h2 data-section-id="r0rmg1" data-start="2387" data-end="2452"><span role="text"><strong data-start="2390" data-end="2452">UK AISI Identified Two Unsanctioned Actions by GPT 5.6 Sol</strong></span></h2>
<p data-start="2454" data-end="2679">On August 3, <strong data-start="2467" data-end="2478">UK AISI</strong>, the UK's <strong data-start="2489" data-end="2514">AI Security Institute</strong>, informed OpenAI that during a cyber evaluation that began on July 25, models from OpenAI and another AI lab performed activities beyond the intended testing scope.</p>
<p data-start="2681" data-end="3000">The evaluation used simulated cyber ranges where models acted as <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-cybersecurity/" target="_blank" rel="noopener" title="cybersecurity" data-wpil-keyword-link="linked" data-wpil-monitor-id="29268">cybersecurity</a> experts in a <strong data-start="2773" data-end="2793">Capture-the-Flag</strong> exercise. Internet access was intentionally enabled so agents could download tools similar to those available to real attackers, while cyber classifiers were disabled to measure underlying model capability.</p>
<p data-start="3002" data-end="3057">Among 19 recorded <a class="wpil_keyword_link" href="https://thecyberexpress.com/cyber-security-events/" title="events" data-wpil-keyword-link="linked" data-wpil-monitor-id="29267">events</a>, two involved GPT 5.6 Sol.</p>
<p data-start="3059" data-end="3414">According to OpenAI, the model reused a publicly accessible GitHub token left behind by another lab's agent to determine whether systems inside the simulated environment were communicating with GitHub or update services. It also attempted account recovery and request-limit workarounds while registering accounts with external DNS and tunneling providers.</p>
<p data-start="3416" data-end="3695">In a separate action, GPT 5.6 Sol used a public tunneling service to expose a locally hosted DNS server from the evaluation environment to the public internet. The server contained exploit payloads intended for a known software <a class="wpil_keyword_link" href="https://thecyberexpress.com/firewall-daily/vulnerabilities/" title="vulnerability" data-wpil-keyword-link="linked" data-wpil-monitor-id="29262">vulnerability</a> within the simulated cyber range.</p>
<p data-start="3697" data-end="3888">OpenAI said the setup did not function as intended, no evidence indicated that any real internet resolver queried the server, and the infrastructure was removed when the evaluation concluded.</p>
<p data-start="3890" data-end="4050">UK AISI considered both actions outside the authorized testing boundary because they involved external services that were not required to complete the exercise.</p>
<p data-start="4052" data-end="4235">Security monitoring detected unusual <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="29264">data</a> transfers on July 28. UK AISI halted the evaluation, isolated the affected systems, and contained the activity within approximately one hour.</p>

<h2 data-section-id="1f6u2ju" data-start="4237" data-end="4293"><span role="text"><strong data-start="4240" data-end="4293">Irregular Finds Misconfigured Testing Environment</strong></span></h2>
<p data-start="4295" data-end="4432">A second incident was reported on July 29 by Irregular, another organization conducting third-party cyber evaluations for OpenAI.</p>
<p data-start="4434" data-end="4652">The testing environment was intended to remain isolated from the internet during another Capture-the-Flag exercise. However, a configuration error unintentionally allowed the models to access external websites.</p>
<p data-start="4654" data-end="4881">During one evaluation, the fictional domain used in the exercise matched an actual website. Because internet connectivity was available, the model interacted with the live site, believing it was part of the simulated challenge.</p>
<p data-start="4883" data-end="5081">Irregular said the incident did not involve a sandbox escape or zero-day <a class="wpil_keyword_link" href="https://cyble.com/exploit/" target="_blank" rel="noopener" title="exploit" data-wpil-keyword-link="linked" data-wpil-monitor-id="29269">exploit</a>. Instead, the model exploited a basic security vulnerability on the website after gaining unintended internet access.</p>
<p data-start="5083" data-end="5298">The investigation also found that the model used credentials associated with the same website. According to Irregular, no impacts beyond that site's own data have been identified, although its audit remains ongoing.</p>
<p data-start="5300" data-end="5466">The organization has paused the evaluations, completed remediation, notified affected third parties, and implemented additional safeguards in its testing environment.</p>
<p data-start="5468" data-end="5674" data-is-last-node="" data-is-only-node="">OpenAI said it will continue working with both UK AISI and Irregular to improve evaluation practices while ensuring independent cybersecurity testing remains rigorous as AI capabilities continue to advance.</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[Remus Infostealer Hides Command Server Inside Ethereum Smart Contract]]></title>
<description><![CDATA[A newly observed Remus Infostealer campaign is using SEO-poisoned websites that advertise fake cracked software to infect users, with Turkish-language download lures indicating a likely focus on victims in Turkey. The malware then steals browser data, gaming sessions, FTP credentials, clipboard c...]]></description>
<link>https://tsecurity.de/de/3707736/it-security-nachrichten/remus-infostealer-hides-command-server-inside-ethereum-smart-contract/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707736/it-security-nachrichten/remus-infostealer-hides-command-server-inside-ethereum-smart-contract/</guid>
<pubDate>Thu, 06 Aug 2026 13:01:38 +0200</pubDate>
<content:encoded><![CDATA[<p>A newly observed Remus Infostealer campaign is using SEO-poisoned websites that advertise fake cracked software to infect users, with Turkish-language download lures indicating a likely focus on victims in Turkey. The malware then steals browser data, gaming sessions, FTP credentials, clipboard contents, screenshots, and email storage files. The campaign stands out because Remus does not […]</p>
<p>The post <a href="https://cyberpress.org/remus-hides-c2-on-ethereum/">Remus Infostealer Hides Command Server Inside Ethereum Smart Contract</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></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[7 use cases for leveraging AI in the physical world]]></title>
<description><![CDATA[The next big AI wave won’t be a chatbot in your laptop, or an agent that works behind the scenes to turn meeting notes into project tickets, but AI that takes control of devices that move and interact with the environment.



Physical AI can be defined as the integration of AI into autonomous sys...]]></description>
<link>https://tsecurity.de/de/3707682/it-security-nachrichten/7-use-cases-for-leveraging-ai-in-the-physical-world/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707682/it-security-nachrichten/7-use-cases-for-leveraging-ai-in-the-physical-world/</guid>
<pubDate>Thu, 06 Aug 2026 12:51:44 +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 next big AI wave won’t be a chatbot in your laptop, or an <a href="https://www.cio.com/article/3603856/agentic-ai-promising-use-cases-for-business.html">agent that works behind the scenes</a> to turn meeting notes into project tickets, but AI that takes control of devices that move and interact with the environment.</p>



<p class="wp-block-paragraph"><a href="https://www.nvidia.com/en-us/glossary/generative-physical-ai/">Physical AI can be defined</a> as the integration of AI into autonomous systems, allowing them to perceive the environment around them and perform complex actions in the physical world. The <a href="https://www.cio.com/article/4053096/ai-is-here-physical-ai-is-coming-fast.html">physical AI</a> market, currently valued at about $92 billion, is <a href="https://www.strategyand.pwc.com/de/en/industries/telecommunication-media-and-technology/physical-ai.html">projected by PwC</a> to surpass $489 billion by 2030.</p>



<p class="wp-block-paragraph">For many people, physical AI may conjure images of robots building widgets on a factory floor, or a self-driving car. Both examples are among the top use cases for physical AI, but physical AI is also being integrated into security cameras, traffic lights, inspection robots, medical devices, and more.</p>



<h2 class="wp-block-heading">What makes a strong use case for physical AI</h2>



<p class="wp-block-paragraph">IT leaders thinking about how to use physical AI should think beyond the <a href="https://www.cio.com/article/3829539/ai-humanoid-robots-inch-their-way-toward-the-workforce.html">human-shaped robots</a> that generate a lot of attention, says <a href="https://www.linkedin.com/in/adnano/">Adnan Masood</a>, chief AI architect at digital transformation provider UST.</p>



<p class="wp-block-paragraph">“I usually have one caution for CIOs — skip the humanoid theater,” he says. “The near-term advantage is adaptive automation in variable environments where conditions change, humans share the space, and downtime is expensive.”</p>



<p class="wp-block-paragraph">The sweet spot for physical AI is when it can run safely and repeatedly and can be audited within existing safety and compliance regimes, he adds.</p>



<p class="wp-block-paragraph">For physical AI to make a big impact, a handful of conditions must exist, adds <a href="https://www.linkedin.com/in/vikramvenkat">Vikram Venkat</a>, investor in physical AI systems at Cota Capital.</p>



<p class="wp-block-paragraph">First, there should be a major labor component, such as existing or expected labor shortages or conditions that make the work dangerous for humans, he says. In addition, the environment should be relatively constrained, because physical AI platforms generally aren’t yet proficient at handling highly variable environments.</p>



<p class="wp-block-paragraph">Finally, the task should be repeatable, often at high volumes, and have clear measurable outcomes, he adds.</p>



<p class="wp-block-paragraph">In the short term, a couple of other conditions should exist, Venkat says. First, deployments should be simple, and require minimal changes to existing processes, additional infrastructure, or integrations into existing systems. Second, humans in the loop should be able to correct errors.</p>



<h2 class="wp-block-heading">Top use cases for physical AI</h2>



<p class="wp-block-paragraph">Despite those constraints, physical AI’s potential is huge, says <a href="https://www.linkedin.com/in/albert-liu-%E5%8A%89%E5%B3%BB%E8%AA%A0-6a7095117?originalSubdomain=tw">Albert Liu</a>, founder and CEO of edge AI solutions vendor Kneron.</p>



<p class="wp-block-paragraph">“Most people think physical AI begins with robots, which is simply the example our minds go to since it has been the most visible until now,” he notes. “But physical AI isn’t just about the typical answer — machines that move — it’s about environments that become intelligent.”</p>



<p class="wp-block-paragraph">With several caveats in mind, here are seven promising uses for physical AI systems.</p>



<h3 class="wp-block-heading">Manufacturing robots</h3>



<p class="wp-block-paragraph">When thinking about physical AI, many people may envision robots manufacturing cars or other products. That’s certainly happening, with several vendors offering builder robots for sale, and with the industrial robotics market valued at $54.3 billion in 2026, growing to $94.4 billion by 2031, <a href="https://www.mordorintelligence.com/industry-reports/industrial-robotics-market">according to Mordor Intelligence</a>.</p>



<p class="wp-block-paragraph">One example of robots building products comes from car maker <a href="https://www.cio.com/article/4193455/bmw-brings-ai-robots-into-logistics.html">BMW, which has used a humanoid robot</a> to weld parts together at a plant in the US.</p>



<h3 class="wp-block-heading">Quality inspection and predictive maintenance</h3>



<p class="wp-block-paragraph">Physical AI deployed inside manufacturing environments isn’t just being used to assemble products. The technology is also being used for material handling and automated quality inspection and defect checking, with labor shortages and constrained environments driving use, notes Venkat.</p>



<p class="wp-block-paragraph"><a href="https://www.ibm.com/think/topics/ai-in-manufacturing">Predictive maintenance</a> is also a sweet spot for physical AI in manufacturing. AI can be used to check that the software powering equipment is working correctly, says UST’s Masood.</p>



<p class="wp-block-paragraph">“Agentic pipelines now read hardware schematics and chip pinouts natively, generate the regression suites engineers once scripted by hand, and compare live equipment telemetry against digital twins to catch firmware regressions and signal-integrity faults before a production run,” he says.</p>



<p class="wp-block-paragraph">Boston Dynamics’ four-legged Spot is an example of a marriage between robotics and AI, with the company saying thousands of robots have been deployed across 40 countries at companies such as Intel, Chevron, Michelin, <a href="https://www.cio.com/article/4156956/cargill-deploys-private-5g-to-aid-factory-ai-and-automation-efforts.html">and Cargill</a>. Spot is used to automate industrial inspections, conduct predictive maintenance, and go on security patrols.</p>



<p class="wp-block-paragraph">Boston Dynamics also sells Stretch, which automates the unloading of trailers and containers, and Atlas, a humanoid robot that can lift, sort, and assemble products.</p>



<p class="wp-block-paragraph">Physical AI embedded into cameras and sensors can provide quality control inspections on factory floors, notes <a href="https://www.linkedin.com/in/sandhuparm/">Parm Sandhu</a>, group vice president for enterprise AI, edge computing, and digital innovation at IT solutions provider NTT DATA.</p>



<p class="wp-block-paragraph">“They want to make sure the products built right the first time,” he says. “We use a foundation model, set up with cameras and trained in self-learning, so it very can very quickly learn standard operating procedure for one factory station.”</p>



<h3 class="wp-block-heading">Autonomous vehicles and drones</h3>



<p class="wp-block-paragraph">The promise of self-driving cars entered the public consciousness several years ago, and the market, separate from the physical AI market, was worth more than <a href="https://www.gminsights.com/industry-analysis/self-driving-cars-market">$200 billion in 2025</a>, according to Global Market Insights.</p>



<p class="wp-block-paragraph">Autonomous taxis are also gaining momentum, with Waymo and Tesla <a href="https://www.businessinsider.com/robotaxi-locations-us-cities-tesla-waymo-uber-2025-12">launching robotaxi experiments</a> in limited areas in 2025. Uber also has huge plans for robotaxis.</p>



<p class="wp-block-paragraph">But the autonomous vehicle market extends far beyond cars driving down the highway. Autonomous farm equipment, including <a href="https://www.inven.ai/company-lists/top-21-autonomous-farming-equipment-companies">tractors, harvesters, and drones</a>, represent a growing market, with market size estimates varying wildly. Global Market Insights <a href="https://www.gminsights.com/industry-analysis/autonomous-farm-equipment-market">estimated the market</a> to be worth $70.9 billion in 2025, with projections for it to reach $144.7 billion by 2035.</p>



<p class="wp-block-paragraph">Drones can also be operated by an AI, leading to all kinds of applications, including military uses and food and package delivery services. Amazon and other companies have experimented with drone delivery services in recent years, and DoorDash announced in late July that it <a href="https://techcrunch.com/2026/07/29/doordash-is-building-its-own-drone-delivery-business/">would jump into the market</a>.</p>



<p class="wp-block-paragraph">One use that staddles the autonomous vehicle and manufacturing use cases involves self-driving forklifts. NTT DATA has worked with forklift manufacturer Hyster-Yale to install self-driving capabilities into the vehicles, in part a response to labor shortages, Sandhu says.</p>



<p class="wp-block-paragraph">“If you think about manufacturing, pretty much everything you touch in that world was lifted by a forklift somewhere or components were lifted by a forklift somewhere,” he says. “But people don’t want to drive forklifts, and that’s a huge problem.”</p>



<h3 class="wp-block-heading">Fleet and warehouse coordination</h3>



<p class="wp-block-paragraph">Physical AI, built into trucks and smart shelves, can track and better coordinate the movement of materials and products, from the warehouse to the end customer. Physical AI, installed in robots, <a href="https://racklify.com/encyclopedia/physical-ai-in-warehouses-and-logistics-a-beginners-guide/">can pick, sort, and transport</a> goods. AI can use fleet telemetry to optimize routes in the shipping fleet.</p>



<p class="wp-block-paragraph">AI models can now orchestrate thousands of autonomous mobile robots across fulfillment networks, what UST’s Masood calls “air traffic control for robots.”</p>



<p class="wp-block-paragraph">The AI intelligence sits in the coordination layer that routes, sequences, and removes conflicts in the fleet, he adds. “It scales in ways single-robot programming never could,” notes.</p>



<p class="wp-block-paragraph">Physical AI has moved beyond pilots and is operating at enterprise scale in warehouses, according to Symbotic, a warehouse physical AI vendor.</p>



<p class="wp-block-paragraph">The company’s fleet of 22,000 autonomous mobile robots that traveled more than 200 million miles in 2025, with one robot traveling more than 52,000 miles, or more than twice the distance around the Earth, the company says.</p>



<h3 class="wp-block-heading">Surveillance and physical security</h3>



<p class="wp-block-paragraph">Physical AI’s application to physical security includes roving robots like Boston Dynamics’ Spot, but it also allows organizations to connect video cameras and other security tools to provide an ever-vigilant view of the secured environment.</p>



<p class="wp-block-paragraph">Companies such as Artificial Intelligence Technologies Solutions and its subsidiary Robotic Assistance Devices are connecting several devices for a sort of security mesh across a campus or building. The companies’ Speaking Autonomous Responsive Agent (SARA) is an agentic AI platform designed to coordinate cameras, fixed security devices, autonomous patrol vehicles, lights, speakers, monitoring systems, and human security personnel.</p>



<p class="wp-block-paragraph">SARA can evaluate events from physical security systems, verify security events, communicate directly with people at the site, and initiate approved responses, the companies say. The automated response can save valuable time compared to human intervention, they claim.</p>



<p class="wp-block-paragraph">Another example of the use of physical AI for security involves smart metal detectors with AI embedded inside. Athena Security is one company that offers AI-powered body scanners that claim a high rate of detection for all kinds of weapons, including razor blades and small knives.</p>



<h3 class="wp-block-heading">Smart buildings and infrastructure</h3>



<p class="wp-block-paragraph">Companies can use physical AI to monitor all kinds of metrics inside buildings and across utility grids and telecom networks, notes UST’s Masood. The AI can trigger alerts, safety interventions, or environmental controls. Hospitals are now using physical AI to coordinate care, and network operators are deploying AI-powered self-healing tools.</p>



<p class="wp-block-paragraph">Physical AI will create intelligent concierges at hotels, airports, and hospitals that provide directions, verify identities, and coordinate services, Kneron’s Liu says.</p>



<p class="wp-block-paragraph">Over the next decade, AI will be embedded in nearly all physical spaces, including drive-thru lanes, restaurants, factories, and offices, he predicts. “People will expect a security camera that understands intent instead of simply detecting motion, a hospital room that recognizes subtle changes in a patient’s condition before an alarm sounds, a retail shelf that manages inventory autonomously, or a building that continuously optimizes energy, security, and occupancy,” he adds.</p>



<h3 class="wp-block-heading">Smart cities</h3>



<p class="wp-block-paragraph">Outside of traditional enterprise environments, cities are now embedding AI into traffic devices to monitor vehicle flow and into cameras to monitor community service needs.</p>



<p class="wp-block-paragraph">The AI-powered systems can improve traffic flow, monitor intersections, and make roadways safer without relying only on human observation. Lidar maker Ouster worked with the New Jersey Department of Transportation to install sensors at 42 intersections ahead of the World Cup tournament to assist with road and pedestrian traffic congestion, the company says.</p>



<p class="wp-block-paragraph">NTT DATA is working with Brownville, Texas, to set up a citywide alert system to send workers for incidents such as when a park’s garbage containers are full and to assist police officers in filling out reports, notes Sandhu.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Attackers Compile khunt Inside Oracle to Turn SQL Injection Into Windows SYSTEM Access]]></title>
<description><![CDATA[Attackers broke into an organization's Oracle database through a SQL injection flaw in a public-facing web application, then installed a post-exploitation toolkit without writing an executable to disk. They fed Java source code to the database, let Oracle compile it into stored schema objects, an...]]></description>
<link>https://tsecurity.de/de/3707650/it-security-nachrichten/attackers-compile-khunt-inside-oracle-to-turn-sql-injection-into-windows-system-access/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707650/it-security-nachrichten/attackers-compile-khunt-inside-oracle-to-turn-sql-injection-into-windows-system-access/</guid>
<pubDate>Thu, 06 Aug 2026 12:50:29 +0200</pubDate>
<content:encoded><![CDATA[Attackers broke into an organization's Oracle database through a SQL injection flaw in a public-facing web application, then installed a post-exploitation toolkit without writing an executable to disk. They fed Java source code to the database, let Oracle compile it into stored schema objects, and ran commands from inside the database engine.

Huntress, which tracks the toolkit as khunt,]]></content:encoded>
</item>
<item>
<title><![CDATA[7 use cases for leveraging AI in the physical world]]></title>
<description><![CDATA[The next big AI wave won’t be a chatbot in your laptop, or an agent that works behind the scenes to turn meeting notes into project tickets, but AI that takes control of devices that move and interact with the environment.



Physical AI can be defined as the integration of AI into autonomous sys...]]></description>
<link>https://tsecurity.de/de/3707629/it-nachrichten/7-use-cases-for-leveraging-ai-in-the-physical-world/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707629/it-nachrichten/7-use-cases-for-leveraging-ai-in-the-physical-world/</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 next big AI wave won’t be a chatbot in your laptop, or an <a href="https://www.cio.com/article/3603856/agentic-ai-promising-use-cases-for-business.html">agent that works behind the scenes</a> to turn meeting notes into project tickets, but AI that takes control of devices that move and interact with the environment.</p>



<p class="wp-block-paragraph"><a href="https://www.nvidia.com/en-us/glossary/generative-physical-ai/">Physical AI can be defined</a> as the integration of AI into autonomous systems, allowing them to perceive the environment around them and perform complex actions in the physical world. The <a href="https://www.cio.com/article/4053096/ai-is-here-physical-ai-is-coming-fast.html">physical AI</a> market, currently valued at about $92 billion, is <a href="https://www.strategyand.pwc.com/de/en/industries/telecommunication-media-and-technology/physical-ai.html">projected by PwC</a> to surpass $489 billion by 2030.</p>



<p class="wp-block-paragraph">For many people, physical AI may conjure images of robots building widgets on a factory floor, or a self-driving car. Both examples are among the top use cases for physical AI, but physical AI is also being integrated into security cameras, traffic lights, inspection robots, medical devices, and more.</p>



<h2 class="wp-block-heading">What makes a strong use case for physical AI</h2>



<p class="wp-block-paragraph">IT leaders thinking about how to use physical AI should think beyond the <a href="https://www.cio.com/article/3829539/ai-humanoid-robots-inch-their-way-toward-the-workforce.html">human-shaped robots</a> that generate a lot of attention, says <a href="https://www.linkedin.com/in/adnano/">Adnan Masood</a>, chief AI architect at digital transformation provider UST.</p>



<p class="wp-block-paragraph">“I usually have one caution for CIOs — skip the humanoid theater,” he says. “The near-term advantage is adaptive automation in variable environments where conditions change, humans share the space, and downtime is expensive.”</p>



<p class="wp-block-paragraph">The sweet spot for physical AI is when it can run safely and repeatedly and can be audited within existing safety and compliance regimes, he adds.</p>



<p class="wp-block-paragraph">For physical AI to make a big impact, a handful of conditions must exist, adds <a href="https://www.linkedin.com/in/vikramvenkat">Vikram Venkat</a>, investor in physical AI systems at Cota Capital.</p>



<p class="wp-block-paragraph">First, there should be a major labor component, such as existing or expected labor shortages or conditions that make the work dangerous for humans, he says. In addition, the environment should be relatively constrained, because physical AI platforms generally aren’t yet proficient at handling highly variable environments.</p>



<p class="wp-block-paragraph">Finally, the task should be repeatable, often at high volumes, and have clear measurable outcomes, he adds.</p>



<p class="wp-block-paragraph">In the short term, a couple of other conditions should exist, Venkat says. First, deployments should be simple, and require minimal changes to existing processes, additional infrastructure, or integrations into existing systems. Second, humans in the loop should be able to correct errors.</p>



<h2 class="wp-block-heading">Top use cases for physical AI</h2>



<p class="wp-block-paragraph">Despite those constraints, physical AI’s potential is huge, says <a href="https://www.linkedin.com/in/albert-liu-%E5%8A%89%E5%B3%BB%E8%AA%A0-6a7095117?originalSubdomain=tw">Albert Liu</a>, founder and CEO of edge AI solutions vendor Kneron.</p>



<p class="wp-block-paragraph">“Most people think physical AI begins with robots, which is simply the example our minds go to since it has been the most visible until now,” he notes. “But physical AI isn’t just about the typical answer — machines that move — it’s about environments that become intelligent.”</p>



<p class="wp-block-paragraph">With several caveats in mind, here are seven promising uses for physical AI systems.</p>



<h3 class="wp-block-heading">Manufacturing robots</h3>



<p class="wp-block-paragraph">When thinking about physical AI, many people may envision robots manufacturing cars or other products. That’s certainly happening, with several vendors offering builder robots for sale, and with the industrial robotics market valued at $54.3 billion in 2026, growing to $94.4 billion by 2031, <a href="https://www.mordorintelligence.com/industry-reports/industrial-robotics-market">according to Mordor Intelligence</a>.</p>



<p class="wp-block-paragraph">One example of robots building products comes from car maker <a href="https://www.cio.com/article/4193455/bmw-brings-ai-robots-into-logistics.html">BMW, which has used a humanoid robot</a> to weld parts together at a plant in the US.</p>



<h3 class="wp-block-heading">Quality inspection and predictive maintenance</h3>



<p class="wp-block-paragraph">Physical AI deployed inside manufacturing environments isn’t just being used to assemble products. The technology is also being used for material handling and automated quality inspection and defect checking, with labor shortages and constrained environments driving use, notes Venkat.</p>



<p class="wp-block-paragraph"><a href="https://www.ibm.com/think/topics/ai-in-manufacturing">Predictive maintenance</a> is also a sweet spot for physical AI in manufacturing. AI can be used to check that the software powering equipment is working correctly, says UST’s Masood.</p>



<p class="wp-block-paragraph">“Agentic pipelines now read hardware schematics and chip pinouts natively, generate the regression suites engineers once scripted by hand, and compare live equipment telemetry against digital twins to catch firmware regressions and signal-integrity faults before a production run,” he says.</p>



<p class="wp-block-paragraph">Boston Dynamics’ four-legged Spot is an example of a marriage between robotics and AI, with the company saying thousands of robots have been deployed across 40 countries at companies such as Intel, Chevron, Michelin, <a href="https://www.cio.com/article/4156956/cargill-deploys-private-5g-to-aid-factory-ai-and-automation-efforts.html">and Cargill</a>. Spot is used to automate industrial inspections, conduct predictive maintenance, and go on security patrols.</p>



<p class="wp-block-paragraph">Boston Dynamics also sells Stretch, which automates the unloading of trailers and containers, and Atlas, a humanoid robot that can lift, sort, and assemble products.</p>



<p class="wp-block-paragraph">Physical AI embedded into cameras and sensors can provide quality control inspections on factory floors, notes <a href="https://www.linkedin.com/in/sandhuparm/">Parm Sandhu</a>, group vice president for enterprise AI, edge computing, and digital innovation at IT solutions provider NTT DATA.</p>



<p class="wp-block-paragraph">“They want to make sure the products built right the first time,” he says. “We use a foundation model, set up with cameras and trained in self-learning, so it very can very quickly learn standard operating procedure for one factory station.”</p>



<h3 class="wp-block-heading">Autonomous vehicles and drones</h3>



<p class="wp-block-paragraph">The promise of self-driving cars entered the public consciousness several years ago, and the market, separate from the physical AI market, was worth more than <a href="https://www.gminsights.com/industry-analysis/self-driving-cars-market">$200 billion in 2025</a>, according to Global Market Insights.</p>



<p class="wp-block-paragraph">Autonomous taxis are also gaining momentum, with Waymo and Tesla <a href="https://www.businessinsider.com/robotaxi-locations-us-cities-tesla-waymo-uber-2025-12">launching robotaxi experiments</a> in limited areas in 2025. Uber also has huge plans for robotaxis.</p>



<p class="wp-block-paragraph">But the autonomous vehicle market extends far beyond cars driving down the highway. Autonomous farm equipment, including <a href="https://www.inven.ai/company-lists/top-21-autonomous-farming-equipment-companies">tractors, harvesters, and drones</a>, represent a growing market, with market size estimates varying wildly. Global Market Insights <a href="https://www.gminsights.com/industry-analysis/autonomous-farm-equipment-market">estimated the market</a> to be worth $70.9 billion in 2025, with projections for it to reach $144.7 billion by 2035.</p>



<p class="wp-block-paragraph">Drones can also be operated by an AI, leading to all kinds of applications, including military uses and food and package delivery services. Amazon and other companies have experimented with drone delivery services in recent years, and DoorDash announced in late July that it <a href="https://techcrunch.com/2026/07/29/doordash-is-building-its-own-drone-delivery-business/">would jump into the market</a>.</p>



<p class="wp-block-paragraph">One use that staddles the autonomous vehicle and manufacturing use cases involves self-driving forklifts. NTT DATA has worked with forklift manufacturer Hyster-Yale to install self-driving capabilities into the vehicles, in part a response to labor shortages, Sandhu says.</p>



<p class="wp-block-paragraph">“If you think about manufacturing, pretty much everything you touch in that world was lifted by a forklift somewhere or components were lifted by a forklift somewhere,” he says. “But people don’t want to drive forklifts, and that’s a huge problem.”</p>



<h3 class="wp-block-heading">Fleet and warehouse coordination</h3>



<p class="wp-block-paragraph">Physical AI, built into trucks and smart shelves, can track and better coordinate the movement of materials and products, from the warehouse to the end customer. Physical AI, installed in robots, <a href="https://racklify.com/encyclopedia/physical-ai-in-warehouses-and-logistics-a-beginners-guide/">can pick, sort, and transport</a> goods. AI can use fleet telemetry to optimize routes in the shipping fleet.</p>



<p class="wp-block-paragraph">AI models can now orchestrate thousands of autonomous mobile robots across fulfillment networks, what UST’s Masood calls “air traffic control for robots.”</p>



<p class="wp-block-paragraph">The AI intelligence sits in the coordination layer that routes, sequences, and removes conflicts in the fleet, he adds. “It scales in ways single-robot programming never could,” notes.</p>



<p class="wp-block-paragraph">Physical AI has moved beyond pilots and is operating at enterprise scale in warehouses, according to Symbotic, a warehouse physical AI vendor.</p>



<p class="wp-block-paragraph">The company’s fleet of 22,000 autonomous mobile robots that traveled more than 200 million miles in 2025, with one robot traveling more than 52,000 miles, or more than twice the distance around the Earth, the company says.</p>



<h3 class="wp-block-heading">Surveillance and physical security</h3>



<p class="wp-block-paragraph">Physical AI’s application to physical security includes roving robots like Boston Dynamics’ Spot, but it also allows organizations to connect video cameras and other security tools to provide an ever-vigilant view of the secured environment.</p>



<p class="wp-block-paragraph">Companies such as Artificial Intelligence Technologies Solutions and its subsidiary Robotic Assistance Devices are connecting several devices for a sort of security mesh across a campus or building. The companies’ Speaking Autonomous Responsive Agent (SARA) is an agentic AI platform designed to coordinate cameras, fixed security devices, autonomous patrol vehicles, lights, speakers, monitoring systems, and human security personnel.</p>



<p class="wp-block-paragraph">SARA can evaluate events from physical security systems, verify security events, communicate directly with people at the site, and initiate approved responses, the companies say. The automated response can save valuable time compared to human intervention, they claim.</p>



<p class="wp-block-paragraph">Another example of the use of physical AI for security involves smart metal detectors with AI embedded inside. Athena Security is one company that offers AI-powered body scanners that claim a high rate of detection for all kinds of weapons, including razor blades and small knives.</p>



<h3 class="wp-block-heading">Smart buildings and infrastructure</h3>



<p class="wp-block-paragraph">Companies can use physical AI to monitor all kinds of metrics inside buildings and across utility grids and telecom networks, notes UST’s Masood. The AI can trigger alerts, safety interventions, or environmental controls. Hospitals are now using physical AI to coordinate care, and network operators are deploying AI-powered self-healing tools.</p>



<p class="wp-block-paragraph">Physical AI will create intelligent concierges at hotels, airports, and hospitals that provide directions, verify identities, and coordinate services, Kneron’s Liu says.</p>



<p class="wp-block-paragraph">Over the next decade, AI will be embedded in nearly all physical spaces, including drive-thru lanes, restaurants, factories, and offices, he predicts. “People will expect a security camera that understands intent instead of simply detecting motion, a hospital room that recognizes subtle changes in a patient’s condition before an alarm sounds, a retail shelf that manages inventory autonomously, or a building that continuously optimizes energy, security, and occupancy,” he adds.</p>



<h3 class="wp-block-heading">Smart cities</h3>



<p class="wp-block-paragraph">Outside of traditional enterprise environments, cities are now embedding AI into traffic devices to monitor vehicle flow and into cameras to monitor community service needs.</p>



<p class="wp-block-paragraph">The AI-powered systems can improve traffic flow, monitor intersections, and make roadways safer without relying only on human observation. Lidar maker Ouster worked with the New Jersey Department of Transportation to install sensors at 42 intersections ahead of the World Cup tournament to assist with road and pedestrian traffic congestion, the company says.</p>



<p class="wp-block-paragraph">NTT DATA is working with Brownville, Texas, to set up a citywide alert system to send workers for incidents such as when a park’s garbage containers are full and to assist police officers in filling out reports, notes Sandhu.</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[Non-human identities are 91% of everything active in production]]></title>
<description><![CDATA[A backup job fires at two in the morning. A scanner walks the same AWS account an hour later, a deployment pipeline assumes a role at four, and a logging agent runs straight through the night. Each of those actions carries a credential issued to a machine. An attacker holding one of those credent...]]></description>
<link>https://tsecurity.de/de/3707344/it-security-nachrichten/non-human-identities-are-91-of-everything-active-in-production/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707344/it-security-nachrichten/non-human-identities-are-91-of-everything-active-in-production/</guid>
<pubDate>Thu, 06 Aug 2026 07:06:07 +0200</pubDate>
<content:encoded><![CDATA[<p>A backup job fires at two in the morning. A scanner walks the same AWS account an hour later, a deployment pipeline assumes a role at four, and a logging agent runs straight through the night. Each of those actions carries a credential issued to a machine. An attacker holding one of those credentials inherits the same cover. Only 20% of non-human activity in production falls inside standard business hours, which puts a rogue API … <a href="https://www.helpnetsecurity.com/2026/08/06/non-human-identities-active-in-production/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/06/non-human-identities-active-in-production/">Non-human identities are 91% of everything active in production</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta wants to get inside your terminal with its new coding agent]]></title>
<description><![CDATA[Muse Code showcases Muse Spark's fresh software engineering chops]]></description>
<link>https://tsecurity.de/de/3707256/it-nachrichten/meta-wants-to-get-inside-your-terminal-with-its-new-coding-agent/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707256/it-nachrichten/meta-wants-to-get-inside-your-terminal-with-its-new-coding-agent/</guid>
<pubDate>Thu, 06 Aug 2026 05:36:45 +0200</pubDate>
<content:encoded><![CDATA[Muse Code showcases Muse Spark's fresh software engineering chops]]></content:encoded>
</item>
<item>
<title><![CDATA[Report: Passkey security issues could allow account takeover]]></title>
<description><![CDATA[Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.
...]]></description>
<link>https://tsecurity.de/de/3707173/ai-nachrichten/report-passkey-security-issues-could-allow-account-takeover/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707173/ai-nachrichten/report-passkey-security-issues-could-allow-account-takeover/</guid>
<pubDate>Thu, 06 Aug 2026 03:45: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">Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.</p>



<p class="wp-block-paragraph">They also pointed out that the issues are not strictly caused by holes in passkeys so much as by weaknesses in the procedures surrounding them. </p>



<p class="wp-block-paragraph">“The researchers didn’t break the underlying cryptography. They exploited the seams around it: onboarding flows, recovery mechanisms and trust signals that weren’t being validated,” said <a href="https://acceligence.com/talent/profiles/justin-greis/" target="_blank" rel="noreferrer noopener">Justin Greis</a>, CEO of consulting firm Acceligence. “That distinction matters because it tells us where the actual risk lives.”</p>



<p class="wp-block-paragraph">The <a href="https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/" target="_blank" rel="noreferrer noopener">Palo Alto report</a> showed attacks that, it said, “demonstrate how malware on a compromised endpoint can misuse onboarding, recovery and device trust workflows to take over passkey-protected accounts,” as well as “how an attacker can authenticate without user interaction, bypass user verification requirements and extract all synced passkey private keys.”</p>



<p class="wp-block-paragraph">Palo Alto described three categories of attack, collectively dubbed Pass-ta-key: Pass-ta-key, where an attacker takes over an account protected by a Google-synced passkey using malware running on the victim’s device, without requiring privilege escalation, device unlock or user interaction; Silver Pass-ta-key, which involves an attacker tricking Google Cloud Authenticator into believing the victim has unlocked the device with biometrics, leading to full account takeover without using the victim’s device during authentication; and Golden Pass-ta-key, which allows an attacker to extract all synced passkeys in a form that lets them be shared or sold on the credential black market.</p>



<p class="wp-block-paragraph">Given the complexity of most global enterprise threat surfaces, <a href="https://www.csoonline.com/article/4085426/your-passwordless-future-may-never-fully-arrive.html" target="_blank">some CISOs have struggled</a> with adapting passwordless processes to environments with legacy and virtual environments. Passcodes have <a href="https://www.csoonline.com/article/4197086/microsoft-is-forcing-an-enterprise-transition-to-passkeys-2.html" target="_blank">been recently embraced</a> by enterprise CISOs as the first step in implementing a passwordless strategy.</p>



<p class="wp-block-paragraph">Analysts and consultants in the main agreed that the flaw Palo Alto reports is significant, despite the fact that it assumes the attacker has already penetrated an environment and successfully installed malware. Sadly, given that such penetration only requires one privileged user anywhere to accidentally click on a poisoned link or attachment, the assumption of prior penetration is likely valid.</p>



<h2 class="wp-block-heading">Implementation issues are the problem</h2>



<p class="wp-block-paragraph">What the report reveals is less about any flaws within passcodes directly, and more about the lack of attention paid to a wide range of mechanisms surrounding them. </p>



<p class="wp-block-paragraph">Greis said CISOs now need to focus on what to do, and what to test, based on the assumption that user behavior is not always as expected. </p>



<p class="wp-block-paragraph">In several cases cited in the report, he pointed out, issues occurred “not because the standard is flawed, but because implementations haven’t caught up to it. It mirrors what we’ve seen repeatedly in security: the specification is sound, but the ecosystem implementing it is uneven.”</p>



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, agreed. </p>



<p class="wp-block-paragraph">“On any service where your organization is the relying party, require user verification and actually validate the user-verified flag in the authentication response,” he said. “The researchers found real-world services accepting logins without it, which quietly collapses a multi-factor login back into a single factor.”</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, added that he would stress to CISOs that this attack assumes a prior successful penetration. </p>



<p class="wp-block-paragraph">“This isn’t passkeys getting hacked from across the internet. It’s what [an attacker] does once they’re already inside the house. So the real headline is that ‘phishing resistant’ stops being resistant the moment the endpoint stops being clean,” he said.</p>



<p class="wp-block-paragraph">“Stop treating verification as optional,” he advised. “Flip it to required, check it server side every single time, and save your hardware bound keys, the YubiKeys of the world, for the accounts that matter most. A key that never leaves a physical device is a key no attacker can ever harvest in bulk.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/orfink/" target="_blank" rel="noreferrer noopener">Or Finkelstein</a>, head of marketing at Secret Double Octopus, agreed that CISOs have gotten complacent about the way in which systems support passkeys.</p>



<p class="wp-block-paragraph">“CISOs should probably look at how user verification is enforced, how enrollment and recovery work, have a clear and enforced policy on whether credentials are synced or device-bound, and have some ITDR system to quickly mitigate suspicious endpoints and authenticators,” he said. “In most serious enterprise environments, EDR and device management reduce the likelihood of initial attacks, but do not close every post-compromise attack path.”</p>



<h2 class="wp-block-heading">Poor support processes weaken passkeys</h2>



<p class="wp-block-paragraph">Some have argued that the lack of sufficiently robust support processes actually weakens passkey capabilities and undermines the whole point of such systems.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jwgoerlich/" target="_blank" rel="noreferrer noopener">J. Wolfgang Goerlich</a>, a member of the faculty of IANS and a longtime cybersecurity consultant, pointed out that the original FIDO2 spec eliminated credential theft by binding the private key to a physical authenticator. Synced passkeys reintroduced credential portability and therefore reintroduced the form of credential theft risk cited in the Palo Alto report.</p>



<p class="wp-block-paragraph">“A passwordless system is exactly as strong as the flow that re-establishes it,” he said. “Both serious techniques here start by forcing a device to re-enroll. Many security teams have never modeled, never monitored and never rehearsed a response to this.”</p>



<p class="wp-block-paragraph">Goerlich’s advice to CISOs is to require device-bound authenticators, such as hardware tokens or computers, for all privileged and sensitive access. They may consider allowing wallets for lower risk access, he said, “however, much like passwords in Web browsers have long been at risk, we must now consider passkeys in the browsers an unacceptable risk.”</p>



<p class="wp-block-paragraph">This article originally appeared on <a href="https://www.csoonline.com/article/4205751/report-passkey-security-issues-could-allow-account-takeover.html" target="_blank">CSOonline</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[$] LWN.net Weekly Edition for August 6, 2026]]></title>
<description><![CDATA[Inside this week's LWN.net Weekly Edition:
        
        
 Front: Process-builder API; Fedora COI; FUSE io_uring buffer sizes; BPF network namespaces; FUSE plans; BPF libraries; directory creation system call.
             Briefs: AISI hack; JFrog on CVEs; npm worm; AUR adoption; NetBSD 11.0; ...]]></description>
<link>https://tsecurity.de/de/3707154/linux-tipps/lwnnet-weekly-edition-for-august-6-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707154/linux-tipps/lwnnet-weekly-edition-for-august-6-2026/</guid>
<pubDate>Thu, 06 Aug 2026 03:38:02 +0200</pubDate>
<content:encoded><![CDATA[Inside this week's LWN.net Weekly Edition:
        <p>
        </p><ul>
<li> <a href="https://lwn.net/Articles/1086134/">Front</a>: Process-builder API; Fedora COI; FUSE io_uring buffer sizes; BPF network namespaces; FUSE plans; BPF libraries; directory creation system call.
            </li><li> <a href="https://lwn.net/Articles/1086136/">Briefs</a>: AISI hack; JFrog on CVEs; npm worm; AUR adoption; NetBSD 11.0; b4 0.16.0; C-Kermit 11; Rust LLM policy; Servo 0.4.0; Quotes; ...
            </li><li> <a href="https://lwn.net/Articles/1086137/">Announcements</a>: Newsletters, conferences, security updates, patches, and more.
            </li></ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Report: Passkey security issues could allow account takeover]]></title>
<description><![CDATA[Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.
...]]></description>
<link>https://tsecurity.de/de/3707087/it-security-nachrichten/report-passkey-security-issues-could-allow-account-takeover/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707087/it-security-nachrichten/report-passkey-security-issues-could-allow-account-takeover/</guid>
<pubDate>Thu, 06 Aug 2026 03:28: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">Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.</p>



<p class="wp-block-paragraph">They also pointed out that the issues are not strictly caused by holes in passkeys so much as by weaknesses in the procedures surrounding them. </p>



<p class="wp-block-paragraph">“The researchers didn’t break the underlying cryptography. They exploited the seams around it: onboarding flows, recovery mechanisms and trust signals that weren’t being validated,” said <a href="https://acceligence.com/talent/profiles/justin-greis/" target="_blank" rel="noreferrer noopener">Justin Greis</a>, CEO of consulting firm Acceligence. “That distinction matters because it tells us where the actual risk lives.”</p>



<p class="wp-block-paragraph">The <a href="https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/" target="_blank" rel="noreferrer noopener">Palo Alto report</a> showed attacks that, it said, “demonstrate how malware on a compromised endpoint can misuse onboarding, recovery and device trust workflows to take over passkey-protected accounts,” as well as “how an attacker can authenticate without user interaction, bypass user verification requirements and extract all synced passkey private keys.”</p>



<p class="wp-block-paragraph">Palo Alto described three categories of attack, collectively dubbed Pass-ta-key: Pass-ta-key, where an attacker takes over an account protected by a Google-synced passkey using malware running on the victim’s device, without requiring privilege escalation, device unlock or user interaction; Silver Pass-ta-key, which involves an attacker tricking Google Cloud Authenticator into believing the victim has unlocked the device with biometrics, leading to full account takeover without using the victim’s device during authentication; and Golden Pass-ta-key, which allows an attacker to extract all synced passkeys in a form that lets them be shared or sold on the credential black market.</p>



<p class="wp-block-paragraph">Given the complexity of most global enterprise threat surfaces, <a href="https://www.csoonline.com/article/4085426/your-passwordless-future-may-never-fully-arrive.html" target="_blank">some CISOs have struggled</a> with adapting passwordless processes to environments with legacy and virtual environments. Passcodes have <a href="https://www.csoonline.com/article/4197086/microsoft-is-forcing-an-enterprise-transition-to-passkeys-2.html" target="_blank">been recently embraced</a> by enterprise CISOs as the first step in implementing a passwordless strategy.</p>



<p class="wp-block-paragraph">Analysts and consultants in the main agreed that the flaw Palo Alto reports is significant, despite the fact that it assumes the attacker has already penetrated an environment and successfully installed malware. Sadly, given that such penetration only requires one privileged user anywhere to accidentally click on a poisoned link or attachment, the assumption of prior penetration is likely valid.</p>



<h2 class="wp-block-heading">Implementation issues are the problem</h2>



<p class="wp-block-paragraph">What the report reveals is less about any flaws within passcodes directly, and more about the lack of attention paid to a wide range of mechanisms surrounding them. </p>



<p class="wp-block-paragraph">Greis said CISOs now need to focus on what to do, and what to test, based on the assumption that user behavior is not always as expected. </p>



<p class="wp-block-paragraph">In several cases cited in the report, he pointed out, issues occurred “not because the standard is flawed, but because implementations haven’t caught up to it. It mirrors what we’ve seen repeatedly in security: the specification is sound, but the ecosystem implementing it is uneven.”</p>



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, agreed. </p>



<p class="wp-block-paragraph">“On any service where your organization is the relying party, require user verification and actually validate the user-verified flag in the authentication response,” he said. “The researchers found real-world services accepting logins without it, which quietly collapses a multi-factor login back into a single factor.”</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, added that he would stress to CISOs that this attack assumes a prior successful penetration. </p>



<p class="wp-block-paragraph">“This isn’t passkeys getting hacked from across the internet. It’s what [an attacker] does once they’re already inside the house. So the real headline is that ‘phishing resistant’ stops being resistant the moment the endpoint stops being clean,” he said.</p>



<p class="wp-block-paragraph">“Stop treating verification as optional,” he advised. “Flip it to required, check it server side every single time, and save your hardware bound keys, the YubiKeys of the world, for the accounts that matter most. A key that never leaves a physical device is a key no attacker can ever harvest in bulk.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/orfink/" target="_blank" rel="noreferrer noopener">Or Finkelstein</a>, head of marketing at Secret Double Octopus, agreed that CISOs have gotten complacent about the way in which systems support passkeys.</p>



<p class="wp-block-paragraph">“CISOs should probably look at how user verification is enforced, how enrollment and recovery work, have a clear and enforced policy on whether credentials are synced or device-bound, and have some ITDR system to quickly mitigate suspicious endpoints and authenticators,” he said. “In most serious enterprise environments, EDR and device management reduce the likelihood of initial attacks, but do not close every post-compromise attack path.”</p>



<h2 class="wp-block-heading">Poor support processes weaken passkeys</h2>



<p class="wp-block-paragraph">Some have argued that the lack of sufficiently robust support processes actually weakens passkey capabilities and undermines the whole point of such systems.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jwgoerlich/" target="_blank" rel="noreferrer noopener">J. Wolfgang Goerlich</a>, a member of the faculty of IANS and a longtime cybersecurity consultant, pointed out that the original FIDO2 spec eliminated credential theft by binding the private key to a physical authenticator. Synced passkeys reintroduced credential portability and therefore reintroduced the form of credential theft risk cited in the Palo Alto report.</p>



<p class="wp-block-paragraph">“A passwordless system is exactly as strong as the flow that re-establishes it,” he said. “Both serious techniques here start by forcing a device to re-enroll. Many security teams have never modeled, never monitored and never rehearsed a response to this.”</p>



<p class="wp-block-paragraph">Goerlich’s advice to CISOs is to require device-bound authenticators, such as hardware tokens or computers, for all privileged and sensitive access. They may consider allowing wallets for lower risk access, he said, “however, much like passwords in Web browsers have long been at risk, we must now consider passkeys in the browsers an unacceptable risk.”</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Black Hat OpenAI Presentation Digs a Deeper Hole]]></title>
<description><![CDATA[The detection story on stage is now even worse than the already terrible remediation story. According to the conference news, models ran a coordination channel inside Artifactory for months, and OpenAI found it only when configuration changes caused a July 4 outage. Discovery by availability fail...]]></description>
<link>https://tsecurity.de/de/3707075/it-security-nachrichten/black-hat-openai-presentation-digs-a-deeper-hole/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707075/it-security-nachrichten/black-hat-openai-presentation-digs-a-deeper-hole/</guid>
<pubDate>Thu, 06 Aug 2026 03:25:41 +0200</pubDate>
<content:encoded><![CDATA[The detection story on stage is now even worse than the already terrible remediation story. According to the conference news, models ran a coordination channel inside Artifactory for months, and OpenAI found it only when configuration changes caused a July 4 outage. Discovery by availability failure, not by monitoring, is a known anti-security pattern. The … <a href="https://www.flyingpenguin.com/black-hat-openai-presentation-digs-a-deeper-hole/" class="more-link">Continue reading <span class="screen-reader-text">Black Hat OpenAI Presentation Digs a Deeper Hole</span> <span class="meta-nav">→</span></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Report: Passkey security issues could allow account takeover]]></title>
<description><![CDATA[Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.
...]]></description>
<link>https://tsecurity.de/de/3707070/it-nachrichten/report-passkey-security-issues-could-allow-account-takeover/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707070/it-nachrichten/report-passkey-security-issues-could-allow-account-takeover/</guid>
<pubDate>Thu, 06 Aug 2026 03:17: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">Given the widespread enterprise adoption of passkeys to replace passwords, a Palo Alto Networks Unit 42 report disclosing ways attackers are getting around passkey protections is concerning, analysts say, but they stress that the demonstrated attacks can only happen after a successful intrusion.</p>



<p class="wp-block-paragraph">They also pointed out that the issues are not strictly caused by holes in passkeys so much as by weaknesses in the procedures surrounding them. </p>



<p class="wp-block-paragraph">“The researchers didn’t break the underlying cryptography. They exploited the seams around it: onboarding flows, recovery mechanisms and trust signals that weren’t being validated,” said <a href="https://acceligence.com/talent/profiles/justin-greis/" target="_blank" rel="noreferrer noopener">Justin Greis</a>, CEO of consulting firm Acceligence. “That distinction matters because it tells us where the actual risk lives.”</p>



<p class="wp-block-paragraph">The <a href="https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/" target="_blank" rel="noreferrer noopener">Palo Alto report</a> showed attacks that, it said, “demonstrate how malware on a compromised endpoint can misuse onboarding, recovery and device trust workflows to take over passkey-protected accounts,” as well as “how an attacker can authenticate without user interaction, bypass user verification requirements and extract all synced passkey private keys.”</p>



<p class="wp-block-paragraph">Palo Alto described three categories of attack, collectively dubbed Pass-ta-key: Pass-ta-key, where an attacker takes over an account protected by a Google-synced passkey using malware running on the victim’s device, without requiring privilege escalation, device unlock or user interaction; Silver Pass-ta-key, which involves an attacker tricking Google Cloud Authenticator into believing the victim has unlocked the device with biometrics, leading to full account takeover without using the victim’s device during authentication; and Golden Pass-ta-key, which allows an attacker to extract all synced passkeys in a form that lets them be shared or sold on the credential black market.</p>



<p class="wp-block-paragraph">Given the complexity of most global enterprise threat surfaces, <a href="https://www.csoonline.com/article/4085426/your-passwordless-future-may-never-fully-arrive.html" target="_blank">some CISOs have struggled</a> with adapting passwordless processes to environments with legacy and virtual environments. Passcodes have <a href="https://www.csoonline.com/article/4197086/microsoft-is-forcing-an-enterprise-transition-to-passkeys-2.html" target="_blank">been recently embraced</a> by enterprise CISOs as the first step in implementing a passwordless strategy.</p>



<p class="wp-block-paragraph">Analysts and consultants in the main agreed that the flaw Palo Alto reports is significant, despite the fact that it assumes the attacker has already penetrated an environment and successfully installed malware. Sadly, given that such penetration only requires one privileged user anywhere to accidentally click on a poisoned link or attachment, the assumption of prior penetration is likely valid.</p>



<h2 class="wp-block-heading">Implementation issues are the problem</h2>



<p class="wp-block-paragraph">What the report reveals is less about any flaws within passcodes directly, and more about the lack of attention paid to a wide range of mechanisms surrounding them. </p>



<p class="wp-block-paragraph">Greis said CISOs now need to focus on what to do, and what to test, based on the assumption that user behavior is not always as expected. </p>



<p class="wp-block-paragraph">In several cases cited in the report, he pointed out, issues occurred “not because the standard is flawed, but because implementations haven’t caught up to it. It mirrors what we’ve seen repeatedly in security: the specification is sound, but the ecosystem implementing it is uneven.”</p>



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, agreed. </p>



<p class="wp-block-paragraph">“On any service where your organization is the relying party, require user verification and actually validate the user-verified flag in the authentication response,” he said. “The researchers found real-world services accepting logins without it, which quietly collapses a multi-factor login back into a single factor.”</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, added that he would stress to CISOs that this attack assumes a prior successful penetration. </p>



<p class="wp-block-paragraph">“This isn’t passkeys getting hacked from across the internet. It’s what [an attacker] does once they’re already inside the house. So the real headline is that ‘phishing resistant’ stops being resistant the moment the endpoint stops being clean,” he said.</p>



<p class="wp-block-paragraph">“Stop treating verification as optional,” he advised. “Flip it to required, check it server side every single time, and save your hardware bound keys, the YubiKeys of the world, for the accounts that matter most. A key that never leaves a physical device is a key no attacker can ever harvest in bulk.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/orfink/" target="_blank" rel="noreferrer noopener">Or Finkelstein</a>, head of marketing at Secret Double Octopus, agreed that CISOs have gotten complacent about the way in which systems support passkeys.</p>



<p class="wp-block-paragraph">“CISOs should probably look at how user verification is enforced, how enrollment and recovery work, have a clear and enforced policy on whether credentials are synced or device-bound, and have some ITDR system to quickly mitigate suspicious endpoints and authenticators,” he said. “In most serious enterprise environments, EDR and device management reduce the likelihood of initial attacks, but do not close every post-compromise attack path.”</p>



<h2 class="wp-block-heading">Poor support processes weaken passkeys</h2>



<p class="wp-block-paragraph">Some have argued that the lack of sufficiently robust support processes actually weakens passkey capabilities and undermines the whole point of such systems.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/jwgoerlich/" target="_blank" rel="noreferrer noopener">J. Wolfgang Goerlich</a>, a member of the faculty of IANS and a longtime cybersecurity consultant, pointed out that the original FIDO2 spec eliminated credential theft by binding the private key to a physical authenticator. Synced passkeys reintroduced credential portability and therefore reintroduced the form of credential theft risk cited in the Palo Alto report.</p>



<p class="wp-block-paragraph">“A passwordless system is exactly as strong as the flow that re-establishes it,” he said. “Both serious techniques here start by forcing a device to re-enroll. Many security teams have never modeled, never monitored and never rehearsed a response to this.”</p>



<p class="wp-block-paragraph">Goerlich’s advice to CISOs is to require device-bound authenticators, such as hardware tokens or computers, for all privileged and sensitive access. They may consider allowing wallets for lower risk access, he said, “however, much like passwords in Web browsers have long been at risk, we must now consider passkeys in the browsers an unacceptable risk.”</p>



<p class="wp-block-paragraph">This article originally appeared on <a href="https://www.csoonline.com/article/4205751/report-passkey-security-issues-could-allow-account-takeover.html" target="_blank">CSOonline</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Samsung Removes Smart TV Apps Over Residential Proxy Software Concerns]]></title>
<description><![CDATA[Samsung just began to remove Smart TV apps that contained software capable of sharing users’ home internet access with third parties. The company made the move after security researchers found residential proxy software development kits (SDKs) inside several Smart TV apps. Samsung also introduced...]]></description>
<link>https://tsecurity.de/de/3707019/it-security-nachrichten/samsung-removes-smart-tv-apps-over-residential-proxy-software-concerns/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707019/it-security-nachrichten/samsung-removes-smart-tv-apps-over-residential-proxy-software-concerns/</guid>
<pubDate>Thu, 06 Aug 2026 00:40:53 +0200</pubDate>
<content:encoded><![CDATA[<p>Samsung just began to remove Smart TV apps that contained software capable of sharing users’ home internet access with third parties. The company made the move after security researchers found residential proxy software development kits (SDKs) inside several Smart TV apps. Samsung also introduced new rules to stop developers from adding the same software to […]</p>
<p>The post <a href="https://privacysavvy.com/news/cybersecurity/samsung-removes-smart-tv-apps-residential-proxy/">Samsung Removes Smart TV Apps Over Residential Proxy Software Concerns</a> appeared first on <a href="https://privacysavvy.com/">PrivacySavvy</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta enters the AI coding wars with Muse Spark 1.2 and Muse Code with persistent async background agents]]></title>
<description><![CDATA[Meta today released Muse Code, a terminal-based AI coding agent now in beta, alongside Muse Spark 1.2, a coding-focused update to its Muse Spark family of frontier models — a one-two punch that puts the company in direct competition with Anthropic's Claude Code, OpenAI's Codex, and the growing fi...]]></description>
<link>https://tsecurity.de/de/3706941/it-nachrichten/meta-enters-the-ai-coding-wars-with-muse-spark-12-and-muse-code-with-persistent-async-background-agents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706941/it-nachrichten/meta-enters-the-ai-coding-wars-with-muse-spark-12-and-muse-code-with-persistent-async-background-agents/</guid>
<pubDate>Wed, 05 Aug 2026 23:34:25 +0200</pubDate>
<content:encoded><![CDATA[<p>Meta today <a href="https://research.meta.ai/blog/introducing-muse-code-and-muse-spark-1-2?utm_source=ai_meta_site&amp;utm_medium=web&amp;utm_campaign=hp_research_muse-1-2_08052026&amp;utm_content=hp_research_muse-1-2_08052026">released Muse Code</a>, a terminal-based AI coding agent now in beta, alongside <a href="https://research.meta.ai/blog/introducing-muse-code-and-muse-spark-1-2?utm_source=ai_meta_site&amp;utm_medium=web&amp;utm_campaign=hp_research_muse-1-2_08052026&amp;utm_content=hp_research_muse-1-2_08052026">Muse Spark 1.2</a>, a coding-focused update to its Muse Spark family of frontier models — a one-two punch that puts the company in direct competition with Anthropic's Claude Code, OpenAI's Codex, and the growing field of agentic coding harnesses that have rapidly become the primary way many professional developers ship software.</p><p>"Releasing Muse Code in beta today," Meta CEO Mark Zuckerberg wrote in a <a href="https://x.com/finkd/status/2085080750034940201">post on rival social network X</a> (under his longtime handle @finkd). "It's a terminal coding agent that takes on complete software engineering tasks across large repos: planning changes, writing code, validating the results."</p><p>The launch marks Meta's most serious entry yet into a category it has largely watched from the sidelines. </p><p>While Anthropic and OpenAI turned their coding agents into flagship products — and startups like Cursor built billion-dollar businesses on the workflow — Meta's developer story long centered on Llama, the open-weight model family it gave away to the tune of more than a billion downloads. </p><p>Muse Code changes that in more ways than one: it's a full harness, installable on macOS or Linux with a single curl command, co-trained with the model that powers it — and, like the Muse Spark models behind it, entirely proprietary.</p><p>Developers and prospective users can install it now on their Terminal using the following one-line command — but be warned, if that's you, you'll need to log in with a Meta account and provide billing details first in order to begin: <code>curl -fsSL https://dev.meta.ai/install.sh | bash</code></p><h2><b>Persistent background agents and parallel worktrees</b></h2><p>Muse Code's headline architectural bet is what Meta calls <b>async background agents</b>. </p><p>Rather than spawning helper agents fresh for each task — the pattern most rival harnesses use — Muse Code keeps a set of <i>specialized background agents alive for the entire session. </i></p><p>According to Meta's blog post, these agents "remain active throughout each session, rather than being spawned for individual tasks, helping avoid redundant information gathering," carrying out next steps on their own and choosing when to report back to the main agent.</p><p>The practical pitch is less latency and less babysitting: an agent that already knows the repository doesn't have to re-explore it every time the developer asks for something new.</p><p>When a job is large enough, Muse Code fans out to separate sub-agents working in parallel, each in its own isolated git worktree, so the developer's working copy is never touched. </p><p>"In testing we had it build six features for a game simultaneously with no collisions," Zuckerberg wrote on X. </p><p>Worktree isolation and parallel sub-agents exist in competing tools, but Meta is leaning on the combination of persistence plus parallelism as its differentiator.</p><p>The second notable design choice is auditability. Every model call, tool run, approval, and edit is appended to a <b>local event log</b> before it executes — a single source of truth that Meta says makes the runtime "replay-exact and restart-safe." </p><p>If Muse Code crashes 20 hours into a long-running task, it resumes precisely where it stopped, with no lost work and no re-prompting. For engineering leaders who have been burned by opaque agent runs, a complete local audit trail may prove to be the feature that matters most in enterprise evaluations.</p><p>Muse Code also ships with bundled "skills" that will look familiar to users of rival tools: /plan turns a task into an approval-gated plan, /grill stress-tests that plan until it holds up, and /goal drives the agent toward completion of a stated objective.</p><h2><b>Muse Spark 1.2: co-trained with its own harness</b></h2><p>Under the hood is Muse Spark 1.2, which Meta describes as a coding-focused update to Muse Spark 1.1 with "significantly scaled up training compute on coding tasks" and broader training environment diversity, improving code generation, complex debugging, and codebase understanding while maintaining general agentic capability.</p><p>The update lands squarely on the Muse family's weakest flank. When the original Muse Spark <a href="https://venturebeat.com/technology/goodbye-llama-meta-launches-new-proprietary-ai-model-muse-spark-first-since">debuted in April</a>, it vaulted Meta back into the top five on frontier reasoning and vision benchmarks — but trailed on the agentic coding evaluations that matter most to this market, scoring 77.4 on SWE-Bench Verified against Claude Opus 4.6's 80.8 and Gemini 3.1 Pro's 80.6, and lagging well behind GPT-5.4 on GDPval's measure of long-horizon work tasks. </p><p>Four months later, a coding-specialized checkpoint paired with a purpose-built harness reads as Meta's direct answer to that gap.</p><p>Two training details stand out. First, Meta co-trained the model with Muse Code itself, using rejection-sampled harness trajectories and recipe optimizations for goals, context compaction, and sub-agents — meaning the model was explicitly tuned to perform best inside this particular tool. That mirrors an industry-wide shift away from treating models and harnesses as separable products.</p><p>Second, Meta used a self-improvement loop: Muse Spark 1.1 generated challenging coding environments and instruction-following templates, then graded candidate solutions against those requirements, producing a scalable training dataset for its successor. Meta credits the loop with making 1.2 measurably better at following complex instructions.</p><p>Meta published benchmark charts comparing Muse Spark 1.2 against other coding models on Terminal-Bench 2.1, DeepSWE 1.1, and an internal Meta coding benchmark, pointing readers to a separate methodology report for details — though the company did not headline specific scores in the announcement itself, a notable omission in a field where rivals trumpet leaderboard placement.</p><p>The company's most striking demonstration is a long-horizon case study: Meta pointed Muse Spark 1.2 at GPU kernel optimization and let it run for more than 1,000 tool calls over up to 24 hours on NVIDIA Hopper hardware.</p><p>Working in Triton and barred from simply wrapping existing third-party kernel libraries, the agent wrote, compiled, and profiled its way to what Meta calls "substantial improvements" over baseline implementations of KDA and MLA kernels — including genuinely non-obvious optimizations like re-centering gated cumulative decay at a chunk midpoint. </p><p>"It kept finding substantial improvements well beyond the initial exploration phase," Zuckerberg wrote. Sustained improvement over a 24-hour autonomous run, if it holds up outside Meta's demos, addresses one of the most persistent criticisms of coding agents: that they plateau or drift once past their initial burst of progress.</p><h2><b>Your data for a discount?</b></h2><p>The pricing structure may be the most consequential — and most scrutinized — part of the launch. Meta is offering Muse Spark 1.2 through its<a href="https://dev.meta.ai/docs/pricing-rate-limits?project_id=1661600634933790&amp;team_id=2096920474558192"> Meta Model API </a>in two tiers.</p><p>The <b>standard tier</b> is priced at $1.25 per million input tokens and $4.25 per million output tokens (with cached input at $0.15), and Meta commits that prompts and completions on this tier are not used to train its models. There is no long-context premium, and rate limits run to 3,000 requests and 4 million tokens per minute, per team. It's about mid-range price, compared to other leading AI models available over API. </p><p>The <b>contributor tier</b> is where Meta's strategy diverges sharply from its rivals: $0.10 per million input tokens and $0.20 per million output tokens — roughly 12x and 21x cheaper than standard, respectively, with cached input at a near-free $0.002 — in exchange for explicit permission to use your prompts and completions to train future Meta models. It's the cheapest available on the market, but you pay with your data — as described below. </p><table><tbody><tr><td><p><b>Model</b></p></td><td><p><b>Input ($/1M)</b></p></td><td><p><b>Output ($/1M)</b></p></td><td><p><b>Total ($/1M)</b></p></td><td><p><b>Source</b></p></td></tr><tr><td><p><b>Muse Spark 1.2 Contributor</b></p></td><td><p><b>$0.10</b></p></td><td><p><b>$0.20</b></p></td><td><p><b>$0.30</b></p></td><td><p><b></b><a href="https://dev.meta.ai/docs/pricing-rate-limits"><b>Meta</b></a><b></b></p></td></tr><tr><td><p>MiMo-V2.5 Flash</p></td><td><p>$0.10</p></td><td><p>$0.30</p></td><td><p>$0.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>deepseek-v4-flash</p></td><td><p>$0.14</p></td><td><p>$0.28</p></td><td><p>$0.42</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>deepseek-v4-pro</p></td><td><p>$0.435</p></td><td><p>$0.87</p></td><td><p>$1.305</p></td><td><p><a href="https://api-docs.deepseek.com/quick_start/pricing">DeepSeek</a></p></td></tr><tr><td><p>GPT-5.6 Luna</p></td><td><p>$0.20</p></td><td><p>$1.20</p></td><td><p>$1.40</p></td><td><p><a href="https://openai.com/index/advancing-the-price-performance-frontier-with-gpt-5-6/">OpenAI</a></p></td></tr><tr><td><p>MiniMax-M3</p></td><td><p>$0.30</p></td><td><p>$1.20</p></td><td><p>$1.50</p></td><td><p><a href="https://platform.minimax.io/subscribe/token-plan?tab=api-enterprise">MiniMax</a></p></td></tr><tr><td><p>LongCat-2.0 — limited-time promo</p></td><td><p>$0.30</p></td><td><p>$1.20</p></td><td><p>$1.50</p></td><td><p><a href="https://longcat.chat/platform/docs/APIPayAsYouGo.html">LongCat</a></p></td></tr><tr><td><p>Gemini 3.1 Flash-Lite</p></td><td><p>$0.25</p></td><td><p>$1.50</p></td><td><p>$1.75</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>MiMo-V2.5</p></td><td><p>$0.40</p></td><td><p>$2.00</p></td><td><p>$2.40</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>Gemini 3.5 Flash-Lite</p></td><td><p>$0.30</p></td><td><p>$2.50</p></td><td><p>$2.80</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>LongCat-2.0 — standard</p></td><td><p>$0.75</p></td><td><p>$2.95</p></td><td><p>$3.70</p></td><td><p><a href="https://longcat.chat/platform/docs/APIPayAsYouGo.html">LongCat</a></p></td></tr><tr><td><p>MiMo-V2.5 Pro (≤256K)</p></td><td><p>$1.00</p></td><td><p>$3.00</p></td><td><p>$4.00</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p><b>Muse Spark 1.1 / 1.2</b></p></td><td><p><b>$1.25</b></p></td><td><p><b>$4.25</b></p></td><td><p><b>$5.50</b></p></td><td><p><b></b><a href="https://dev.meta.ai/docs/pricing-rate-limits"><b>Meta</b></a></p></td></tr><tr><td><p>GLM-5.2</p></td><td><p>$1.40</p></td><td><p>$4.40</p></td><td><p>$5.80</p></td><td><p><a href="https://docs.z.ai/guides/overview/pricing">Z.ai</a></p></td></tr><tr><td><p>Grok 4.5</p></td><td><p>$2.00</p></td><td><p>$6.00</p></td><td><p>$8.00</p></td><td><p><a href="https://docs.x.ai/developers/models">xAI</a></p></td></tr><tr><td><p>MiMo-V2.5 Pro (&gt;256K)</p></td><td><p>$2.00</p></td><td><p>$6.00</p></td><td><p>$8.00</p></td><td><p><a href="https://platform.xiaomimimo.com/docs/en-US/pricing">Xiaomi</a></p></td></tr><tr><td><p>Qwen3.8-Max</p></td><td><p>$2.00</p></td><td><p>$6.00</p></td><td><p>$8.00</p></td><td><p><a href="https://www.qwencloud.com/models/qwen3.8-max">QwenCloud</a></p></td></tr><tr><td><p>Gemini 3.6 Flash</p></td><td><p>$1.50</p></td><td><p>$7.50</p></td><td><p>$9.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Gemini 3.5 Flash</p></td><td><p>$1.50</p></td><td><p>$9.00</p></td><td><p>$10.50</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview (≤200K)</p></td><td><p>$2.00</p></td><td><p>$12.00</p></td><td><p>$14.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>GPT-5.6 Terra</p></td><td><p>$2.00</p></td><td><p>$12.00</p></td><td><p>$14.00</p></td><td><p><a href="https://openai.com/index/advancing-the-price-performance-frontier-with-gpt-5-6/">OpenAI</a></p></td></tr><tr><td><p>GPT-5.4</p></td><td><p>$2.50</p></td><td><p>$15.00</p></td><td><p>$17.50</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>Kimi K3</p></td><td><p>$3.00</p></td><td><p>$15.00</p></td><td><p>$18.00</p></td><td><p><a href="https://platform.kimi.ai/docs/pricing/chat-k3">Moonshot AI</a></p></td></tr><tr><td><p>Gemini 3.1 Pro Preview (&gt;200K)</p></td><td><p>$4.00</p></td><td><p>$18.00</p></td><td><p>$22.00</p></td><td><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Google</a></p></td></tr><tr><td><p>Claude Opus 5</p></td><td><p>$5.00</p></td><td><p>$25.00</p></td><td><p>$30.00</p></td><td><p><a href="https://platform.claude.com/docs/en/about-claude/pricing">Anthropic</a></p></td></tr><tr><td><p>GPT-5.5</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://openai.com/api/pricing/">OpenAI</a></p></td></tr><tr><td><p>GPT-5.5 Instant (chat-latest)</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://developers.openai.com/api/docs/models/chat-latest">OpenAI</a></p></td></tr><tr><td><p>Sakana Fugu Ultra (≤272K)</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://console.sakana.ai/pricing#subscription-plan">Sakana AI</a></p></td></tr><tr><td><p>GPT-5.6 Sol — Standard mode</p></td><td><p>$5.00</p></td><td><p>$30.00</p></td><td><p>$35.00</p></td><td><p><a href="https://openai.com/index/advancing-the-price-performance-frontier-with-gpt-5-6/">OpenAI</a></p></td></tr><tr><td><p>Claude Fable 5 / Claude Mythos 5</p></td><td><p>$10.00</p></td><td><p>$50.00</p></td><td><p>$60.00</p></td><td><p><a href="https://platform.claude.com/docs/en/about-claude/models/overview">Anthropic</a></p></td></tr><tr><td><p>GPT-5.6 Sol — Fast mode</p></td><td><p>$10.00</p></td><td><p>$60.00</p></td><td><p>$70.00</p></td><td><p><a href="https://openai.com/index/advancing-the-price-performance-frontier-with-gpt-5-6/">OpenAI</a></p></td></tr></tbody></table><p>This is the tier Zuckerberg is steering new users toward: "It's easy and low-cost to get started," he wrote. "Install Muse Code with one line and you can start on our contributor tier."</p><p>In VentureBeat's own testing on a Mac mini, the one-line installer worked as advertised — a 97 MB download and a sign-in — but the agent stopped short of running anything, reporting that no models were visible and that payment was "required to finish setting up your account." </p><p>In other words, even the heavily discounted contributor tier requires a payment method on file before Muse Code will do any work: low-cost is accurate, but free is not.</p><p>Meta frames the contributor tier as lowering the barrier for prototyping and experimentation "where training on your data is acceptable." </p><p>But it also means the default on-ramp for Muse Code sends developers' code and prompts into Meta's training pipeline — a tradeoff enterprises with proprietary codebases will need to consciously opt out of by moving to standard pricing. </p><p>The contributor tier also carries much tighter rate limits (60 requests per minute versus 3,000), a clear signal it's aimed at individuals and small experiments rather than production workloads.</p><p>The approach is classically Meta: subsidize access, harvest data at scale, and use it to close the gap with the frontier. Zuckerberg made no secret of the ambition, calling Muse Spark 1.2 "our next step as we push toward frontier, with larger, more capable models on the way."</p><p>However, for developers and enterprises who want or are required legally to keep their code secure, the tradeoff may not be one they're willing or able to make. </p><h2><b>No Llama in sight</b></h2><p>What today's announcement conspicuously lacks is any mention of open source — a striking omission from the company that spent three years positioning itself as the standard-bearer of open AI.</p><p>From the original LLaMA's debut in February 2023 — whose weights famously leaked onto 4chan within weeks, inadvertently kickstarting the movement to run capable models on consumer hardware — through Llama 2's commercially usable license, the coding-specialized Code Llama, and the 405-billion-parameter Llama 3.1, which Zuckerberg launched in July 2024 with a manifesto titled "<a href="https://about.fb.com/news/2024/07/open-source-ai-is-the-path-forward/">Open Source AI Is the Path Forward</a>," Meta's entire pitch to developers was that frontier-class weights should be free to download, self-host, and fine-tune. </p><p>The strategy worked: by early 2026, the Llama family had been <a href="https://miraflow.ai/blog/meta-ended-llama-built-muse-spark-changes-everything-2026">downloaded roughly 1.2 billion times</a>, averaging about a million downloads a day, with self-hosting offering enterprises cost reductions VentureBeat has previously reported at as much as 88% versus proprietary API providers.</p><p>Then came the unraveling. Llama 4 debuted in April 2025 to <a href="https://venturebeat.com/ai/meta-defends-llama-4-release-against-reports-of-mixed-quality-blames-bugs">mixed reviews</a> and, eventually, admissions that its benchmark results had been fudged — while Chinese open-weight rivals from DeepSeek, Alibaba, and Zhipu AI surged to account for some 41% of downloads on Hugging Face by late 2025, eroding Llama's claim to leadership of the very movement it started. The rocky rollout spurred Zuckerberg's summer 2025 overhaul of Meta's AI operations into Meta Superintelligence Labs (MSL), with Scale AI co-founder Alexandr Wang recruited as chief AI officer.</p><p>The Llama era effectively ended this past April 8, when MSL <a href="https://venturebeat.com/technology/goodbye-llama-meta-launches-new-proprietary-ai-model-muse-spark-first-since">shipped the original Muse Spark</a> — "the most powerful model that meta has released," in Wang's words — as Meta's first proprietary model: <a href="https://mynextdeveloper.com/blogs/metas-muse-spark-the-end-of-open-source-for-llama/">cloud-only, with no downloadable weights and no self-hosting</a>, initially confined to Meta's apps and a private API preview. </p><p>Asked directly at the time whether Llama development would continue, a Meta spokesperson told VentureBeat only that "our current Llama models will continue to be available as open source" — pointedly silent on future ones.</p><p>Wang, for his part, said <a href="https://www.artificialintelligence-news.com/news/meta-muse-spark-ai-model-open-source/">bigger models were already in development "with plans to open-source future versions"</a> — but four months on, today's release does nothing to advance that promise: no weights, no license, and neither the blog post nor Zuckerberg's thread so much as uses the word "open."</p><p>The reversal is all the sharper because Meta's rivals have been moving in the opposite direction. OpenAI released its <a href="https://github.com/openai/codex">Codex CLI as open source </a>under the permissive, enterprise-friendly Apache 2.0 license and followed with its <a href="https://venturebeat.com/business/openai-returns-to-open-source-roots-with-new-models-gpt-oss-120b-and-gpt-oss-20b">gpt-oss open-weight models</a>; Google's<a href="https://venturebeat.com/technology/google-is-redefining-enterprise-ai-economics-with-open-source-gemini-cli-that-will-be-free-for-the-majority-of-developers"> Gemini CLI harness is likewise Apache-licensed.</a> </p><p>With Muse Code, Meta lands closest to the posture of Anthropic — whose Claude Code remains proprietary — while the company that once argued open source was the path forward now asks developers to pay per token for a model they cannot inspect, or to subsidize that access with their own data. </p><p>Seen in that light, the contributor tier reads as the successor to the Llama strategy itself: the ecosystem flywheel is no longer free weights in exchange for mindshare, but cheap tokens in exchange for training data.</p><h2><b>Why it matters</b></h2><p>Terminal coding agents have become the fastest-growing surface in enterprise AI, and until today the category has effectively been a two-horse race between Anthropic and OpenAI, with Google and a crowd of startups in pursuit.</p><p>Meta's entry brings a genuinely different architecture (persistent background agents, an append-only local event log), a credible long-horizon demo, and an aggressive pricing wedge.</p><p>The open questions are the ones benchmarks charts can't answer: whether Muse Spark 1.2 actually matches Claude and GPT-class models on real-world repositories, whether developers trust Meta with their code, and whether the contributor tier's discount is enough to make them stop asking. Muse Code is available in beta today; Muse Spark 1.2 is live in the Meta Model API with expanded global access.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta's Muse Code is yet another AI coding agent on macOS]]></title>
<description><![CDATA[A one-line command in your macOS terminal can get you access to Meta's Muse Code, which aims to be a transparent AI coding tool that can work across large repositories.Meta's Muse Code is a new AI coding tool for macOS. Image source: MetaThere are already coding agents like Claude Code and ChatGP...]]></description>
<link>https://tsecurity.de/de/3706872/ios-mac-os/metas-muse-code-is-yet-another-ai-coding-agent-on-macos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706872/ios-mac-os/metas-muse-code-is-yet-another-ai-coding-agent-on-macos/</guid>
<pubDate>Wed, 05 Aug 2026 23:24:57 +0200</pubDate>
<content:encoded><![CDATA[A one-line command in your <a href="https://appleinsider.com/inside/macos" title="macOS" data-kpt="1">macOS</a> terminal can get you access to Meta's Muse Code, which aims to be a transparent AI coding tool that can work across large repositories.<br><br><div><img src="https://media.appleinsider.com/gallery/68478-144284-IMG_4884-xl.jpg" alt="Abstract space scene with blue lines converging into a bright central circle on a dark background, suggesting data streams or light beams focusing toward a single glowing point"><br><span>Meta's Muse Code is a new AI coding tool for macOS. Image source: Meta</span></div><br>There are already coding agents like <a href="https://appleinsider.com/articles/26/02/03/boost-your-vibe-coding-with-ai-agents-in-apples-new-xcode-263">Claude Code</a> and <a href="https://appleinsider.com/articles/26/04/24/chatbots-take-a-back-seat-as-new-gpt-55-model-focuses-on-getting-work-done">ChatGPT Codex</a> available for macOS, but Meta wants to enter the ring with its latest AI toolset. Unlike the others, it doesn't have an app interface and runs through the Terminal.<br><br>According to an <a href="https://research.meta.ai/blog/introducing-muse-code-and-muse-spark-1-2">announcement post</a> from Meta, Muse Code can take on complex software engineering tasks across large repositories. It is capable of planning changes, writing code, and validating the results while coordinating multiple persistent subagents.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/metas-muse-code-is-yet-another-ai-coding-agent-on-macos?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245178?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple's iPhone 18 Pro event won't be live, no matter how much you wish it to be]]></title>
<description><![CDATA[Apple's employee lottery for the September iPhone launch doesn't mean it will be a return to a live-presented event. It'll probably be the same pre-recorded presentation with press in the room as usual.John Ternus will introduce Apple's event in September. It will probably be prerecorded. It's ba...]]></description>
<link>https://tsecurity.de/de/3706873/ios-mac-os/apples-iphone-18-pro-event-wont-be-live-no-matter-how-much-you-wish-it-to-be/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706873/ios-mac-os/apples-iphone-18-pro-event-wont-be-live-no-matter-how-much-you-wish-it-to-be/</guid>
<pubDate>Wed, 05 Aug 2026 23:24:57 +0200</pubDate>
<content:encoded><![CDATA[Apple's employee lottery for the September <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> launch doesn't mean it will be a return to a live-presented event. It'll probably be the same pre-recorded presentation with press in the room as usual.<br><br><div><img src="https://media.appleinsider.com/gallery/68477-144282-52498-104841-000-lead-John-Ternus-xl-xl.jpg" alt="Man in a black T-shirt speaking and gesturing with both hands indoors, standing before large glass windows overlooking a modern circular office building and greenery"><br><span>John Ternus will introduce Apple's event in September. It will probably be prerecorded. </span></div><br>It's barely a month away from Apple's regular fall event, which will see the launch of products like the <a href="https://appleinsider.com/inside/iphone-18" title="iPhone 18" data-kpt="1">iPhone 18 Pro</a>, the <a href="https://appleinsider.com/inside/iphone-fold" title="iPhone Fold" data-kpt="1">iPhone Fold</a>, and other long-rumored items. It is always a major event, with most of the tech world paying close attention.<br><br>However, with the prospect of a new CEO at the helm, there are also expectations of other changes. That can also include the September event itself.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/apples-september-event-wont-be-live-no-matter-how-much-you-wish-it-to-be?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245177?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Firefox UX: Let your designs fail for the right reasons]]></title>
<description><![CDATA[How AI-assisted native prototypes changed what usability testing could show me.
 
If you’ve ever simplified an interaction just to make a prototype manageable, you’ve probably felt the tension between what you designed and what the prototype could actually support. The risk is that when a design ...]]></description>
<link>https://tsecurity.de/de/3706846/tools/firefox-ux-let-your-designs-fail-for-the-right-reasons/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706846/tools/firefox-ux-let-your-designs-fail-for-the-right-reasons/</guid>
<pubDate>Wed, 05 Aug 2026 23:22:26 +0200</pubDate>
<content:encoded><![CDATA[<h4>How AI-assisted native prototypes changed what usability testing could show me.</h4>
<p> </p>
<p>If you’ve ever simplified an interaction just to make a prototype manageable, you’ve probably felt the tension between what you designed and what the prototype could actually support. The risk is that when a design fails in usability testing, you can’t always tell why. Was the experience itself the problem, or was it really the prototype getting in the way: a missing connection, a laggy transition, a path you didn’t build?</p>
<p>I ran into this while working on Report Broken Site for Firefox Android, and it led me to a different way of prototyping: building directly inside the real app with AI (Claude), so the test reflects native fidelity rather than a simulation of it. That’s when I started worrying just about the design failing, and not the prototype.</p>
<div class="wp-caption aligncenter"><img alt="Four-step screenshot sequence of the Report Broken Site feature: choosing an issue type, adding details, previewing the report data, and confirming the report was sent." class=" wp-image-4500" height="558" src="https://blog.mozilla.org/ux/files/2026/08/image1-300x178.png" width="940"><p class="wp-caption-text">Feature: Report Broken Site</p></div>
<p> </p>
<h3>Reaching limits of walled prototypes</h3>
<p>In tools like Figma, prototyping requires anticipating every possible interaction and defining it explicitly. For the user to feel the true experience, each path needs to be connected, each transition set, and each variation accounted for. As complexity grows, it tends to increase the cost of maintaining it: screens multiply, connections become fragile, and animations become tedious to maintain.</p>
<p>At some point, you’re no longer designing the experience. <b>You’re managing the prototype. </b></p>
<div class="wp-caption aligncenter"><img alt='Animated GIF of a Figma prototype canvas with multiple Report Broken Site screens connected by numerous crisscrossing arrows, illustrating how manually wired prototype logic becomes tangled as complexity grows."' class="wp-image-4512 size-full" height="1512" src="https://blog.mozilla.org/ux/files/2026/08/Choosing-animation_1.5x.gif" width="3024"><p class="wp-caption-text">E.g. Changing the animation for one node, requires updating it everywhere manually.</p></div>
<p>To cope, we simplify the prototype. We reduce the number of paths, guide users through predefined flows, and limit what they can do on the prototype. The result is what I’ve started thinking of as a <b>walled prototype</b> — like a walled garden: a bounded space where users can move, but only within the paths we’ve pre-defined.</p>
<p>Some designers might argue that Figma’s recent additions of variables and advanced logic solve this problem. However, even with these tools, the designer is still building and managing the prototype. Figma prototypes simulate a system; it is not the system itself or a part of it. These prototypes have been useful, but they have also shaped the participant testing experience in ways that haven’t always been obvious.</p>
<p> </p>
<div class="wp-caption aligncenter"><img alt="Zoomed-out Figma canvas showing a large grid of connected mobile screens for the Report Broken Site prototype, linked by a dense tangle of blue connector lines." class=" wp-image-4501" height="827" src="https://blog.mozilla.org/ux/files/2026/08/image2-300x239.png" width="1038"><p class="wp-caption-text">When the logic of a feature is handled by manual connections, the canvas quickly turns into spaghetti of fragile dependencies.</p></div>
<h4><b>Prototypes shape participant behavior</b></h4>
<p>This becomes especially noticeable in usability testing. Test participants tend to recognize when they are interacting with a prototype, and that awareness can change how they behave. They may hesitate to explore, follow the perceived intent of the task, or tap around when they get stuck.</p>
<p>For example, to keep a prototype manageable, I might only make a few issue types selectable. But then participants are doing two things at once: deciding what they want to do and guessing what the prototype will allow. Their feedback can become shaped by the prototype’s limits, not just the design —  like a visitor to the walled garden checking which paths are actually open to them.</p>
<p>That constraint can be useful in early concept testing, where a narrower path helps focus the conversation. It becomes more limiting when we are trying to understand how the full experience behaves.</p>
<p>Research and practice have long acknowledged that <a href="https://www.nngroup.com/articles/ux-prototype-hi-lo-fidelity/">prototype fidelity</a> and <a href="https://uxdesign.cc/how-high-fidelity-prototypes-can-enhance-user-testing-30245ad0c4d1">testing setup</a> can influence participant behavior. But in practice, many workflows still rely on constrained, screen-to-screen simulations.</p>
<p>I’ve often wondered:</p>
<blockquote><p><b><i>How a user’s perceived experience might change if they weren’t encountering the feature in the isolation of a walled prototype?</i></b></p></blockquote>
<p> </p>
<h3>From walled to native fidelity prototypes</h3>
<p>Designing and prototyping is often described in terms of fidelity — from low-fidelity sketches to high-fidelity designs ready for dev handoff. That framing focuses on how closely we represent the product, but not necessarily how the experience itself behaves.</p>
<p>As building realistic interactions becomes easier using AI, it may now be possible to move beyond simulating flows in Figma and towards observing how people actually behave. So, alongside designing it in Figma, I built the feature directly into a local version of the Firefox Android app using Claude. It wasn’t straightforward at first, but even the friction of getting it working revealed things I wouldn’t have seen in a Figma prototype.</p>
<p>When I did this, I noticed there were no predefined paths to manage or fragile connections to maintain. The experience felt more continuous, allowing users to move more freely, not just within the feature, but within the app itself. I started thinking of these as prototypes with <b>native fidelity</b> — native to the app, native to the device, and aligned with how users expect interactions to behave.</p>
<h4><b>When prototypes need to handle dynamic behavior</b></h4>
<p>The difference between the two types of prototypes is not just theoretical; it starts to change what the experience can support. In walled prototypes, content is often fixed, and interactions move users between predefined screens. While this works for simple flows, it becomes harder to represent how interfaces behave when content needs to update dynamically based on user interaction.</p>
<p>In the <b>Report Broken Site</b> feature, this was important. A walled prototype struggles with:</p>
<ul>
<li><b>Capturing website data:</b> Depending on the browsing tab, metadata like the URL, screenshot, browser info, and tracking data needs to be captured and reflected back to the user.</li>
<li><b>URL editing:</b> Simulating real text entry, cursor movement, and auto-correct behavior.</li>
<li><b>Branching logic:</b> If a user selects “Site doesn’t load” as issue type, the details are optional, but if they choose “Something else,” details become required.</li>
<li><b>Error handling:</b> For “Something else,” the system must validate input length in the description box and show an error if it’s insufficient.</li>
</ul>
<p><b>Have you ever run into interactions like these and found yourself simplifying them, just to make the prototype manageable?</b></p>
<p>When I built it directly using Claude, the native fidelity prototype was able to handle metadata capture, text input, and branching logic more naturally.</p>
<div class="wp-caption aligncenter"><img alt="Screen recording on a real Android device of the Report Broken Site feature, showing the URL field and list of selectable issue types." class="size-full wp-image-4502" height="1128" src="https://blog.mozilla.org/ux/files/2026/08/image3.gif" width="1280"><p class="wp-caption-text">The native fidelity prototype inherits native behaviors like metadata capture, keyboard interactions, and dynamic state changes.</p></div>
<h4><b>The environment is part of the experience</b></h4>
<p>Another challenge is the environment in which the prototype is experienced. In walled prototypes, layouts are often fixed, and responsiveness is limited. Differences in device size, orientation, or performance can introduce inconsistencies that don’t reflect the intended final experience.</p>
<p>In practice, this can show up as:</p>
<ul>
<li><b>Oversized UI elements</b> on larger devices as the prototype was created for an average phone size.</li>
<li><b>Laggy interactions</b> on slower networks as Figma prototypes fail to be responsive sometimes.</li>
<li><b>Layouts that don’t adapt</b> as expected because of the constraints of the prototyping environment.</li>
</ul>
<p>When the interaction is built directly in the app, the experience inherits the <b>native environment of the device.</b> Layouts respond to screen size, interactions feel more consistent, and the overall experience is closer to what users would encounter in the final product. This could reduce the likelihood of testing interfaces being mistaken for design issues.</p>
<p> </p>
<h3>Tradeoffs and new realities</h3>
<p>This approach introduces its own challenges. First time setup for a designer is complex, and navigating the codebase and working through unfamiliar tools takes effort.</p>
<div class="wp-caption aligncenter"><img alt="Screenshot of Android Studio showing Claude assisting with a build error alongside the Firefox for Android codebase and a live device preview of the Report Broken Site feature." class=" wp-image-4504" height="649" src="https://blog.mozilla.org/ux/files/2026/08/image5-300x195.png" width="998"><p class="wp-caption-text">Using Claude on the Firefox for Android codebase in Android Studio to build the prototype.</p></div>
<p>Adopting this approach requires a shift in the UX designer’s toolkit. It raises the barrier to entry by requiring baseline comfort with the terminal, build environments, and IDEs. But it also allows designers to move beyond “faking the experience” in Figma prototypes and start building directly in the app.</p>
<p><b>Building the prototype this way also changes how the work evolves. </b>Instead of worrying about defining everything upfront, requirements tend to emerge through interaction —i.e. edge cases, missing states, and unclear behaviors as the experience is built. In Figma, many of these details are easy to overlook; when you create a prototype by building directly, they become easier to find.</p>
<p>Of course, this realism has its limits. While the experience feels like a continuous system rather than a sequence of steps, I haven’t yet connected it to a backend, pulled in APIs, or tested cross-device capabilities across mobile, tablet, and desktop. I’m still at the start of this exploration. What I want to understand next is how native fidelity prototypes change the testing environment itself: whether participants explore differently, whether failures are easier to interpret, and what new friction this approach introduces for designers and teams.</p>
<p> </p>
<h3>Start failing for the right reasons</h3>
<p>To put it simply: <b>if prototypes constrain user behavior, they may also shape the insights we get from usability testing.</b></p>
<p>For Report Broken Site, the value of the native prototype was not just that it handled more states. It gave me a more honest way to sit with the experience before putting it in front of participants. I could edit the URL, switch issue types, trigger validation, and move around the app as the feature would exist in context. Because this was a mobile experience, that context mattered: I could test it on a real device, with real navigation patterns, real input behavior, and the surrounding app experience intact. Those details helped me look past whether the prototype was working and focus more directly on whether the experience was working.</p>
<p>That is what I mean by letting the design fail for the right reasons: understanding whether an experience fails because of the design itself, not because of a missing screen-to-screen connection, bad transition, or laggy Figma prototype. The next step is to test whether this translates into different participant behavior and more useful usability insights.</p>
<p> </p>
<p>Originally published on<a class="_ymio1r31 _ypr0glyw _zcxs1o36 _mizu1v1w _1ah3dkaa _ra3xnqa1 _128mdkaa _1cvmnqa1 _4davt94y _4bfu1r31 _1hms8stv _ajmmnqa1 _vchhusvi _kqswh2mm _ect4ttxp _2rkolb4i _syaz13af _1a3b1r31 _4fpr8stv _5goinqa1 _f8pj13af _9oik1r31 _1bnxglyw _jf4cnqa1 _30l313af _1nrm1r31 _c2waglyw _1iohnqa1 _9h8h12zz _10531ra0 _1ien1ra0 _n0fx1ra0 _1vhv17z1" href="https://medium.com/@aarjavpandya/let-your-designs-fail-for-the-right-reasons-4843c2fa453a" title="https://medium.com/firefox-ux/how-do-people-decide-whether-or-not-to-get-a-browser-extension-334c66ab4484"> medium.com</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hackers run khunt post-exploitation toolkit from Oracle database]]></title>
<description><![CDATA[Hackers exploited a SQL injection vulnerability to install a post-exploitation toolkit directly inside an Oracle database that was used to breach a corporate network. [...]]]></description>
<link>https://tsecurity.de/de/3706750/it-security-nachrichten/hackers-run-khunt-post-exploitation-toolkit-from-oracle-database/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706750/it-security-nachrichten/hackers-run-khunt-post-exploitation-toolkit-from-oracle-database/</guid>
<pubDate>Wed, 05 Aug 2026 23:17:14 +0200</pubDate>
<content:encoded><![CDATA[Hackers exploited a SQL injection vulnerability to install a post-exploitation toolkit directly inside an Oracle database that was used to breach a corporate network. [...]]]></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[The National Design Studio Became a DOGE Landing Pad. Now ‘Big Balls’ Is Recruiting]]></title>
<description><![CDATA[WIRED spoke with an engineer who was interviewed by Edward “Big Balls” Coristine for a government engineering role at the NDS, the White House agency staffed by other DOGE veterans.]]></description>
<link>https://tsecurity.de/de/3706696/it-nachrichten/the-national-design-studio-became-a-doge-landing-pad-now-big-balls-is-recruiting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706696/it-nachrichten/the-national-design-studio-became-a-doge-landing-pad-now-big-balls-is-recruiting/</guid>
<pubDate>Wed, 05 Aug 2026 23:16:32 +0200</pubDate>
<content:encoded><![CDATA[WIRED spoke with an engineer who was interviewed by Edward “Big Balls” Coristine for a government engineering role at the NDS, the White House agency staffed by other DOGE veterans.]]></content:encoded>
</item>
<item>
<title><![CDATA[Pre-auth RCE in enterprise Java hits Bonita and OFBiz servers]]></title>
<description><![CDATA[An attacker sends a single web request to a Bonita server and lands inside an internal API that assumed nobody could reach it. The request arrives unauthenticated. From there the attacker runs code on the host. Bonita BPM handles loan approvals, insurance claims, and employee onboarding for banks...]]></description>
<link>https://tsecurity.de/de/3706674/it-security-nachrichten/pre-auth-rce-in-enterprise-java-hits-bonita-and-ofbiz-servers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706674/it-security-nachrichten/pre-auth-rce-in-enterprise-java-hits-bonita-and-ofbiz-servers/</guid>
<pubDate>Wed, 05 Aug 2026 20:50:59 +0200</pubDate>
<content:encoded><![CDATA[<p>An attacker sends a single web request to a Bonita server and lands inside an internal API that assumed nobody could reach it. The request arrives unauthenticated. From there the attacker runs code on the host. Bonita BPM handles loan approvals, insurance claims, and employee onboarding for banks, insurers, and government agencies, and its internal surface answers to strangers. Vulnerability researchers at Novee, found the path. They presented it today at Black Hat USA 2026 … <a href="https://www.helpnetsecurity.com/2026/08/05/pre-auth-rce-java-bonita-ofbiz-cve-2026-31986/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/05/pre-auth-rce-java-bonita-ofbiz-cve-2026-31986/">Pre-auth RCE in enterprise Java hits Bonita and OFBiz servers</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Don’t Revoke That Token Yet: Inside the keyv/cacheable npm Worm, (Wed, Aug 5th)]]></title>
<description><![CDATA[When you learn that a compromised package executed on one of your build hosts, muscle memory takes over: revoke the npm token, rotate the GitHub PAT,…
Read more →
The post Don’t Revoke That Token Yet: Inside the keyv/cacheable npm Worm, (Wed, Aug 5th) appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3706633/it-security-nachrichten/dont-revoke-that-token-yet-inside-the-keyvcacheable-npm-worm-wed-aug-5th/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706633/it-security-nachrichten/dont-revoke-that-token-yet-inside-the-keyvcacheable-npm-worm-wed-aug-5th/</guid>
<pubDate>Wed, 05 Aug 2026 20:30:35 +0200</pubDate>
<content:encoded><![CDATA[<p>When you learn that a compromised package executed on one of your build hosts, muscle memory takes over: revoke the npm token, rotate the GitHub PAT,…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/dont-revoke-that-token-yet-inside-the-keyv-cacheable-npm-worm-wed-aug-5th/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/dont-revoke-that-token-yet-inside-the-keyv-cacheable-npm-worm-wed-aug-5th/">Don’t Revoke That Token Yet: Inside the keyv/cacheable npm Worm, (Wed, Aug 5th)</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Don't Revoke That Token Yet: Inside the keyv/cacheable npm Worm, (Wed, Aug 5th)]]></title>
<description><![CDATA[When you learn that a compromised package executed on one of your build hosts, muscle memory takes over: revoke the npm token, rotate the GitHub PAT, cycle the cloud keys. That reflex has been correct in almost every supply-chain incident I have worked. In the keyv/cacheable compromise that has b...]]></description>
<link>https://tsecurity.de/de/3706630/it-security-nachrichten/dont-revoke-that-token-yet-inside-the-keyvcacheable-npm-worm-wed-aug-5th/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706630/it-security-nachrichten/dont-revoke-that-token-yet-inside-the-keyvcacheable-npm-worm-wed-aug-5th/</guid>
<pubDate>Wed, 05 Aug 2026 20:30:30 +0200</pubDate>
<content:encoded><![CDATA[<p>When you learn that a compromised package executed on one of your build hosts, muscle memory takes over: revoke the npm token, rotate the GitHub PAT, cycle the cloud keys. That reflex has been correct in almost every supply-chain incident I have worked. In the <strong><code>keyv</code>/<code>cacheable</code></strong> compromise that has been unfolding since yesterday, it is the one thing you should not do first â because revoking the stolen token is exactly what arms the payload.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[the worlds most popular software synthesizer (Serum 2) now has a linux version]]></title>
<description><![CDATA[xfer, the creators of the super popular software synth VST Serum (and Serum2) has quietly released a beta of a linux port on their forum. I've got it up and running in Bitwig/Ubuntu and it's working like a treat. For people who like to make music on the computer this is a huge victory, as it's a ...]]></description>
<link>https://tsecurity.de/de/3706592/linux-tipps/the-worlds-most-popular-software-synthesizer-serum-2-now-has-a-linux-version/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706592/linux-tipps/the-worlds-most-popular-software-synthesizer-serum-2-now-has-a-linux-version/</guid>
<pubDate>Wed, 05 Aug 2026 20:09:27 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>xfer, the creators of the super popular software synth VST Serum (and Serum2) has quietly released a beta of a linux port on their forum. I've got it up and running in Bitwig/Ubuntu and it's working like a treat.</p> <p>For people who like to make music on the computer this is a huge victory, as it's a plugin that has never run properly with wine/yabridge and is often cited as a reason people won't switch. It wouldn't surprise me if other plugin developers see this and take note 🤞️</p> <p><a href="https://xferrecords.com/forums/serum/serum-2-linux-beta">https://xferrecords.com/forums/serum/serum-2-linux-beta</a> (requires a license to access, of course)</p> <p>also comes with serum fx</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Rude-Armadillo-6963"> /u/Rude-Armadillo-6963 </a> <br> <span><a href="https://i.redd.it/bvrkz8z2zkhh1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vgbser/the_worlds_most_popular_software_synthesizer/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Building Organizational Intelligence]]></title>
<description><![CDATA[Introduction Not long ago, one of my engineering directors came to me with a request: His team seemed overloaded, and he wanted to hire another engineer. I decided to test a research assistant I had been building—an AI agent connected to our internal systems via MCP—by asking it to analyze the te...]]></description>
<link>https://tsecurity.de/de/3706541/ai-nachrichten/building-organizational-intelligence/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706541/ai-nachrichten/building-organizational-intelligence/</guid>
<pubDate>Wed, 05 Aug 2026 19:45:01 +0200</pubDate>
<content:encoded><![CDATA[Introduction Not long ago, one of my engineering directors came to me with a request: His team seemed overloaded, and he wanted to hire another engineer. I decided to test a research assistant I had been building—an AI agent connected to our internal systems via MCP—by asking it to analyze the team’s workload and write […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Small, Siri, and smart: What to expect from HomePod mini 2]]></title>
<description><![CDATA[Apple is preparing some smart home updates, with a new HomePod mini expected soon. Here's what to expect from Apple's small wireless speaker.HomePod mini 2 shouldn't change much from the first-gen's external appearance. Apple's HomePod mini is a key part of the smart home. While it is obviously a...]]></description>
<link>https://tsecurity.de/de/3706501/ios-mac-os/small-siri-and-smart-what-to-expect-from-homepod-mini-2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706501/ios-mac-os/small-siri-and-smart-what-to-expect-from-homepod-mini-2/</guid>
<pubDate>Wed, 05 Aug 2026 19:43:35 +0200</pubDate>
<content:encoded><![CDATA[Apple is preparing some smart home updates, with a new <a href="https://appleinsider.com/inside/homepod-mini" title="HomePod mini" data-kpt="1">HomePod mini</a> expected soon. Here's what to expect from Apple's small wireless speaker.<br><br><div><img src="https://media.appleinsider.com/gallery/68475-144269-HomePod-mini-desk-xl.jpg" alt="White spherical smart speaker glowing on top, placed on a desk beside a closed laptop and a smartphone in a brown case"><br><span>HomePod mini 2 shouldn't change much from the first-gen's external appearance. </span></div><br>Apple's HomePod mini is a key part of the smart home. While it is obviously a great and compact speaker and a way to communicate with <a href="https://appleinsider.com/inside/siri" title="Siri" data-kpt="1">Siri</a> without using your <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a>, it's also a hub to manage all of your smart home devices using <a href="https://appleinsider.com/inside/apple-home" title="Apple Home" data-kpt="1">Apple Home</a>.<br><br>However, since its release in 2020, the HomePod mini hasn't had much in the way of updates, save for some new colors. A glow-up is long overdue.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/small-siri-and-smart-what-to-expect-from-homepod-mini-2?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245176?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Surgeons enthuse about what a great bargain Apple Vision Pro is]]></title>
<description><![CDATA[A new study covering wearing an Apple Vision Pro during certain surgeries has concluded that it is superior to existing medical equipment, and is very much worth the relatively small cost.The Apple Vision Pro has proven to be a useful tool for cataract surgery.Apple Vision Pro has been used for s...]]></description>
<link>https://tsecurity.de/de/3706502/ios-mac-os/surgeons-enthuse-about-what-a-great-bargain-apple-vision-pro-is/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706502/ios-mac-os/surgeons-enthuse-about-what-a-great-bargain-apple-vision-pro-is/</guid>
<pubDate>Wed, 05 Aug 2026 19:43:35 +0200</pubDate>
<content:encoded><![CDATA[A new study covering wearing an <a href="https://appleinsider.com/inside/apple-vision-pro" title="Apple Vision Pro" data-kpt="1">Apple Vision Pro</a> during certain surgeries has concluded that it is superior to existing medical equipment, and is very much worth the relatively small cost.<br><br><div><img src="https://photos5.appleinsider.com/gallery/67490-142065-AVPsurgery-xl.jpg" alt="Medical tray with a futuristic white VR headset beside surgical tools, including scissors, forceps, scalpels, syringes, and a stainless steel kidney dish on a teal cloth surface"><br><span>The Apple Vision Pro has proven to be a useful tool for cataract surgery.</span></div><br>Apple Vision Pro has been <a href="https://appleinsider.com/articles/26/04/28/apple-vision-pro-used-for-hundreds-of-cataract-surgeries-in-the-last-year">used for surgery</a> since it first came out, and surgeons have already said that it is so light it saves them <a href="https://appleinsider.com/articles/24/10/16/surgeons-say-apple-vision-pro-saves-them-pain-and-injury">pain and injury</a>. Now a study conducted at the UC San Diego Shiley Eye Institute, has directly compared using Apple Vision Pro to what it calls "traditional monitor-based" surgery.<br><br>The <a href="https://www.sciencedirect.com/science/article/pii/S2950253526000651?via%3Dihub">resulting paper</a>, called "Apple Vision Pro as a Wearable Display for Endoscopic Dacryocystorhinostomy: Surgical Experience, Efficiency, and Cost," claims to be among the first to evaluate the device for endoscopic lacrimal surgery. The researchers considered factors including efficiency, reliability, weight and cost, and concluded that Apple Vision Pro:<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/surgeons-enthuse-about-what-a-great-bargain-apple-vision-pro-is?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245175?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Unsafe iMessage for Android app Sunbird just will not die]]></title>
<description><![CDATA[Even though Apple now supports RCS to let Android users join in iMessage conversations, the risky Sunbird app is back to persuade them to route everything through its servers anyway. Don't do it to yourself.That would be Android phones it's talking about. You're on an iPhone, you're fine. Image c...]]></description>
<link>https://tsecurity.de/de/3706503/ios-mac-os/unsafe-imessage-for-android-app-sunbird-just-will-not-die/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706503/ios-mac-os/unsafe-imessage-for-android-app-sunbird-just-will-not-die/</guid>
<pubDate>Wed, 05 Aug 2026 19:43:35 +0200</pubDate>
<content:encoded><![CDATA[Even though Apple now supports RCS to let Android users join in <a href="https://appleinsider.com/inside/imessage" title="iMessage" data-kpt="1">iMessage</a> conversations, the risky Sunbird app is back to persuade them to route everything through its servers anyway. Don't do it to yourself.<br><br><div><img src="https://media.appleinsider.com/gallery/68474-144262-000-lead-Sunbird-xl.jpg" alt="Colorful ad with four diverse, happy people under bold text saying Love your phone but hate the green bubbles We made Sunbird for people like you on a purple background"><br><span>That would be Android phones it's talking about. You're on an iPhone, you're fine. Image credit: Sunbird</span></div><br>Previously on Sunbird... it was an <a href="https://appleinsider.com/articles/22/12/01/imessage-may-be-coming-to-android-with-sunbird">Android app</a> that let users partake in Apple iMessage conversations without a <a href="https://appleinsider.com/articles/23/12/21/if-you-want-blue-imessage-bubbles-that-much-buy-an-iphone">green bubble</a>, and with myriad security problems. It came and it went, and then Apple <a href="https://appleinsider.com/articles/26/05/13/rcs-encryption-havent-fixed-the-green-bubble-problem">added RCS support</a> so that Android users could do exactly this without the privacy issues.<br><br>Sunbird tried <a href="https://appleinsider.com/articles/24/04/08/astoundingly-unsafe-imessage-bridge-sunbird-is-back-and-you-still-shouldnt-use-it">coming back</a> in 2024 having promised to have fixed its security problems, but it really didn't because it really can't. Your data still went through its servers and the company can say all it likes that it doesn't peek, but this remains a firm you've never heard of and are expected to trust.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/unsafe-imessage-for-android-app-sunbird-just-will-not-die?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245174?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[b4 0.16.0 released]]></title>
<description><![CDATA[Konstantin Ryabitsev has announced the release of version 0.16.0 of the b4 
software-development tool.  The biggest change is the addition of
bug-tracking support:


	The new "b4 bugs" command integrates with git-bug to let you track
	bug reports alongside your git repository. Bugs are stored as ...]]></description>
<link>https://tsecurity.de/de/3706493/linux-tipps/b4-0160-released/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706493/linux-tipps/b4-0160-released/</guid>
<pubDate>Wed, 05 Aug 2026 19:43:12 +0200</pubDate>
<content:encoded><![CDATA[Konstantin Ryabitsev has announced the release of version 0.16.0 of the <a href="https://b4.docs.kernel.org/en/latest/">b4</a> 
software-development tool.  The biggest change is the addition of
bug-tracking support:
<p>
</p><blockquote class="bq">
	The new "b4 bugs" command integrates with git-bug to let you track
	bug reports alongside your git repository. Bugs are stored as git
	objects inside the repo, so they travel with the code and can be
	shared via git push/pull without any external service.
</blockquote>
<p>
There are also a lot of improvements to <tt>b4 review</tt> (which was <a href="https://lwn.net/Articles/1063303/#:~:text=entirely.-,b4%20review">covered
here</a> in March), better conflict resolution in <tt>b4 shazam</tt>,
improved history rewriting, and more.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Galaxy Z Fold 8 Ultra Review: It’s Amazing, But There’s That Other Option]]></title>
<description><![CDATA[In the lead-up to the launch of the Galaxy Z Fold 8 Ultra, the story wasn’t really about this new “Ultra” branding for Samsung’s best foldable. Instead, all anyone could focus on was the new wider, shorter model that would be known as the Galaxy Z Fold 8. That’s fair, since we all love a...
Read ...]]></description>
<link>https://tsecurity.de/de/3706416/it-nachrichten/galaxy-z-fold-8-ultra-review-its-amazing-but-theres-that-other-option/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706416/it-nachrichten/galaxy-z-fold-8-ultra-review-its-amazing-but-theres-that-other-option/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:18 +0200</pubDate>
<content:encoded><![CDATA[<p>In the lead-up to the launch of the Galaxy Z Fold 8 Ultra, the story wasn’t really about this new “Ultra” branding for Samsung’s best foldable. Instead, all anyone could focus on was the new wider, shorter model that would be known as the Galaxy Z Fold 8. That’s fair, since we all love a...</p>
<p>Read the original post: <a href="https://www.droid-life.com/2026/08/05/galaxy-z-fold-8-ultra-review-its-amazing-but-theres-that-other-option/">Galaxy Z Fold 8 Ultra Review: It’s Amazing, But There’s That Other Option</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Shai-Hulud npm worm didn't fake its security check — it earned a legitimate one]]></title>
<description><![CDATA[An attacker on Tuesday took over the GitHub account of the developer who maintains keyv, a small key-value storage library that npm serves roughly 127 million times a week. Within hours, poisoned versions of keyv and its sibling caching packages were live on npm, carrying a credential-stealing wo...]]></description>
<link>https://tsecurity.de/de/3706411/it-nachrichten/the-shai-hulud-npm-worm-didnt-fake-its-security-check-it-earned-a-legitimate-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706411/it-nachrichten/the-shai-hulud-npm-worm-didnt-fake-its-security-check-it-earned-a-legitimate-one/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:14 +0200</pubDate>
<content:encoded><![CDATA[<p>An attacker on Tuesday took over the GitHub account of the developer who maintains <a href="https://keyv.org/">keyv</a>, a small key-value storage library that <a href="https://www.npmjs.com/">npm</a> serves roughly 127 million times a week. Within hours, poisoned versions of keyv and its sibling caching packages were live on npm, carrying a credential-stealing worm. By midday, <a href="https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack">security firm Aikido</a> counted at least 868 compromised packages across 1,381 versions, together carrying over two billion monthly installs, a total still climbing. <a href="https://jfrog.com/">JFrog</a> independently traced the campaign across more than 400 packages and 1,700 poisoned versions. </p><p>The part that should worry every security team is not the download count. It is the paperwork. The initial poisoned releases shipped with valid provenance signatures, the cryptographic attestation the industry built to prove a package came from where it claims. The worm did not forge that signature. It earned it, the way a legitimate release would.</p><p>A day earlier, <a href="https://www.crowdstrike.com/en-us/">CrowdStrike</a> published its <a href="https://www.crowdstrike.com/en-us/blog/crowdstrike-2026-threat-hunting-report/">2026 Threat Hunting Report</a> and predicted this exact shape of attack. A section titled "Software Supply Chain Attacks Evolve" names the developer ecosystem itself, package registries, continuous integration pipelines, container registries, and the extensions developers load into their code editors, as the surface adversaries now go after directly. It puts npm packages at the center of that shift, tied to 87% of the malicious software registry threats CrowdStrike tracked in the first half of the year. The keyv worm turned that finding into a live incident inside 24 hours.</p><p>For CISOs and security architects, the two events read as one message. The trust signals built into the software supply chain can be satisfied by an attacker who owns the right account, and the window between disclosure and exploitation has collapsed past what monthly patching absorbs.</p><h2><b>How the worm earned its provenance</b></h2><p>Walk through the mechanism and it becomes clear why provenance did not help. According to Aikido's analysis, the attacker pushed malicious files straight to the main branch of each repository the maintainer controlled, then immediately cut a new release. Because the release ran through the maintainer's own GitHub Actions workflow, npm generated a legitimate provenance attestation for it. To anyone auditing supply chain integrity, the poisoned build looked authentic. <a href="https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack">Wiz confirmed the release path independently</a>, and in one targeted path documented by JFrog the worm went further. Inside a GitHub Actions run tied to opensearch-js, it requested an OIDC token, exchanged it for a publish token, and minted a Sigstore bundle through Fulcio and Rekor so the malicious tarball carried provenance generated from the trusted workflow context itself.</p><p>What turned a single account takeover into a registry-wide event was the spread. Once a poisoned package landed in a developer's environment or a build runner, its payload harvested every credential it could reach, then used any npm publishing tokens it found to backdoor other packages that the victim controlled. Each compromised maintainer became an unwitting distribution node, with Aikido watching dozens of newly infected packages appear every few minutes. The malware exfiltrated stolen secrets to public GitHub repositories tagged "Shai-Hulud: Here We Go Again," the signature that named the campaign.</p><p>This blast radius reached well beyond obscure utilities. Because keyv sits as a transitive dependency under many popular tools, the worm rode those chains into packages under corporate npm scopes, <a href="https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack">with releases tied to Deliveroo, Qlik, and Picsart among the confirmed hits</a>. Developers at those companies never installed keyv on purpose. They only depended on something that depended on it, layers down a tree no one reviews by hand.</p><p>Credential extractors inside the payload reveal what the attackers were actually after, and it was never the caching libraries. <a href="https://research.jfrog.com/post/shai-hulud-is-back-august/">JFrog, which traced the compromise across keyv and cacheable</a>, and <a href="https://www.wiz.io/">Wiz</a> both found the malware harvesting cloud access keys, CI secrets, and the tokens that authenticate to production infrastructure. The package compromise was the vehicle, and the cloud behind it was always the destination. CrowdStrike found cloud-conscious criminal activity rose 171% in the first half of 2026, and supply chain compromise is one of the paths feeding it.</p><h2><b>The target was the developer's own tools</b></h2><p>Stealing was not the end of it, because the worm also planted itself where developers work. Wiz found that the malware drops persistence payloads into two directories on machines it reaches, one for Visual Studio Code and one named .claude, the working directory for Anthropic's Claude Code agent. The setup files placed there mean the payload can run when a developer opens the infected project in their editor or starts an AI coding session, not only at install time. This is the developer ecosystem CrowdStrike named, hit precisely, the editor and the AI assistant a developer trusts most and inspects least.</p><h2><b>The fix costs nothing</b></h2><p>One control would have blunted the worm, and it costs nothing. Adam Meyers, who leads Counter Adversary Operations at CrowdStrike, laid it out in a pre-release interview under embargo. "Secure the software supply chain," he said. "Simple things like not allowing any of your tooling to pull down the most recent dependencies, but maybe last week's dependencies." The delay is the whole point. "You're still going to have pretty up-to-date stuff, but you won't have that risk of pulling down something that was updated minutes ago, and now you've just onboarded some sort of malicious tooling." A release held back a week gives the security community time to catch a poisoning that would otherwise reach every downstream build within minutes.</p><p>That guidance is not hypothetical. npm shipped this capability in February 2026 with CLI version 11.10.0 as a <a href="https://docs.npmjs.com/cli/v11/using-npm/config#min-release-age">setting called min-release-age</a>. pnpm got there five months earlier with <a href="https://craigory.dev/blog/2026-05-29/package-manager-release-cooldown/">minimumReleaseAge</a>. Either one lets a team reject any package version published more recently than a threshold they set. The keyv worm is the argument for turning it on.</p><p>Meyers pairs the cooldown with a second discipline. Patch what attackers are exploiting before anything else. "You need to kind of focus your vulnerability mitigation and patching around the exploits that are known to the exploiter," he told VentureBeat. He pointed to a resource most teams underuse. "CISA here in the United States puts out something called the Known Exploited Vulnerability Catalog," updated weekly with flaws confirmed under active attack, government-maintained and free. "If you patch those vulnerabilities first, you're going to probably be safer."</p><p>Meyers put hard numbers to the speed problem, numbers that do not appear in the published report. All of 2025 saw roughly 48,200 vulnerabilities registered as CVEs. When he checked the week before the briefing, 2026 had already reached 43,000. </p><p>That volume breaks monthly patch cycles. "They cannot operate in 30-day patch windows," he told VentureBeat. "As soon as a vulnerability is disclosed, they need to be moving towards patching or mitigating that particular issue." CrowdStrike's report pairs that trajectory with a finding that 88% of the exploitation it observed against vulnerabilities with a public proof of concept happened inside 48 hours of the code going public.</p><h2><b>GitHub hardened half the problem</b></h2><p>GitHub, which owns npm, <a href="https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/">has spent the past year hardening the registry</a> against precisely this class of attack. The platform made two-factor authentication mandatory for publishing, revoked old never-expiring access tokens, and added trusted publishing so build systems push without stored credentials. Then in <a href="https://thehackernews.com/2026/07/npm-12-disables-install-scripts-by.html">npm version 12</a>, released in mid-2026, it flipped the most consequential default. The preinstall, install, and postinstall hooks that most registry malware relies on to execute the moment a package lands now require explicit approval.</p><p>That change matters directly here because the keyv worm executes through a preinstall script, and npm 12 cuts both ways. JFrog confirmed that on npm 12 or newer, where preinstall hooks are off by default, the malware does not run at install time. Every organization still on an older npm, and most enterprises upgrade slowly, remained exposed. </p><p>GitHub's defenses hardened the wrong half of the attack more than the right one, making it harder for a malicious package to execute once it lands while doing less to stop an attacker from earning the right to publish. Account takeover remains the root cause. Kiran Raj, a security engineer at <a href="https://www.endorlabs.com/">Endor Labs</a>, said he saw the same pattern, an npm publishing token stolen and reused, in most cases a CI or service-account token harvested from a build runner that had itself installed a poisoned dependency. The worm never had to defeat provenance. It needed one set of valid credentials, and npm's own publishing automation did the rest.</p><p>Provenance attestation answers whether a package came from the pipeline it claims. It does not answer whether the human or token that triggered that pipeline was supposed to. Identity governance, who can publish and what their credentials can reach, is the weaker control. CrowdStrike names abuse of legitimate developer identities as the primary entry point for supply chain compromise. Meyers put it plainly. "They log in, they don't hack in," he said. The keyv maintainer's account was that identity, and the trusted-publishing machinery did the rest on the attacker's behalf.</p><h2><b>Why the boardroom is next</b></h2><p>The pressure to fix this will not come only from threat reports. It is about to come through contracts. Kayne McGladrey, a senior member of the IEEE, told VentureBeat in an exclusive interview that enterprises are starting to push software security obligations onto the vendors and maintainers in their supply chains. "We're going to start seeing companies trying to contractually shift liability to other parties in their supply chain," he told VentureBeat. "We're using your technology, but we want you to do the security for it." </p><p>He compared it to how the Department of Defense forced its vendors to raise their game through the CMMC certification program. "Get better at cybersecurity if you want to sell us stuff." For any company shipping software on open-source dependencies, that turns provenance, identity, and patch discipline into contractual exposure.</p><h2><b>What to do Monday morning</b></h2><p>For a security team deciding what to do about this on Monday morning, the actions divide into five moves that map to the five ways this attack class operates. Each is a governance decision a board can fund and audit, not a tool a developer installs alone.</p><table><tbody><tr><td><p><b>How the attack operates</b></p></td><td><p><b>What the keyv worm showed</b></p></td><td><p><b>What the board funds and audits</b></p></td></tr><tr><td><p>The developer ecosystem is the target.</p></td><td><p>CrowdStrike names package registries, CI/CD pipelines, container registries, and IDE extensions as the surface adversaries hit directly. The keyv payload planted persistence hooks in developer editor and AI tooling directories, not just the package.</p></td><td><p>Require provenance attestation and trusted publishing before any dependency or editor extension enters a build. Give the board a standing inventory of registries, pipeline components, and extensions in scope. Treat developer tooling as an audited supplier category.</p></td></tr><tr><td><p>Automation makes the spread fast.</p></td><td><p>One stolen credential seeded a cascade that reached at least 868 packages and two billion monthly installs in hours, jumping between organizations every few minutes. The worm ran through a preinstall script, the install-time default npm v12 disables.</p></td><td><p>Turn on npm's min-release-age so tooling pulls last week's versions, not releases published minutes ago. Require npm v12 or install-script blocking across the build estate. Plan for simultaneous multi-package compromise in resilience testing.</p></td></tr><tr><td><p>Identity is the entry point.</p></td><td><p>The attack began with one hijacked GitHub maintainer account. Provenance signed the poisoned releases because they ran through the maintainer's own pipeline. Valid credentials, not a broken control, did the damage.</p></td><td><p>Mandate phishing-resistant multifactor authentication for every maintainer with publish rights. Prefer short-lived scoped tokens over long-lived ones. Report developer and machine identity coverage to the board as a countable liability.</p></td></tr><tr><td><p>The cloud is the real destination.</p></td><td><p>The payload carried targeted extractors for cloud access keys, CI secrets, and production infrastructure tokens. The package compromise was the vehicle. Cloud-conscious criminal activity rose 171% in the first half of 2026.</p></td><td><p>Classify developer workstations and CI runners as tier-zero assets with domain-controller rotation standards. Document cloud credential rotation in hours after any supply chain exposure. Report long-lived cloud keys with reduction targets.</p></td></tr><tr><td><p>The patch window has collapsed.</p></td><td><p>CrowdStrike observed 88% of exploitation with a public proof of concept inside 48 hours. Meyers put 2026 CVE registrations at 43,000 by late July against 48,200 for all of 2025. The keyv worm was live within hours, with no CVE to wait for.</p></td><td><p>Reset patch service levels for internet-facing systems from days to hours and fund continuous emergency patching as a budgeted operation. Give the audit committee time-from-disclosure-to-mitigation as a standing metric. Build defensibility on documented pre-patch compensating controls.</p></td></tr></tbody></table><p><i>Package counts reflect Aikido and JFrog tracking as of August 4 and were climbing at press time.</i></p><p>The keyv worm will be contained. Compromised versions pulled, stolen tokens rotated, affected packages republished clean. What will not change is the shape of the exposure it revealed. The developer ecosystem is now a primary target, the automation that makes it productive is the same automation that makes a worm fast, and the trust signals meant to secure it can be satisfied by anyone holding the right credentials. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI startup Hark unveils first product: an affordable, fast computer use agent Hark Handoff]]></title>
<description><![CDATA[Hark, the secretive AI startup founded earlier this year by serial entrepreneur and roboticist Brett Adcock, today announced Handoff, a "computer use agent" (CUA) that it says is among the top-performing in the world at navigating the open web on a user's behalf — ordering dinner on DoorDash, boo...]]></description>
<link>https://tsecurity.de/de/3706412/it-nachrichten/ai-startup-hark-unveils-first-product-an-affordable-fast-computer-use-agent-hark-handoff/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706412/it-nachrichten/ai-startup-hark-unveils-first-product-an-affordable-fast-computer-use-agent-hark-handoff/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:14 +0200</pubDate>
<content:encoded><![CDATA[<p><a href="https://hark.com/">Hark</a>, the secretive <a href="https://www.businesswire.com/news/home/20260324789327/en/Hark-Launches-AI-Lab-Building-Futuristic-Interface-to-Artificial-Intelligence">AI startup founded earlier this year </a>by serial entrepreneur and roboticist Brett Adcock, <a href="https://hark.com/articles/introducing-hark-handoff">today announced Handoff</a>, a "computer use agent" (CUA) that it says is among the top-performing in the world at navigating the open web on a user's behalf — ordering dinner on DoorDash, booking flights on United and Delta, or messaging job candidates on LinkedIn — all autonomously, end-to-end.</p><p>Sign-ups open to the public today at <a href="https://hark.com/">hark.com</a>, with availability planned for later this month as part of the initial release of Hark's software platform.</p><p>The company says Handoff recorded the top-ever score on <a href="https://huggingface.co/spaces/osunlp/Online_Mind2Web_Leaderboard">Online-Mind2Web (OM2W)</a>, a third-party benchmark with a human-evaluated leaderboard for web agents, posting a 97.7 against 92.8 for OpenAI's GPT 5.4, 84.1 for Anthropic's Claude Opus 4.8, and 69 for Google's Gemini 2.5 Pro. </p><p>Hark also says it can serve the model at less than one-tenth the token price of competing frontier models — $0.18 per million input tokens and $2.37 per million output tokens, versus $5 and $30 for GPT 5.5 — with per-turn model latency of 0.8 seconds.</p><p>For each request, Handoff spins up a dedicated virtual computer with its own browser, file system, and terminal, and users can connect existing accounts so the agent can log in and act with their saved addresses, payment methods, and history. </p><p>Hark's research uncovered that despite people spending 75% of their screentime every day in a browser, fewer than 1 in 1000 websites have publicly accessible APIs, making it challenging for AI agents to take over the workload. </p><p>In a roughly four-minute produced announcement video posted on <a href="https://youtu.be/Lwtte3eSYrQ?si=8iSPvd9KfF9b1xO6">YouTube</a> and social media, Adcock — seated in a bare warehouse space that doubles as a metaphor for the company's build-out — speaks a request aloud to Hark ("let's liven this place up a bit… let's do some roses, maybe some cherry blossoms") and Handoff is shown navigating a florist's website to place the order, while Adcock narrates that unlike a typical chatbot, Handoff "is always working, it's looping," and says he now uses it for "all of my recruiting efforts end to end." In Hark's announcement <a href="https://hark.com/articles/introducing-hark-handoff">blog post</a>, more demos are shown in realtime and 5x speed.</p><div></div><p>But big some open questions about Handoff remain, especially for potential enterprise customers and users.</p><h2><b>High-scoring benchmarks...but against last generation's models </b></h2><p>Notably, the benchmark comparisons Hark provided to VentureBeat for its Handoff AI agent are against GPT 5.5, GPT 5.4, Opus 4.8, and Gemini 2.5 Pro — the prior generation of frontier models. </p><p>The current leaders, OpenAI's GPT-5.6 and Anthropic's Opus 5, are absent, as are strong open-source computer-use contenders like DeepSeek V4, Kimi K3, and Qwen3.8-Max. </p><p>These newer models haven't published Online-Mind2Web results, and no third party has posted them to the <a href="https://huggingface.co/spaces/osunlp/Online_Mind2Web_Leaderboard">benchmark's public leaderboard </a>— meaning Hark's "top-ever" claim cannot currently be checked against the strongest available systems. </p><p>The omission is notable because the newest frontier models have posted their largest gains precisely in computer use: on<a href="https://benchlm.ai/benchmarks/osworld2"> OSWorld 2.0</a>, a related benchmark covering full computer control, Anthropic's Opus 5 scores roughly 70.6% versus 55.7% for the Opus 4.8 model Hark chose as its comparison point.</p><p>The latency comparison comes with similar caveats: the 6.8-second and 6-second per-turn figures Hark cites for GPT 5.5 and Opus 4.8 were measured by Hark, in Hark's own harness, with the competing models set to their highest — and slowest — reasoning level. No independent latency measurements exist for comparison.</p><p>Asked by VentureBeat whether Hark plans to publish comparisons against those newer models, the company did not specify.</p><p>Even within Hark's own chosen comparisons, the "best" framing has an asterisk: on WebTailBench v2, one of the three benchmarks in Hark's own results table, GPT 5.5 scores 72.3 to Handoff's 68.6. </p><p>Two of the three benchmarks (WebTailBench and an unnamed internal evaluation) were also run inside Hark's own harness, with pass rates computed by Hark's internal LLM judge — conditions the company controls.</p><p>Hark's pricing advantage is far clearer: Anthropic's newer Opus 5 carries the same $5-per-million-input and $25-per-million-output list price as its predecessor, so Handoff's roughly tenfold cost savings would hold up even against the current frontier — assuming its benchmark performance does too.</p><h2><b>Training and file access</b></h2><p>Hark's research preview describes a sensible-sounding pipeline — supervised fine-tuning followed by asynchronous reinforcement learning using the GRPO algorithm, according to materials shared with VentureBeat prior to today's announcement — but the company acknowledges it has only done post-training so far, with pre-training "planned for later this year." </p><p>That means Handoff is built on top of a base model Hark did not train. Asked which base model it is, and what mix of proprietary and open data Handoff was trained on, Hark hasn't yet specified. </p><p>Another big question mark for enterprise users: who can access the dedicated virtual computers and the files created on them?</p><p>A Hark spokesperson said "security and privacy is a primary focus, but this is a technical preview," adding the company will share more when the product reaches market at the end of the summer.</p><h2><b>Adcock's history leading up to Hark</b></h2><p>Hark is Adcock's fourth company. He previously co-founded the talent marketplace Vettery (<a href="https://www.adeccogroup.com/our-group/media/press-releases/2018-the-adecco-group-announces-acquisition-of-vettery">sold in 2018 for roughly $100 million</a>), the<a href="https://archer.com/"> air-taxi maker Archer Aviation,</a> and the <a href="https://venturebeat.com/ai/robotics-startup-figure-raises-staggering-675m-and-partners-with-openai">humanoid robotics unicorn Figure AI. </a></p><p>Hark raised a <a href="https://www.businesswire.com/news/home/20260521171628/en/Hark-Raises-%24700M-Series-A-at-a-%246B-Valuation">$700 million Series A round in May 2026 at a $6 billion valuation</a> — led by Parkway Venture Capital, with participation from Nvidia, AMD, Intel Capital, Qualcomm Ventures, Salesforce Ventures, and ARK Invest.</p><p>Adcock seeded the company with $100 million of his own money and remains founder and CEO of both Figure and Hark simultaneously, a spokesperson confirmed.</p><p>Asked how the two companies interact, the spokesperson said Hark models "are being trained on the Figure robots," but that Adcock has no plans to combine them.</p><p>Adcock's promotional style has drawn skeptics. In April 2025, Fortune correspondent<a href="https://fortune.com/2025/04/06/figure-ai-bmw-humanoid-robot-partnership-details-reality-exaggeration/"> Jason Del Rey reported that Figure's much-touted BMW partnership</a> was far more modest than Adcock's public claims of a robot "fleet" performing "end-to-end operations": BMW spokesperson Steve Wilson said a single Figure robot was practicing picking up parts during non-production hours. </p><p>But the partnership has advanced, and as of June 2026, <a href="https://www.press.bmwgroup.com/global/article/detail/T0458778EN/bmw-group-advances-the-use-of-physical-ai-in-production-with-figure-03-project-in-spartanburg?language=en">BMW said the Figure 02 robot</a> supported production of more than 30,000 BMW X3 vehicles during a 10 month-period, and that the next-generation Figure 03 robot was being deployed at the plant for a parts-sequencing role in logistics.</p><p>On the social network X, <a href="https://mikekalil.com/blog/figure-ai-vs-fortune/">Adcock called the story "mischaracterizations and downright lies" </a>and threatened a defamation suit. Two months later,<a href="https://techcrunch.com/2025/06/06/figure-ai-ceo-skips-live-demo-sidesteps-bmw-deal-questions-on-stage-at-tech-conference/"> TechCrunch reported that Adcock skipped a promised live demo</a> at a tech conference and sidestepped questions about the BMW deal onstage. </p><p>None of that means Handoff's numbers are wrong. The agent may well be excellent, and the pricing — if it holds — would undercut every major lab. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Live dating show reveals Seattle’s relationship with tech is still complicated]]></title>
<description><![CDATA[Allison Goldberg, comedian and host of "Love Isn't Blind," says that when she introduces a contestant who is a software engineer, the audience boos. Read More]]></description>
<link>https://tsecurity.de/de/3706395/it-nachrichten/live-dating-show-reveals-seattles-relationship-with-tech-is-still-complicated/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706395/it-nachrichten/live-dating-show-reveals-seattles-relationship-with-tech-is-still-complicated/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:02 +0200</pubDate>
<content:encoded><![CDATA[<img fetchpriority="high" loading="eager" width="900" height="574" src="https://cdn.geekwire.com/wp-content/uploads/2026/08/loveinstblind-1.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" decoding="async" srcset="https://cdn.geekwire.com/wp-content/uploads/2026/08/loveinstblind-1.jpg 900w, https://cdn.geekwire.com/wp-content/uploads/2026/08/loveinstblind-1-768x490.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><br>Allison Goldberg, comedian and host of "Love Isn't Blind," says that when she introduces a contestant who is a software engineer, the audience boos. <a href="https://www.geekwire.com/2026/live-dating-show-reveals-seattles-relationship-with-tech-is-still-complicated/">Read More</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Set sail with Apple CarPlay on Crest & Balise pontoon boats]]></title>
<description><![CDATA[Boat owners are getting a new entertainment option as they bob on the water, as Crest Marine and Balise bring CarPlay to pontoons.Savvy Navvy on CarPlay, on a boat's infotainment system - Image Credit: Savvy NavvyApple CarPlay is intended as a way to interact with your iPhone safely through a veh...]]></description>
<link>https://tsecurity.de/de/3706297/ios-mac-os/set-sail-with-apple-carplay-on-crest-balise-pontoon-boats/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706297/ios-mac-os/set-sail-with-apple-carplay-on-crest-balise-pontoon-boats/</guid>
<pubDate>Wed, 05 Aug 2026 17:50:32 +0200</pubDate>
<content:encoded><![CDATA[Boat owners are getting a new entertainment option as they bob on the water, as Crest Marine and Balise bring <a href="https://appleinsider.com/inside/carplay" title="CarPlay" data-kpt="1">CarPlay</a> to pontoons.<br><br><div><img src="https://media.appleinsider.com/gallery/68467-144255-CarPlayonaboat-xl.jpg" alt="Hand operating a touchscreen GPS navigation system on a boat, showing a detailed waterway map and route, with calm greenish water and blurred shoreline in the background"><br><span>Savvy Navvy on CarPlay, on a boat's infotainment system - Image Credit: Savvy Navvy</span></div><br>Apple CarPlay is intended as a way to interact with your <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> safely through a vehicle's infotainment system. While that vehicle has been cars, vans, and trucks so far, it's about to go very off-road, and off-land too.<br><br>Announced during the annual dealer meeting of Crest Marine on Tuesday, CarPlay will be an option for the infotainment system for customers of both Crest and Balise Pontoons. The MasterCraft Boat Holdings brands have partnered with marine navigation app <a href="https://www.savvy-navvy.com/news/carplay">Savvy Navvy</a> to adapt CarPlay for usage on the water.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/set-sail-with-apple-carplay-on-crest-balise-pontoon-boats?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245172?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Trojanized npm Packages Decode C2 IP From Ethereum Recipient Addresses]]></title>
<description><![CDATA[Cybersecurity researchers have flagged an evolution of the EtherHiding blockchain-based command-and-control (C2) technique that conceals the C2 server IP address inside a made-up destination address of a completely empty Ethereum transfer.

The new dead drop resolver approach, observed in two tro...]]></description>
<link>https://tsecurity.de/de/3706243/it-security-nachrichten/trojanized-npm-packages-decode-c2-ip-from-ethereum-recipient-addresses/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706243/it-security-nachrichten/trojanized-npm-packages-decode-c2-ip-from-ethereum-recipient-addresses/</guid>
<pubDate>Wed, 05 Aug 2026 17:19:16 +0200</pubDate>
<content:encoded><![CDATA[Cybersecurity researchers have flagged an evolution of the EtherHiding blockchain-based command-and-control (C2) technique that conceals the C2 server IP address inside a made-up destination address of a completely empty Ethereum transfer.

The new dead drop resolver approach, observed in two trojanized npm package "bianira-ui" and "fluid-type-ui," has been codenamed NullReceiver by]]></content:encoded>
</item>
<item>
<title><![CDATA[The world's RAM supply crisis is going to get worse before it gets better]]></title>
<description><![CDATA[Shockwaves from the global RAM and SSD crisis continue to echo through home electronics pricing, and RAM manufacturers are reaping massive profits. A fix is coming, but it is a long time away and may not make any difference at all to consumers.This is what it feels like buying RAM these days.It's...]]></description>
<link>https://tsecurity.de/de/3706206/ios-mac-os/the-worlds-ram-supply-crisis-is-going-to-get-worse-before-it-gets-better/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706206/ios-mac-os/the-worlds-ram-supply-crisis-is-going-to-get-worse-before-it-gets-better/</guid>
<pubDate>Wed, 05 Aug 2026 17:13:11 +0200</pubDate>
<content:encoded><![CDATA[Shockwaves from the global RAM and SSD crisis continue to echo through home electronics pricing, and RAM manufacturers are reaping massive profits. A fix is coming, but it is a long time away and may not make any difference at all to consumers.<br><br><div><img src="https://media.appleinsider.com/gallery/68468-144259-memorymoney-xl.jpg" alt="Stacks of US hundred dollar bills arranged in tall piles on a computer circuit board, symbolizing expensive or high value technology and data processing costs"><br><span>This is what it feels like buying RAM these days.</span></div><br>It's been a long time since RAM pricing at retail has been something that we've needed to keep an eye on. We still don't need to track sales on DIMM sticks, given how Apple sells and packages RAM on the chip. What you buy initially is what you will end with.<br><br>But it is a good bellwether of where the industry stands.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/the-worlds-ram-supply-crisis-is-going-to-get-worse-before-it-gets-better?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245171?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Palo Alto Networks at Black Hat: How AI erased the 50-day patch window]]></title>
<description><![CDATA[Data released at this week’s Black Hat security conference suggests the era of manual zero-day hunting and 50-day patch windows is coming to an end. This is a double-edged sword for security professionals: Vulnerabilities can now be found at machine speed, perhaps bringing the discovery time even...]]></description>
<link>https://tsecurity.de/de/3706189/it-security-nachrichten/palo-alto-networks-at-black-hat-how-ai-erased-the-50-day-patch-window/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706189/it-security-nachrichten/palo-alto-networks-at-black-hat-how-ai-erased-the-50-day-patch-window/</guid>
<pubDate>Wed, 05 Aug 2026 16:56: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">Data released at this week’s <a href="https://blackhat.com/us-26/">Black Hat security conference</a> suggests the era of manual zero-day hunting and 50-day patch windows is coming to an end. This is a double-edged sword for security professionals: Vulnerabilities can now be found at machine speed, perhaps bringing the discovery time eventually to zero, but it also means that AI-driven threats require autonomous operations to protect the organization.</p>



<p class="wp-block-paragraph">At the show, <a href="https://www.paloaltonetworks.com/">Palo Alto Networks</a> unveiled research and platform updates signaling a structural shift in cybersecurity. By deploying an autonomous multi-model AI harness called NOVA (Network and Open-Source Vulnerability Analyzer), Palo Alto demonstrated that frontier AI models can now audit codebases, write proofs of concept, and validate severe security flaws at speeds and scales previously unimaginable. </p>



<p class="wp-block-paragraph">To counter that rapidly evolving threat landscape, the vendor simultaneously launched PAN-OS 12.2 Ceres, the operating system for Palo Alto’s firewalls. The release introduces Advanced Virtual Patching, Advanced IP Defense, and autonomous Network Security Agents that neutralize AI-generated exploits at the network level within hours, not months.</p>



<h2 class="wp-block-heading">The news in brief: scale, speed, and platform defense</h2>



<p class="wp-block-paragraph">The headline numbers from Palo Alto’s research team illustrate the sheer velocity of AI-driven vulnerability discovery:</p>



<ul class="wp-block-list">
<li><strong>14,090 confirmed vulnerabilities</strong>: Identified across 3,915 open-source software (OSS) projects in just two months.</li>



<li><strong>99.4% zero-day flaws</strong>: Virtually all identified vulnerabilities were previously unreported in public databases.</li>



<li><strong>39.7% high or critical severity</strong>: Under CVSS 4.0 metrics, nearly 5,600 findings pose severe real-world operational risks.</li>



<li><strong>PAN-OS 12.2 Ceres rollout</strong>: Includes 55+ innovations, highlighted by Advanced Virtual Patching (delivering pre-patch protections via “vaulted protection” engines within hours), Advanced IP Defense (blocking direct-to-IP and proxy evasion attacks), and six role-specific AI Network Security Agents.</li>
</ul>



<h2 class="wp-block-heading">The deep dive: challenges of cybersecurity in the frontier era</h2>



<p class="wp-block-paragraph">For years, defenders relied on structural asymmetry. Finding a zero-day flaw was labor-intensive, requiring elite human security researchers to spend weeks or months on manual reverse engineering. That asymmetry has vanished due to the speed of AI advances and the new challenges posed by the frontier era.</p>



<h4 class="wp-block-heading">1. The death of the patch window</h4>



<p class="wp-block-paragraph">Historically, IT teams had a grace period—an average exposure window of about 55 days to test, stage, and deploy vendor software updates before widespread scanning and exploitation began. Frontier AI has crushed that timeline. Adversaries do not need access to state-of-the-art supercomputers to automate exploit development; off-the-shelf open-weight and proprietary models can analyze public commit logs, reverse-engineer fixes, and generate working weaponized code within hours.</p>



<h4 class="wp-block-heading">2. Beyond memory corruption: the 92% problem</h4>



<p class="wp-block-paragraph">Traditional automated security scanning relied heavily on fuzzing, which involves pounding a binary with random inputs to trigger memory crashes, null pointer dereferences, or buffer overflows. NOVA’s research reveals that fuzzing-friendly bugs accounted for only 8% of total AI discoveries.</p>



<p class="wp-block-paragraph">The remaining 92% comprised complex semantic and architectural flaws:</p>



<ul class="wp-block-list">
<li>PHP, Python and Java: Concentrated heavily in broken authorization and access control logic (up to 60% of Python flaws).</li>



<li>JavaScript/TypeScript: Heavy concentration in code injection, prototype pollution, and Server-Side Request Forgery (SSRF).</li>



<li>Go: Path traversal and file access issues dominated due to its frequent deployment in microservices and file routing engines.</li>
</ul>



<p class="wp-block-paragraph">AI models do not just look for crashes; they analyze the business logic of software, identifying subtle authorization bypasses that static analyzers consistently miss.</p>



<h4 class="wp-block-heading">2. The power of multi-model complementarity</h4>



<p class="wp-block-paragraph">No single AI model catches everything. NOVA tested an ensemble of frontier models across codebases and found strong model complementarity. In controlled evaluations, Model A found 235 vulnerabilities (185 unique to it), while Model D found 139 (93 unique). Because different models reason about code structures differently, attackers running multiple, distinct AI agents simultaneously will uncover exponentially larger attack surfaces that single-scanner defensive environments miss. </p>



<h2 class="wp-block-heading">How Palo Alto Networks flips the script</h2>



<p class="wp-block-paragraph">To survive machine-speed discovery, defensive technology must operate autonomously across the entire vulnerability lifecycle.</p>



<ul class="wp-block-list">
<li><strong>Autonomous agentic discovery (NOVA)</strong>: NOVA uses an iterative agentic loop. Scoping agents define the scan strategy; discovery agents run parallel code analysis; proof-of-concept agents validate findings deterministically in isolated sandboxes (gVisor/VMs); and gatekeeper agents confirm exploitability before generating remediations. </li>



<li><strong>Advanced Virtual Patching</strong>: With PAN-OS 12.2 Ceres, Palo Alto Networks deploys inline network protection via its Advanced Threat Prevention (ATP) engines within hours of zero-day discovery. By enforcing network-level filtering before vendor code-level patches are available, organizations achieve a “vaulted protection” shield without forcing system reboots or causing downtime. </li>



<li><strong>Ecosystem and supply chain collaboration</strong>: Palo Alto Networks proactively reports findings upstream to open-source maintainers, project clearinghouses (such as Project Lightwell and Akrites), and enterprise software partners to address underlying vulnerabilities at the source.</li>
</ul>



<h2 class="wp-block-heading">Advice for IT and security professionals</h2>



<p class="wp-block-paragraph">The shift to AI-driven threat discovery means security leaders can no longer rely on traditional patch management cadences. CISOs and IT administrators should take immediate steps to adapt:</p>



<ul class="wp-block-list">
<li><strong>Prioritize network-layer virtual patching</strong>: Stop assuming software patches can be tested and deployed quickly enough. Implement inline virtual patching at the firewall, SASE, and perimeter layers to block exploit traffic long before host-level updates are applied.</li>



<li><strong>Audit open-source supply chains beyond direct imports</strong>: Static dependency checking is insufficient. Map deep transitive dependencies. As NOVA proved, a single low-level package flaw (such as an IP parser or zip extractor) can expose thousands of downstream applications.</li>



<li><strong>Shift focus to identity and access control logic</strong>: Because 92% of AI-discovered bugs target application logic and authorization rather than simple memory crashes, re-evaluate application security testing. Prioritize dynamic API testing and identity-centric access rules.</li>



<li><strong>Prepare for post-quantum and evasive IP threats</strong>: Upgrade infrastructure to handle direct-to-IP command-and-control bypasses and use automated management tools to prepare for shorter cryptographic certificate lifecycles.</li>



<li><strong>Embrace human-in-the-loop automation</strong>: Use specialized AI administrative agents for routine network triage and rule configuration, reserving high-value human expertise for complex threat modeling, creative architectural design, and strategic oversight.</li>
</ul>



<p class="wp-block-paragraph">The era of AI vulnerability discovery is not a distant future—it is fully operational today. Securing the modern enterprise requires matching machine-speed discovery with machine-speed prevention. It’s time for security pros to stop fearing AI-driven security and embrace it, as the only way to combat AI-driven threats is with AI-enabled defense.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why you should never put a hot iPhone in the fridge or freezer]]></title>
<description><![CDATA[As it generally goes with social media advice, viral posts telling iPhone owners to refrigerate overheated devices should be ignored as that will cause more damage than the heat itself. Here's why, and what you should do instead.Don't put your iPhone in the refrigerator or freezer.It's been a hot...]]></description>
<link>https://tsecurity.de/de/3706135/ios-mac-os/why-you-should-never-put-a-hot-iphone-in-the-fridge-or-freezer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706135/ios-mac-os/why-you-should-never-put-a-hot-iphone-in-the-fridge-or-freezer/</guid>
<pubDate>Wed, 05 Aug 2026 16:34:04 +0200</pubDate>
<content:encoded><![CDATA[As it generally goes with social media advice, viral posts telling <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> owners to refrigerate overheated devices should be ignored as that will cause more damage than the heat itself. Here's why, and what you should do instead.<br><br><div><img src="https://media.appleinsider.com/gallery/68471-144258-overheated-xl.jpg" alt="iPhone displaying a temperature warning screen with a red thermometer icon, stating the phone needs to cool down before use, against a blurred multicolored background" class=""><br><span>Don't put your iPhone in the refrigerator or freezer.</span></div><br>It's been a hot summer. Record-smashing high temperatures have been responsible for thousands of hospitalizations and deaths and made it miserable for hundreds of millions of people.<br><br>But it's not just people, pets, and wildlife who suffer, either. These high temperatures haven't been particularly kind to our digital devices.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/why-you-should-never-put-a-hot-iphone-in-the-fridge-or-freezer?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245170?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[This New Open Source Project Wants to Be the AI-First Alternative to Microsoft Office]]></title>
<description><![CDATA[Built by a single engineer using open source components, GenOffice bundles editors like Docs, Sheets, Slides, and PDF.]]></description>
<link>https://tsecurity.de/de/3706133/unix-server/this-new-open-source-project-wants-to-be-the-ai-first-alternative-to-microsoft-office/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706133/unix-server/this-new-open-source-project-wants-to-be-the-ai-first-alternative-to-microsoft-office/</guid>
<pubDate>Wed, 05 Aug 2026 16:31:58 +0200</pubDate>
<content:encoded><![CDATA[Built by a single engineer using open source components, GenOffice bundles editors like Docs, Sheets, Slides, and PDF.]]></content:encoded>
</item>
<item>
<title><![CDATA[RAM production worldwide is sold out through 2027]]></title>
<description><![CDATA[Apple's memory supply woes are going to continue, as suppliers have already sold their entire production capacity of memory at high prices for all of 2027. Expect iPhone upgrades to cost more this year, and next.A Samsung LPDDR5X memory chip - Image Credit: SamsungThe tech industry's ongoing nigh...]]></description>
<link>https://tsecurity.de/de/3706060/ios-mac-os/ram-production-worldwide-is-sold-out-through-2027/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706060/ios-mac-os/ram-production-worldwide-is-sold-out-through-2027/</guid>
<pubDate>Wed, 05 Aug 2026 16:13:12 +0200</pubDate>
<content:encoded><![CDATA[Apple's memory supply woes are going to continue, as suppliers have already sold their entire production capacity of memory at high prices for all of 2027. Expect <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> upgrades to cost more this year, and next.<br><br><div><img src="https://media.appleinsider.com/gallery/68470-144257-68090-143531-67518-142181-66507-139493-66157-138669-samsungthinmemory-xl-xl-xl-xl-xl.jpg" alt="Close-up of a fingertip balancing a thin, square microchip, showing its delicate metal connectors along the edges against a soft, light background"><br><span>A Samsung LPDDR5X memory chip - Image Credit: Samsung</span></div><br>The tech industry's <a href="https://appleinsider.com/articles/26/02/27/the-global-ram-and-ssd-shortage-crisis-explained">ongoing nightmare</a> of <a href="https://appleinsider.com/articles/26/01/06/apples-2026-hardware-pricing-is-under-intense-pressure-from-memory-chip-inflation">memory pricing</a> is expected to be a long-term problem. It seems that it will still be an issue until the end of 2027 at a minimum.<br><br>According to industry insider sources of <em>DigiTimes</em> <a href="https://www.digitimes.com.tw/tech/dt/n/shwnws.asp?CnlID=1&amp;id=0000763847_DVY7YHX65GMLYZ6UQEEMP">on Tuesday</a>, the three major producers of DRAM and HBM have already sold out their production capacity for the entirety of 2027. Furthermore, while supply of NAND Flash SSD media is a little less tight, it's still expected to be fully booked before the end of August.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/ram-production-worldwide-is-sold-out-through-2027?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245168?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nelson: rust-lang/rust is adopting an LLM policy]]></title>
<description><![CDATA[Jynn Nelson describes
the Rust language team's new LLM policy on the Inside Rust blog.


	No one except the author is required to read LLM output unless they
	choose to: LLM output isn't allowed in public docs, PR
	descriptions, or Github comments unless it's clearly marked;
	reviewers aren't req...]]></description>
<link>https://tsecurity.de/de/3706056/linux-tipps/nelson-rust-langrust-is-adopting-an-llm-policy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706056/linux-tipps/nelson-rust-langrust-is-adopting-an-llm-policy/</guid>
<pubDate>Wed, 05 Aug 2026 16:11:51 +0200</pubDate>
<content:encoded><![CDATA[Jynn Nelson <a href="https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/">describes
the Rust language team's new LLM policy</a> on the Inside Rust blog.
<p>
</p><blockquote class="bq">
	No one except the author is required to read LLM output unless they
	choose to: LLM output isn't allowed in public docs, PR
	descriptions, or Github comments unless it's clearly marked;
	reviewers aren't required to look at LLM PRs if they don't want to.
<p>
	No one is required to use LLMs to contribute to <tt>rust-lang/rust</tt>:
	policies must be written first for humans, and only summarized for
	machines; LLM reviews cannot substitute for human review or
	self-review.
</p><p>
	You are allowed to generate LLM content that only you see, without
	disclosure, as long as you do not post it anywhere that you expect
	us to read or review.
</p></blockquote>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hackers Smuggle Post-Exploitation Toolkit Into Oracle Database Via Classic SQL Injection Flaw]]></title>
<description><![CDATA[A SQL injection vulnerability that many organisations might consider a decades-old, well-understood threat has been used as the entry point for a far more sophisticated attack, after threat actors were caught planting a custom-built, database-resident toolkit inside an Oracle database. Security f...]]></description>
<link>https://tsecurity.de/de/3705944/it-security-nachrichten/hackers-smuggle-post-exploitation-toolkit-into-oracle-database-via-classic-sql-injection-flaw/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705944/it-security-nachrichten/hackers-smuggle-post-exploitation-toolkit-into-oracle-database-via-classic-sql-injection-flaw/</guid>
<pubDate>Wed, 05 Aug 2026 15:17:52 +0200</pubDate>
<content:encoded><![CDATA[<p>A SQL injection vulnerability that many organisations might consider a decades-old, well-understood threat has been used as the entry point for a far more sophisticated attack, after threat actors were caught planting a custom-built, database-resident toolkit inside an Oracle database. Security firm Huntress said it was alerted to suspicious activity on an endpoint hosting an […]</p>
<p>The post <a href="https://www.itsecurityguru.org/2026/08/05/hackers-smuggle-post-exploitation-toolkit-into-oracle-database-via-classic-sql-injection-flaw/">Hackers Smuggle Post-Exploitation Toolkit Into Oracle Database Via Classic SQL Injection Flaw</a> appeared first on <a href="https://www.itsecurityguru.org/">IT Security Guru</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Teachers need help with AI. A union is offering training – with $23m in funding from big tech]]></title>
<description><![CDATA[Partnership between American Federation of Teachers, one of the largest labor unions in the US, and AI firms has stirred controversyDarius Saczuk, a high school teacher, views artificial intelligence as his enemy. Earlier this year, he and several dozen New York City teachers spent the day inside...]]></description>
<link>https://tsecurity.de/de/3705916/it-nachrichten/teachers-need-help-with-ai-a-union-is-offering-training-with-23m-in-funding-from-big-tech/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705916/it-nachrichten/teachers-need-help-with-ai-a-union-is-offering-training-with-23m-in-funding-from-big-tech/</guid>
<pubDate>Wed, 05 Aug 2026 15:11:13 +0200</pubDate>
<content:encoded><![CDATA[<p>Partnership between American Federation of Teachers, one of the largest labor unions in the US, and AI firms has stirred controversy</p><p>Darius Saczuk, a high school teacher, views artificial intelligence as his enemy. Earlier this year, he and several dozen New York City teachers spent the day inside a windowless conference room in downtown Manhattan to learn how to use AI and prevent students from outsourcing their thinking to it.</p><p>As Saczuk sees it, he needs to understand his enemy in order to beat it.</p> <a href="https://www.theguardian.com/technology/2026/aug/05/teachers-unions-ai-training">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[New OVSwrap Linux Vulnerability Lets Attackers Gain Root Access]]></title>
<description><![CDATA[A newly disclosed Linux kernel vulnerability, tracked as CVE-2026-64531 and dubbed OVSwrap, allows unprivileged local users to escalate privileges to root on a wide range of popular Linux distributions. The flaw lives inside the Open vSwitch (OVS) kernel datapath, a networking component widely us...]]></description>
<link>https://tsecurity.de/de/3705855/it-security-nachrichten/new-ovswrap-linux-vulnerability-lets-attackers-gain-root-access/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705855/it-security-nachrichten/new-ovswrap-linux-vulnerability-lets-attackers-gain-root-access/</guid>
<pubDate>Wed, 05 Aug 2026 14:52:53 +0200</pubDate>
<content:encoded><![CDATA[<p>A newly disclosed Linux kernel vulnerability, tracked as CVE-2026-64531 and dubbed OVSwrap, allows unprivileged local users to escalate privileges to root on a wide range of popular Linux distributions. The flaw lives inside the Open vSwitch (OVS) kernel datapath, a networking component widely used in cloud, container, and virtualization platforms, and was uncovered using an […]</p>
<p>The post <a href="https://cybersecuritynews.com/ovswrap-linux-vulnerability/">New OVSwrap Linux Vulnerability Lets Attackers Gain Root Access</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Even before iPhone 18 Pro mass production, AI drives Foxconn to record profits]]></title>
<description><![CDATA[Ahead of producing the iPhone 18 Pro and the folding iPhone, Apple's main manufacturer Foxconn has announced the greatest monthly earnings in its 52-year history, and says it's all down to AI demand.A Foxconn factory - image credit: FoxconnIn late July 2026, Foxconn began its annual recruitment d...]]></description>
<link>https://tsecurity.de/de/3705788/ios-mac-os/even-before-iphone-18-pro-mass-production-ai-drives-foxconn-to-record-profits/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705788/ios-mac-os/even-before-iphone-18-pro-mass-production-ai-drives-foxconn-to-record-profits/</guid>
<pubDate>Wed, 05 Aug 2026 14:18:29 +0200</pubDate>
<content:encoded><![CDATA[Ahead of producing the iPhone 18 Pro and the <a href="https://appleinsider.com/inside/iphone-fold" title="iPhone Fold" data-kpt="1">folding iPhone</a>, Apple's main manufacturer Foxconn has announced the greatest monthly earnings in its 52-year history, and says it's all down to AI demand.<br><br><div><img src="https://photos5.appleinsider.com/gallery/57506-117131-IMG_4285-xl.jpg" alt="Foxconn" height="738"><br><span>A Foxconn factory - image credit: Foxconn</span></div><br>In <a href="https://appleinsider.com/articles/26/07/22/it-has-begun-foxconn-amassing-army-of-workers-for-iphone-18-pro-assembly">late July 2026</a>, Foxconn began its annual recruitment drive to get enough workers to produce the forthcoming <a href="https://appleinsider.com/inside/iphone-18" title="iPhone 18" data-kpt="1">iPhone 18 Pro</a>. But according to <em>Reuters</em>, the company has <a href="https://www.reuters.com/business/retail-consumer/foxconns-monthly-revenue-hits-record-july-ai-demand-2026-08-05/">now reported</a> figures for July that already saw it earn $29.6 billion.<br><br>It's the highest monthly earnings in the company's history. Foxconn said that this is a 54.2% rise year over year.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/even-before-iphone-18-pro-mass-production-ai-drives-foxconn-to-record-profits?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245167?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI agent deception moves from theory to reality in UK cyber tests]]></title>
<description><![CDATA[“During a routine cyber evaluation, AI agents took sustained, unsanctioned action directed at real people and organisations,” UK’s AI Security Institute (AISI) disclosed on Tuesday. The agents’ actions included an attempted supply-chain attack that saw them create malicious pull requests and try ...]]></description>
<link>https://tsecurity.de/de/3705779/it-security-nachrichten/ai-agent-deception-moves-from-theory-to-reality-in-uk-cyber-tests/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705779/it-security-nachrichten/ai-agent-deception-moves-from-theory-to-reality-in-uk-cyber-tests/</guid>
<pubDate>Wed, 05 Aug 2026 14:09:12 +0200</pubDate>
<content:encoded><![CDATA[<p>“During a routine cyber evaluation, AI agents took sustained, unsanctioned action directed at real people and organisations,” UK’s AI Security Institute (AISI) disclosed on Tuesday. The agents’ actions included an attempted supply-chain attack that saw them create malicious pull requests and try to socially engineer an open-source maintainer into approving the malicious code (they refused). The agents, powered by Anthropic’s Mythos 5 and OpenAI’s GPT-5.6 Sol models, also engaged in prompt injection aimed at making … <a href="https://www.helpnetsecurity.com/2026/08/05/ai-agent-deception-in-cyber-tests/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/05/ai-agent-deception-in-cyber-tests/">AI agent deception moves from theory to reality in UK cyber tests</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Senior Data Engineer (w/m/d) bei Sonstige Dienstleistungen Karriere in Hamburg]]></title>
<description><![CDATA[... Sicherheit kontinuierlich und reagierst proaktiv auf Herausforderungen. Security und Compliance: Du setzt Sicherheits- und Compliance ...]]></description>
<link>https://tsecurity.de/de/3705777/it-security-nachrichten/senior-data-engineer-wmd-bei-sonstige-dienstleistungen-karriere-in-hamburg/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705777/it-security-nachrichten/senior-data-engineer-wmd-bei-sonstige-dienstleistungen-karriere-in-hamburg/</guid>
<pubDate>Wed, 05 Aug 2026 14:08:16 +0200</pubDate>
<content:encoded><![CDATA[... <b>Sicherheit</b> kontinuierlich und reagierst proaktiv auf Herausforderungen. <b>Security</b> und Compliance: Du setzt Sicherheits- und Compliance ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Teachers need help with AI. A union is offering training – with $23m in funding from big tech]]></title>
<description><![CDATA[Partnership between American Federation of Teachers, one of the largest labor unions in the US, and AI firms has stirred controversyDarius Saczuk, a high school teacher, views artificial intelligence as his enemy. Earlier this year, he and several dozen New York City teachers spent the day inside...]]></description>
<link>https://tsecurity.de/de/3705745/ai-nachrichten/teachers-need-help-with-ai-a-union-is-offering-training-with-23m-in-funding-from-big-tech/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705745/ai-nachrichten/teachers-need-help-with-ai-a-union-is-offering-training-with-23m-in-funding-from-big-tech/</guid>
<pubDate>Wed, 05 Aug 2026 14:02:59 +0200</pubDate>
<content:encoded><![CDATA[<p>Partnership between American Federation of Teachers, one of the largest labor unions in the US, and AI firms has stirred controversy</p><p>Darius Saczuk, a high school teacher, views artificial intelligence as his enemy. Earlier this year, he and several dozen New York City teachers spent the day inside a windowless conference room in downtown Manhattan to learn how to use AI and prevent students from outsourcing their thinking to it.</p><p>As Saczuk sees it, he needs to understand his enemy in order to beat it.</p> <a href="https://www.theguardian.com/technology/2026/aug/05/teachers-unions-ai-training">Continue reading...</a>]]></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[OpenAI, Anthropic AI agents resorted to deception in new cybersecurity incidents]]></title>
<description><![CDATA[OpenAI’s GPT-5.6 Sol and Anthropic’s Mythos 5 have been implicated in another series of AI security incidents after the models created fake online identities, targeted real people, and attempted to manipulate developers into approving malicious code during controlled cyber evaluations, according ...]]></description>
<link>https://tsecurity.de/de/3705679/it-security-nachrichten/openai-anthropic-ai-agents-resorted-to-deception-in-new-cybersecurity-incidents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705679/it-security-nachrichten/openai-anthropic-ai-agents-resorted-to-deception-in-new-cybersecurity-incidents/</guid>
<pubDate>Wed, 05 Aug 2026 13:56: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">OpenAI’s GPT-5.6 Sol and Anthropic’s Mythos 5 have been implicated in another series of AI security incidents after the models created fake online identities, targeted real people, and attempted to manipulate developers into approving malicious code during controlled cyber evaluations, according to the UK AI Security Institute.</p>



<p class="wp-block-paragraph">“On 28<sup>th</sup> July 2026, AISI’s Security Team detected unusual data transfers leaving our research systems during a routine cyber evaluation,” AISI <a href="https://www.aisi.gov.uk/blog/incident-report-unsanctioned-agent-behaviour-during-cyber-testing" target="_blank" rel="noreferrer noopener">said in a blog post</a>. “On investigation, we found that some of the agents being tested had engaged in sustained, potentially harmful activity directed at real people and organisations.”</p>



<p class="wp-block-paragraph">The incidents occurred during cybersecurity tests in which researchers deliberately gave frontier AI models broad internet access and relaxed some safety controls to measure their underlying cyber capabilities. AISI said the incidents marked the first time it had seen “risks around autonomy and deception manifest this clearly, without specific prompting, in the real world.”</p>



<p class="wp-block-paragraph">AISI ran the cyber challenge 122 times across seven frontier models and identified 19 autonomous, unsanctioned actions during 10 evaluation runs.</p>



<p class="wp-block-paragraph">“Almost all of this behaviour (17 actions) came from a single model, Anthropic’s Mythos 5, with 2 actions involving OpenAI’s GPT-5.6-Sol with cyber classifiers (mechanisms to prevent misuse) disabled,” the post added.</p>



<p class="wp-block-paragraph">The disclosure comes less than two weeks after OpenAI <a href="https://www.csoonline.com/article/4202852/openai-rogue-ai-agents-attack-expanded-beyond-hugging-face.html">revealed</a> that one of its frontier models compromised infrastructure at Hugging Face during a cyber evaluation, and days after researchers disclosed another AI agent security incident involving Modal.</p>



<h2 class="wp-block-heading">Deception emerged without instruction</h2>



<p class="wp-block-paragraph">The most serious sequence involved an AI agent attempting what AISI described as a software supply-chain attack.</p>



<p class="wp-block-paragraph">“In the most serious sequence, an agent tried to insert malicious code into a publicly used open-source project and took actions in an attempt to secure approval for this insertion by human reviewers,” AISI wrote. “The agent researched the project’s human maintainers, created multiple fake identities, and used the fake identities to socially engineer a real maintainer into approving the code.”</p>



<p class="wp-block-paragraph">The researchers further added that “When the agent’s pull request was challenged in public, it edited its earlier activity to appear harmless and considered adopting a fresh identity to continue.”</p>



<p class="wp-block-paragraph">However, the institute added that “Our investigation has not identified any resulting real-world harm.”</p>



<p class="wp-block-paragraph">Investigators also found agents contacting real people, attempting prompt injections, and leaving messages inviting other concurrently running agents to collaborate.</p>



<p class="wp-block-paragraph">“It was never instructed to deceive; deception emerged as a by-product of pursuing the task, the kind of goal-directed deception that, until recently, had been largely theoretical,” AISI wrote, adding that while unrestricted internet access and evaluation design contributed to the behavior, they did not fully explain it.</p>



<h2 class="wp-block-heading">Not a sandbox escape</h2>



<p class="wp-block-paragraph">AISI emphasized that the models did not escape their sandboxed environments. Instead, internet access had been intentionally enabled and cyber safety classifiers deliberately disabled to measure maximum cyber capability rather than public deployment behavior.</p>



<p class="wp-block-paragraph">“This was not a sandbox escape. It was a boundary that existed in language and nowhere else,” said Sanchit Vir Gogia, chief analyst at Greyhound Research. “The risk variable is not how clever the model is. It is how much practical authority the organisation has handed over, and how little of it can be independently withdrawn.”</p>



<p class="wp-block-paragraph">OpenAI, whose GPT-5.6 Sol model accounted for two of the recorded actions, posted a blog describing the AISI evaluation and a separate incident involving an external testing partner named “Irregular.”</p>



<p class="wp-block-paragraph">“As model capabilities advance, the security and safety systems around models need to advance too,” the company wrote in the blog post. OpenAI said it will review third-party evaluation practices, including controls around internet access, isolation, monitoring, and incident response, and work with AI labs and independent evaluators to strengthen industry standards.</p>



<p class="wp-block-paragraph">Anthropic, however, did not make any public announcement related to AISI’s disclosure.</p>



<p class="wp-block-paragraph">Anthropic and OpenAI did not immediately respond to a request for comment.</p>



<h2 class="wp-block-heading">Enterprise guardrails</h2>



<p class="wp-block-paragraph">For enterprise security leaders, the findings extend beyond AI red teaming, said Enza Iannopollo, principal analyst at Forrester.</p>



<p class="wp-block-paragraph">“This data confirms our expectations on agents’ behaviours. They can, and they will, overcome boundaries and safeguards to accomplish their objectives,” she said. “The real question is what can happen when organizations deploy these systems in their production environments.”</p>



<p class="wp-block-paragraph">Iannopollo said enterprises should apply least privilege, continuous risk management, and governance controls when deploying AI agents.</p>



<p class="wp-block-paragraph">The findings also underscore the need to rethink how AI systems are evaluated, according to Vibhum Dubey, a cybersecurity researcher and red teamer.</p>



<p class="wp-block-paragraph">“For years, security testing has focused on whether an AI model could complete a task. We now need to evaluate how it completes that task,” Dubey said.</p>



<p class="wp-block-paragraph">While AISI stressed that the incidents occurred under highly specific evaluation conditions and found no evidence of resulting real-world harm, it argued that they point to a broader shift in how AI security risks may emerge. “Harm may arise not only when people deliberately misuse publicly available models, but when capable agents operating in an internal research or privileged-access setting take unintended action beyond their authorised scope,” the institute wrote.</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/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[One C2 kit. 30 customers. 2 governments]]></title>
<description><![CDATA[I was mapping the command-and-control infrastructure behind a state-linked intrusion set when the query came back and effectively ended the exercise I thought I was running.



The malware resolved its C2 address by reading a smart contract on a public blockchain. Public reporting described one c...]]></description>
<link>https://tsecurity.de/de/3705501/it-security-nachrichten/one-c2-kit-30-customers-2-governments/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705501/it-security-nachrichten/one-c2-kit-30-customers-2-governments/</guid>
<pubDate>Wed, 05 Aug 2026 12:19: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">I was mapping the command-and-control infrastructure behind a state-linked intrusion set when the query came back and effectively ended the exercise I thought I was running.</p>



<p class="wp-block-paragraph">The malware resolved its C2 address by reading a smart contract on a public blockchain. Public reporting described one contract. Working from the chain rather than the sample, I found that contract was one member of a family: Two dozen byte-identical contracts plus a set of variants, all emitting the same event, all stamped out by the same builder. Roughly 30 operator wallets were driving them.</p>



<p class="wp-block-paragraph">Two of those wallets are plausibly state-aligned. The other 28 or so look like ordinary crimeware.</p>



<p class="wp-block-paragraph">I went in looking for an actor’s infrastructure. What I found was a product with a customer list.</p>



<p class="wp-block-paragraph">The convergence story is well covered by now, and CSO has already written about nation-state actors hiding behind criminal tooling. Most of that reporting frames it behaviorally: States are acting like crooks, running ransomware, taking payment. That’s true and it isn’t the part that changes my working day. The narrower thing I keep hitting in casework is structural. State programs aren’t building the infrastructure they run on; they’re renting it, and once you internalize that, several things your SOC does every day stop making sense.</p>



<h2 class="wp-block-heading">What a shared kit does to your indicators</h2>



<p class="wp-block-paragraph">Start with that ratio, because it’s the whole argument. A state program and roughly 28 unrelated criminal operators were running the same C2 kit, from the same builder, on the same infrastructure pattern. Any fingerprint I write for that kit fires on all 30 of them and tells you nothing about which one is in your network.</p>



<p class="wp-block-paragraph">That inverts how most of us were trained to think. A shared kit isn’t a weak attribution signal; it’s an anti-signal. It pools unrelated actors under a single indicator. The more distinctive the fingerprint, the more confidently it groups people who have nothing to do with each other.</p>



<p class="wp-block-paragraph">The defensible read is a shared supplier with independent customers. Two government programs and a few dozen crooks sourced C2 tradecraft from the same criminal market, the way they might all buy the same commercial exploit. I want to be careful about the limits of that claim, because the data invites overreach. I make no operator-level attribution from the on-chain data at all. Nothing about a shared contract family implies the customers know each other, coordinate or share tasking. The nation-state labels attached to two of those wallets come from malware-family attribution done by other researchers on the implants riding the kit, not from anything I read off the contracts. The chain tells you there’s one builder and many buyers. It doesn’t tell you which buyers carry flags.</p>



<p class="wp-block-paragraph">The same shape keeps showing up in the malware itself. When I worked an Iranian-nexus botnet using that on-chain technique, the tooling turned out to be a Russian-origin criminal service the actor had adopted rather than invented. That’s worth sitting with: A state intelligence service outsourced its C2 layer to a criminal vendor. On several China-nexus loader teardowns I’ve done, I’ve had to hold attribution at low confidence for the same structural reason. Side-loading chains and stock Cobalt Strike are communal property, shared across state and criminal operators alike. In one case the entire payload was off-the-shelf Cobalt Strike. There is nothing in that binary that can tell you who sent it, and any analyst claiming otherwise is reading tea leaves.</p>



<h2 class="wp-block-heading">The same pattern, from three other directions</h2>



<p class="wp-block-paragraph">I only see my own casework, so it’s worth noting that researchers coming at this from completely different angles land in the same place.</p>



<p class="wp-block-paragraph">Mandiant approached it from the network side, documenting how China-nexus actors route operations through <a href="https://cloud.google.com/blog/topics/threat-intelligence/china-nexus-espionage-orb-networks">contractor-run relay networks</a> that undermine the whole concept of actor-controlled infrastructure. Their point about indicator lifespan is the one defenders should sit with: A node’s IP address can cycle out in about a month, so any blocklist built on it is decaying before you finish writing the ticket.</p>



<p class="wp-block-paragraph">Russia gets there by a different route again. Microsoft and Lumen documented Turla, an FSB-linked group, <a href="https://www.microsoft.com/en-us/security/blog/2024/12/11/frequent-freeloader-part-ii-russian-actor-secret-blizzard-using-tools-of-other-groups-to-attack-ukraine/">riding other actors’ infrastructure outright</a>, including commodity Amadey bots, to deliver its own backdoors onto Ukrainian military targets. The detail I find clarifying is that their analysts couldn’t determine whether Turla had paid for the access or simply broken into the criminal panels. When the pros can’t tell purchase from theft, the idea that you’ll infer nationality from infrastructure is finished.</p>



<p class="wp-block-paragraph">Iran shows up on both sides of the market. CISA, the FBI and DC3 documented an Iranian state-linked group <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-241a">working the criminal underground as an access broker</a>, selling footholds to ransomware affiliates for a cut and hiding its own nationality from its customers.</p>



<p class="wp-block-paragraph">The motives differ, and that’s the interesting part. Iran and North Korea buy, because sanctions leave them shopping in a market they don’t control. China subcontracts to a domestic industry that exists for the purpose. Russia mostly takes what it wants from actors already in the neighborhood. Four routes, one destination: There is no operator-owned infrastructure left for you to find.</p>



<h2 class="wp-block-heading">Why this breaks your triage, not just your attribution</h2>



<p class="wp-block-paragraph">Attribution is the part everyone talks about. Triage is the part that costs you money, and almost nobody has updated it.</p>



<p class="wp-block-paragraph">Most SOCs route severity partly on presumed actor, whether or not anyone wrote it down. Commodity infostealer on a workstation gets a tier-one ticket and a reimage. Suspected state activity gets escalated, gets the retainer call, gets the full hunt. That rule is reasonable, it’s close to universal and it rests on an assumption that no longer holds: That tooling correlates with actor.</p>



<p class="wp-block-paragraph">Watch what that assumption does. Amadey is textbook commodity crimeware, and in Ukraine it was the delivery vehicle for an FSB backdoor. Play ransomware is a criminal operation, and Unit 42 found a North Korean state group operating inside a Play incident. If your rule is “Amadey is commodity, close it,” you closed an intelligence service’s operation and filed it as adware.</p>



<p class="wp-block-paragraph">So, three changes, and none of them need new tooling.</p>



<p class="wp-block-paragraph">Sever severity from attribution. Triage on what the intrusion is doing, not on who you think owns it. Access, persistence, staging, exfiltration and impact are all observable in your telemetry. The operator’s nationality isn’t, certainly not at the moment you have to make the call. Commodity tooling must stop functioning as a de-escalation signal on a host that matters.</p>



<p class="wp-block-paragraph">Anchor detections on the durable constants rather than the infrastructure. Rented addresses rotate, relay nodes cycle monthly, on-chain C2 repoints for about the price of a coffee. What doesn’t move is the technical fingerprint of the kit: The event signature, a custom cipher’s modified constants, a specific side-load chain, a distinctive string table. Those survive rotation. Build there, and accept that the same rule will fire on a nation-state and a teenager both.</p>



<p class="wp-block-paragraph">Cap your confidence and put the number in writing. When tooling is communal, tooling-based attribution is worth low confidence at best. Say so in the report. An honest low is more useful than a confident guess, because people make decisions on what you write.</p>



<p class="wp-block-paragraph">The infrastructure was never going to tell you who they are. It isn’t theirs. Once you stop asking it that question, it becomes a much more useful piece of evidence.</p>



<p class="wp-block-paragraph">I’ve published the detection content and the on-chain queries from this work on <a href="https://github.com/yankywilson">my GitHub</a>.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Never mind clean data. Annotate as you collect it.]]></title>
<description><![CDATA[Generative AI is notoriously eager to help, to the point that if it can’t find something matching what you ask for, it’ll create it. So the problem with relying on guardrails is that all too often, a model will be wrong, showing a high confidence score for an incorrect answer because it’s relying...]]></description>
<link>https://tsecurity.de/de/3705489/it-security-nachrichten/never-mind-clean-data-annotate-as-you-collect-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705489/it-security-nachrichten/never-mind-clean-data-annotate-as-you-collect-it/</guid>
<pubDate>Wed, 05 Aug 2026 12:14:38 +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">Generative AI is notoriously eager to help, to the point that if it can’t find something matching what you ask for, it’ll create it. So the problem with relying on guardrails is that all too often, a model will be wrong, showing a high confidence score for an incorrect answer because it’s relying on stale or non-canonical data.</p>



<p class="wp-block-paragraph">Not only do you need to be able to track the lineage of data your model uses from source to token, something the <a href="https://digital-strategy.ec.europa.eu/en/faqs/guidelines-and-code-practice-transparent-ai-systems?ref=distributedthoughts.org">EU AI Act requires</a>, you also need to be able to take into account where the data came from, whether it’s <a href="https://www.hbs.edu/faculty/Pages/item.aspx?num=58832&amp;ref=distributedthoughts.org">out of date</a>, if it changed in a way that affects the result, or if it was never really relevant or authoritative in the first place.</p>



<p class="wp-block-paragraph">Gartner expects organizations will abandon 60% of AI projects because they don’t have the right <a href="https://www.gartner.com/en/newsroom/press-releases/2025-02-26-lack-of-ai-ready-data-puts-ai-projects-at-risk">metadata management, data quality, and data observability</a>. IBM’s acquisition of Confluent also highlights the importance of real-time data with lineage, governance, and policy for AI agents, and <a href="https://www.ibm.com/think/news/ai-tech-trends-predictions-2026?ref=distributedthoughts.org">one of IBM’s 2026 predictions</a> was the importance of smarter data.</p>



<p class="wp-block-paragraph">The usual approach is adding metadata and validation later in the data pipeline. That’s similar to the way the bronze, silver, and gold tiers of typical lakehouse architecture are supposed to represent how filtering, cleaning, and augmenting data improves structure and quality until it’s ready to use. That can mean an enormous amount of work since nearly three quarters of the CPU work in training a frontier model is data cleansing and validation.</p>



<p class="wp-block-paragraph">But that can also remove a lot of the context crucial for gen AI. Rather than <a href="https://www.cio.com/article/3611247/when-is-data-too-clean-to-be-useful-for-enterprise-ai.html">cleaning data and losing the original context</a>, it’s often more effective to keep as much information about the original state of the data, says David Aronchick, open-source platform Kubeflow founder, and CEO of distributed data pipeline vendor Expanso. “You can’t pursue exactly purely clean data; that’s just not possible,” he says. “As you pull data into your ML model, every line should have some mechanism saying where it came from. Otherwise, you’re never really going to know because you can’t mix them together and tease them apart later. You can search your raw content, your raw logs, but it’s just not going to be there.”</p>



<p class="wp-block-paragraph">IoT digital twin systems often tag data all the way back to the device capturing it so you can see whether a temperature spike is a critical failure, which you want to react to, or a routine calibration, which you don’t. But that information may well be relevant down the line when you want to use that data more broadly. So unless you capture at least some elements about the source of data before you move it, you’re not going to be able to easily reconstruct the context later, or at all sometimes.</p>



<p class="wp-block-paragraph">Ulrik Hansen, co-CEO of Encord, a platform for managing and annotating data, calls this in-stream labelling and cautions it’s not an alternative to cleansing data. “Dirty conflates two things: actual corruption you should fix, and context dependence, where a reading only looks anomalous because you threw away the frame that explained it,” he says. “Cleansing kills both. The point isn’t to stop cleaning, it’s to stop normalizing away context you can never recover.”</p>



<p class="wp-block-paragraph">Context can be cheap to capture at the source and nearly impossible to recover after, he adds. “The question isn’t whether to keep it,” he says, “it’s about curating what actually helps.”</p>



<h2 class="wp-block-heading">Raw but not rancid</h2>



<p class="wp-block-paragraph">Aronchick characterizes the state of most bronze tiers as toxic waste because raw data doesn’t get validated before ingestion, or have a metadata wrapper on each data point. “You’ve taken raw data and stripped it of context,” he says.</p>



<p class="wp-block-paragraph">Take a wind farm operator, for instance. When sensor data about the turbines is generated, it comes from a particular turbine at a particular position in a specific wind farm at a known location, running at a specific speed in specific weather conditions, at a particular time. “If you have other turbines also working in the field, the performance of your turbine will go down, but the field performance will go up,” says Aronchick. “The performance of your turbine going down isn’t a negative, but unless you have the context at the point of data collection, you’re going to make your life much harder later on, when someone asks about the efficiency.”</p>



<p class="wp-block-paragraph">Metadata needs to be much richer, and it needs to be added as early in your data pipeline as possible when you have the most detail available to make sense of the structure and complexity of the data, Aronchick adds. “You want to capture as much about the data you’re collecting as possible, where it doesn’t require insane activity to do so.”</p>



<p class="wp-block-paragraph">But not all the metadata you need will be generated with the data, he says. You almost certainly need to augment and annotate your data, and provide extra structure, especially for something like a point of sale system with very light metadata. “Data comes off these things in poor structure,” he says. “It’s not OpenLineage, it’s often a CSV or a text record, and you have to reconstruct them into a full structured log. So do smart things where you’re creating data. That might be compressing, sampling, converting, appending metadata to it, and enforcing schema and lineage all before you start moving anything.”</p>



<p class="wp-block-paragraph">That doesn’t have to mean bloating your data, Hansen points out. He suggests capturing what’s free and unrecoverable. “The system of origin is the label,” he says. “You don’t tag HR policy, you capture that it came from the HR system. Anything a model can derive later, you can skip.”</p>



<h2 class="wp-block-heading">Structure isn’t static</h2>



<p class="wp-block-paragraph">Routine changes to APIs, schemas, and how data is collected or stored happen in every organization, and need to be reflected in metadata that lives alongside the data or added as data is collected, not reconstructed later in a fragile process that depends on knowing about all those changes. Google’s research into these <a href="https://research.google/blog/data-cascades-in-machine-learning/">data cascades</a> shows how easily context gets lost and how badly it affects data quality.</p>



<p class="wp-block-paragraph">Shifting schema enforcement further left in your data pipeline so you deal with it as soon as possible allows you to make more effective downstream decisions. For a sensor recording temperature and humidity, you need to know the temperature scale it uses, readings, and how the timestamp is recorded. Checking that against the schema before ingesting the data lets you route it differently depending on whether it validates or triggers alerts about data quality.</p>



<p class="wp-block-paragraph">“Maybe I’ll delete it, or send it off to some place where a human being or other tooling can reconstruct it into something valuable,” says Aronchick. “But what it doesn’t do is allow the polluted or bad data into my pipeline. Saying whether or not something passed your schema makes your downstream systems much more reliable.”</p>



<h2 class="wp-block-heading">Sensing structure</h2>



<p class="wp-block-paragraph">Unstructured and semistructured data needs more augmentation. A PDF or Word document has an author and a creation date, but doesn’t necessarily include any context about the job title and department of the author, whether it’s up to date, only applies to a particular group of customers, or is based on accounting regulations that can change. If that information is available, it needs to travel with the document, not be left in a compliance spreadsheet.</p>



<p class="wp-block-paragraph">Data platforms like DataHub and SurrealDB both capture and create context. The latter can analyze a photo, for instance, using vision AI to understand what’s in the image. “From completely unstructured data, we get as much structure as possible,” says the company’s CEO Tobie Morgan Hitchcock.</p>



<p class="wp-block-paragraph">That’s paired with other data potentially useful for an AI agent down the line. “Understanding what happened around an event becomes a lot easier if you’re tracking the conversation, telemetry, tool and model usage, geospatial data, and the vector search and relationships,” he says. “You’re going to have a far better chance of getting an accurate understanding of that data, which started off completely unstructured, than if you weren’t capturing anything.”</p>



<p class="wp-block-paragraph">Metadata about document authors, which might come from the company directory, can show how much authority a document has. He describes that as building an understanding of what trust and provenance is over time by the weight and authority of who’s updating the information. After all, he says, company-generated information has more trust or can have traced provenance compared to conversational inputs from a user.</p>



<h2 class="wp-block-heading">Incentives for annotating</h2>



<p class="wp-block-paragraph">DataHub CTO Shirshanka Das saw how much of a mess data can be even with strong guidelines as former architect of LinkedIn’s GDPR strategy. “The data was a swamp, despite us having had pretty good data-first and schema-first practices,” he says. As well as cleaning up the data governance, they added in the first nuggets of the DevOps’ ‘shift left’ approach.</p>



<p class="wp-block-paragraph">LinkedIn already required data checked in to its Kafka ecosystem to have a schema, and ran CI/CD pipelines to check backward compatibility. “I attached metadata attribution and collection around compliance metadata into that pipeline, where developers weren’t able to check in a schema until they had declared what every column meant.”</p>



<p class="wp-block-paragraph">The extra work was unpopular until teams who didn’t participate saw the flood of tickets that came their way, which allowed him to extend that same proactive governance and annotation at source approach to pretty much every data set being produced.</p>



<p class="wp-block-paragraph">“The starting point of data at most companies is a lot more swampy,” he says. “Many people are using Kafka, which is a very schema forward system, and yet they’re just shoving in JSON and unstructured stuff.”</p>



<p class="wp-block-paragraph">That’s common, agrees Megha Kumar, research VP for analytics and AI at IDC, because while collecting more metadata provides better context and cleaner data lineage, it’s hard in practice. “Most organizations batch process data, so real-time context capture rarely happens,” she says. “Even the ones that process in real-time tend to have pre-defined schemas, so adding context requires changes to the data, which unfortunately happens later.”</p>



<p class="wp-block-paragraph">People don’t know how to start, says Das, so DataHub Cloud tries to add back context by collecting operational metadata from multiple systems, including queries and BI tools to extrapolate a semantic model. “We confront the mess by giving them something they can react to,” he says. “They can quickly validate, and then it starts becoming a governance layer on top where humans annotate at source.”</p>



<p class="wp-block-paragraph">Online whiteboard provider Miro, for example, dramatically improved AI agent query accuracy from about 50% to 90% using DataHub. Then they applied GitOps principles on top of what was inferred with a human in the loop for approvals.</p>



<p class="wp-block-paragraph">So getting people to do the work happened the same way at LinkedIn, says Das. “When a data scientist gets 10 times more requests because they didn’t document their work well, resulting in the AI making lots of mistakes and stakeholders constantly pinging them for answers, they have the incentive to add the annotation when they produce an analysis, because then they get out of the critical path.”</p>



<h2 class="wp-block-heading">DBOMs and data contracts</h2>



<p class="wp-block-paragraph">Provenance and lineage of data is critical, Aronchick says, so you can preserve details like who collected the data, when, from where, if the source was authoritative or canonical, what transformations were run, and exactly what the model saw.</p>



<p class="wp-block-paragraph">“It’s not just about the version and the metadata,” he says. “Where things really start to change is when you can say along the way this data has gone through these steps, this is the root source, and these were the other elements.” You want to be able to find out if there were any experimental flags, like a new customer campaign running when it was collected, as well as what claims the data contributes to.</p>



<p class="wp-block-paragraph">Aronchick advocates for a SLSA-style data bill of materials using a tool like <a href="https://usemakoto.dev/">Makoto</a>, which can add signed provenance and attestation to simplify applying central concepts of governance and structure to upstream data.</p>



<p class="wp-block-paragraph">The notion of a data contract or a data product spec is starting to become common in the financial sector says Das, defining it as a data set, or a group of data sets, bound together by a contract that defines expectations which aren’t just cosmetic but machine verifiable. They can also include operational SLOs for APIs as contracts describe not just the shape of the data but operational characteristics and guarantees.</p>



<p class="wp-block-paragraph">Document graph markup language (DGML), a new open source specification from Docugami, promises provenance down to individual data points automatically extracted from documents.</p>



<p class="wp-block-paragraph">“It’s critical to know the validity and provenance of the information your AI is relying on,” Docugami CEO and XML co-creator Jean Paoli says. “Establishing the validity of data right from the start, at scale, is vital and far more efficient than trying to clean up bad data later.” DGML combines semantic tags describing what content means in its business context with bounding boxes showing exactly where in the document the content comes from, with attestation to prove it.</p>



<h2 class="wp-block-heading">AI demands provenance</h2>



<p class="wp-block-paragraph">All this context is the kind of metadata <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents?ref=distributedthoughts.org">Anthropic’s context engineering guide</a> recommends feeding to agents for accuracy. Developers are already used to giving coding agents more context, Das argues. “The same thing is happening with data, as when people realize when AI agents can’t make sense of what they’re doing, hallucinations happen,” he says.</p>



<p class="wp-block-paragraph">Kumar agrees that organizations realize agents need context to provide better insights. “In many cases, it has to do with ensuring the existing data had clear semantics and relationships,” she says.</p>



<p class="wp-block-paragraph">If you want to make sure the purchase return window an AI chatbot promises customers is based on your own policy, not a wish list from a user forum, you need rich context. It’s not just metadata. Organizations need to have semantics, data lineage, and ontologies. “Many are also building knowledge and ontology graphs,” adds Kumar. “By ensuring the systems understand what the data means, it’ll be able to provide a better response.”</p>



<p class="wp-block-paragraph">And if you’re going to the expense of fine tuning, which needs relevant and domain- or task-specific examples, you don’t want noise, duplication, or irrelevant content in your data. You can, of course, exclude poor data if it’s annotated and verified earlier, but you can also improve model performance with extra information, Aronchick points out. “The augmentation of the existing data makes the data you pull out more valuable,” he says.</p>



<p class="wp-block-paragraph">Expanso recently <a href="https://expanso.io/news/edge-ai-startup-of-the-year-2026/">won an Edge AI award</a> for fine tuning a base level model with only about 3,200 images by augmenting them with metadata. “The reason it worked on that few is because I could tell it deterministically what was in the frame,” he adds. “It’s labeling at the point of capture instead of paying somebody to label it later. What if I developed models for predictive analytics of store behavior on a per city, region, or country basis? If I’m able to take the raw point of sale information and augment it with additional metadata, I’m turning this into a much easier thing to fine tune.”</p>



<p class="wp-block-paragraph">Or you might even avoid the expense of fine tuning entirely, suggests Das. “You get the short-term advantage by fine-tuning and getting great performance at much cheaper cost on a smaller model, and it gets stripped away in a couple of months as a new model shows up,” he says. “You have to always run that calculus of when’s the right threshold to fine tune an existing model, distil it, and then run it for a fair amount of time to recoup the costs of fine tuning.”</p>



<p class="wp-block-paragraph">Although regulated or slow-moving industries will see benefits from fine tuning a model they can run for six to 12 months on data with higher quality and better provenance, many organizations may use the improved data quality to get good results without fine tuning.</p>



<p class="wp-block-paragraph">“We’re taking a more knowledge graph-oriented approach to grounding the model, and betting on the fact that because the knowledge graph is changing often, it’s better to keep it as a runtime artifact than a baked-in one.”</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/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[Never mind clean data. Annotate as you collect it.]]></title>
<description><![CDATA[Generative AI is notoriously eager to help, to the point that if it can’t find something matching what you ask for, it’ll create it. So the problem with relying on guardrails is that all too often, a model will be wrong, showing a high confidence score for an incorrect answer because it’s relying...]]></description>
<link>https://tsecurity.de/de/3705480/it-nachrichten/never-mind-clean-data-annotate-as-you-collect-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705480/it-nachrichten/never-mind-clean-data-annotate-as-you-collect-it/</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">Generative AI is notoriously eager to help, to the point that if it can’t find something matching what you ask for, it’ll create it. So the problem with relying on guardrails is that all too often, a model will be wrong, showing a high confidence score for an incorrect answer because it’s relying on stale or non-canonical data.</p>



<p class="wp-block-paragraph">Not only do you need to be able to track the lineage of data your model uses from source to token, something the <a href="https://digital-strategy.ec.europa.eu/en/faqs/guidelines-and-code-practice-transparent-ai-systems?ref=distributedthoughts.org">EU AI Act requires</a>, you also need to be able to take into account where the data came from, whether it’s <a href="https://www.hbs.edu/faculty/Pages/item.aspx?num=58832&amp;ref=distributedthoughts.org">out of date</a>, if it changed in a way that affects the result, or if it was never really relevant or authoritative in the first place.</p>



<p class="wp-block-paragraph">Gartner expects organizations will abandon 60% of AI projects because they don’t have the right <a href="https://www.gartner.com/en/newsroom/press-releases/2025-02-26-lack-of-ai-ready-data-puts-ai-projects-at-risk">metadata management, data quality, and data observability</a>. IBM’s acquisition of Confluent also highlights the importance of real-time data with lineage, governance, and policy for AI agents, and <a href="https://www.ibm.com/think/news/ai-tech-trends-predictions-2026?ref=distributedthoughts.org">one of IBM’s 2026 predictions</a> was the importance of smarter data.</p>



<p class="wp-block-paragraph">The usual approach is adding metadata and validation later in the data pipeline. That’s similar to the way the bronze, silver, and gold tiers of typical lakehouse architecture are supposed to represent how filtering, cleaning, and augmenting data improves structure and quality until it’s ready to use. That can mean an enormous amount of work since nearly three quarters of the CPU work in training a frontier model is data cleansing and validation.</p>



<p class="wp-block-paragraph">But that can also remove a lot of the context crucial for gen AI. Rather than <a href="https://www.cio.com/article/3611247/when-is-data-too-clean-to-be-useful-for-enterprise-ai.html">cleaning data and losing the original context</a>, it’s often more effective to keep as much information about the original state of the data, says David Aronchick, open-source platform Kubeflow founder, and CEO of distributed data pipeline vendor Expanso. “You can’t pursue exactly purely clean data; that’s just not possible,” he says. “As you pull data into your ML model, every line should have some mechanism saying where it came from. Otherwise, you’re never really going to know because you can’t mix them together and tease them apart later. You can search your raw content, your raw logs, but it’s just not going to be there.”</p>



<p class="wp-block-paragraph">IoT digital twin systems often tag data all the way back to the device capturing it so you can see whether a temperature spike is a critical failure, which you want to react to, or a routine calibration, which you don’t. But that information may well be relevant down the line when you want to use that data more broadly. So unless you capture at least some elements about the source of data before you move it, you’re not going to be able to easily reconstruct the context later, or at all sometimes.</p>



<p class="wp-block-paragraph">Ulrik Hansen, co-CEO of Encord, a platform for managing and annotating data, calls this in-stream labelling and cautions it’s not an alternative to cleansing data. “Dirty conflates two things: actual corruption you should fix, and context dependence, where a reading only looks anomalous because you threw away the frame that explained it,” he says. “Cleansing kills both. The point isn’t to stop cleaning, it’s to stop normalizing away context you can never recover.”</p>



<p class="wp-block-paragraph">Context can be cheap to capture at the source and nearly impossible to recover after, he adds. “The question isn’t whether to keep it,” he says, “it’s about curating what actually helps.”</p>



<h2 class="wp-block-heading">Raw but not rancid</h2>



<p class="wp-block-paragraph">Aronchick characterizes the state of most bronze tiers as toxic waste because raw data doesn’t get validated before ingestion, or have a metadata wrapper on each data point. “You’ve taken raw data and stripped it of context,” he says.</p>



<p class="wp-block-paragraph">Take a wind farm operator, for instance. When sensor data about the turbines is generated, it comes from a particular turbine at a particular position in a specific wind farm at a known location, running at a specific speed in specific weather conditions, at a particular time. “If you have other turbines also working in the field, the performance of your turbine will go down, but the field performance will go up,” says Aronchick. “The performance of your turbine going down isn’t a negative, but unless you have the context at the point of data collection, you’re going to make your life much harder later on, when someone asks about the efficiency.”</p>



<p class="wp-block-paragraph">Metadata needs to be much richer, and it needs to be added as early in your data pipeline as possible when you have the most detail available to make sense of the structure and complexity of the data, Aronchick adds. “You want to capture as much about the data you’re collecting as possible, where it doesn’t require insane activity to do so.”</p>



<p class="wp-block-paragraph">But not all the metadata you need will be generated with the data, he says. You almost certainly need to augment and annotate your data, and provide extra structure, especially for something like a point of sale system with very light metadata. “Data comes off these things in poor structure,” he says. “It’s not OpenLineage, it’s often a CSV or a text record, and you have to reconstruct them into a full structured log. So do smart things where you’re creating data. That might be compressing, sampling, converting, appending metadata to it, and enforcing schema and lineage all before you start moving anything.”</p>



<p class="wp-block-paragraph">That doesn’t have to mean bloating your data, Hansen points out. He suggests capturing what’s free and unrecoverable. “The system of origin is the label,” he says. “You don’t tag HR policy, you capture that it came from the HR system. Anything a model can derive later, you can skip.”</p>



<h2 class="wp-block-heading">Structure isn’t static</h2>



<p class="wp-block-paragraph">Routine changes to APIs, schemas, and how data is collected or stored happen in every organization, and need to be reflected in metadata that lives alongside the data or added as data is collected, not reconstructed later in a fragile process that depends on knowing about all those changes. Google’s research into these <a href="https://research.google/blog/data-cascades-in-machine-learning/">data cascades</a> shows how easily context gets lost and how badly it affects data quality.</p>



<p class="wp-block-paragraph">Shifting schema enforcement further left in your data pipeline so you deal with it as soon as possible allows you to make more effective downstream decisions. For a sensor recording temperature and humidity, you need to know the temperature scale it uses, readings, and how the timestamp is recorded. Checking that against the schema before ingesting the data lets you route it differently depending on whether it validates or triggers alerts about data quality.</p>



<p class="wp-block-paragraph">“Maybe I’ll delete it, or send it off to some place where a human being or other tooling can reconstruct it into something valuable,” says Aronchick. “But what it doesn’t do is allow the polluted or bad data into my pipeline. Saying whether or not something passed your schema makes your downstream systems much more reliable.”</p>



<h2 class="wp-block-heading">Sensing structure</h2>



<p class="wp-block-paragraph">Unstructured and semistructured data needs more augmentation. A PDF or Word document has an author and a creation date, but doesn’t necessarily include any context about the job title and department of the author, whether it’s up to date, only applies to a particular group of customers, or is based on accounting regulations that can change. If that information is available, it needs to travel with the document, not be left in a compliance spreadsheet.</p>



<p class="wp-block-paragraph">Data platforms like DataHub and SurrealDB both capture and create context. The latter can analyze a photo, for instance, using vision AI to understand what’s in the image. “From completely unstructured data, we get as much structure as possible,” says the company’s CEO Tobie Morgan Hitchcock.</p>



<p class="wp-block-paragraph">That’s paired with other data potentially useful for an AI agent down the line. “Understanding what happened around an event becomes a lot easier if you’re tracking the conversation, telemetry, tool and model usage, geospatial data, and the vector search and relationships,” he says. “You’re going to have a far better chance of getting an accurate understanding of that data, which started off completely unstructured, than if you weren’t capturing anything.”</p>



<p class="wp-block-paragraph">Metadata about document authors, which might come from the company directory, can show how much authority a document has. He describes that as building an understanding of what trust and provenance is over time by the weight and authority of who’s updating the information. After all, he says, company-generated information has more trust or can have traced provenance compared to conversational inputs from a user.</p>



<h2 class="wp-block-heading">Incentives for annotating</h2>



<p class="wp-block-paragraph">DataHub CTO Shirshanka Das saw how much of a mess data can be even with strong guidelines as former architect of LinkedIn’s GDPR strategy. “The data was a swamp, despite us having had pretty good data-first and schema-first practices,” he says. As well as cleaning up the data governance, they added in the first nuggets of the DevOps’ ‘shift left’ approach.</p>



<p class="wp-block-paragraph">LinkedIn already required data checked in to its Kafka ecosystem to have a schema, and ran CI/CD pipelines to check backward compatibility. “I attached metadata attribution and collection around compliance metadata into that pipeline, where developers weren’t able to check in a schema until they had declared what every column meant.”</p>



<p class="wp-block-paragraph">The extra work was unpopular until teams who didn’t participate saw the flood of tickets that came their way, which allowed him to extend that same proactive governance and annotation at source approach to pretty much every data set being produced.</p>



<p class="wp-block-paragraph">“The starting point of data at most companies is a lot more swampy,” he says. “Many people are using Kafka, which is a very schema forward system, and yet they’re just shoving in JSON and unstructured stuff.”</p>



<p class="wp-block-paragraph">That’s common, agrees Megha Kumar, research VP for analytics and AI at IDC, because while collecting more metadata provides better context and cleaner data lineage, it’s hard in practice. “Most organizations batch process data, so real-time context capture rarely happens,” she says. “Even the ones that process in real-time tend to have pre-defined schemas, so adding context requires changes to the data, which unfortunately happens later.”</p>



<p class="wp-block-paragraph">People don’t know how to start, says Das, so DataHub Cloud tries to add back context by collecting operational metadata from multiple systems, including queries and BI tools to extrapolate a semantic model. “We confront the mess by giving them something they can react to,” he says. “They can quickly validate, and then it starts becoming a governance layer on top where humans annotate at source.”</p>



<p class="wp-block-paragraph">Online whiteboard provider Miro, for example, dramatically improved AI agent query accuracy from about 50% to 90% using DataHub. Then they applied GitOps principles on top of what was inferred with a human in the loop for approvals.</p>



<p class="wp-block-paragraph">So getting people to do the work happened the same way at LinkedIn, says Das. “When a data scientist gets 10 times more requests because they didn’t document their work well, resulting in the AI making lots of mistakes and stakeholders constantly pinging them for answers, they have the incentive to add the annotation when they produce an analysis, because then they get out of the critical path.”</p>



<h2 class="wp-block-heading">DBOMs and data contracts</h2>



<p class="wp-block-paragraph">Provenance and lineage of data is critical, Aronchick says, so you can preserve details like who collected the data, when, from where, if the source was authoritative or canonical, what transformations were run, and exactly what the model saw.</p>



<p class="wp-block-paragraph">“It’s not just about the version and the metadata,” he says. “Where things really start to change is when you can say along the way this data has gone through these steps, this is the root source, and these were the other elements.” You want to be able to find out if there were any experimental flags, like a new customer campaign running when it was collected, as well as what claims the data contributes to.</p>



<p class="wp-block-paragraph">Aronchick advocates for a SLSA-style data bill of materials using a tool like <a href="https://usemakoto.dev/">Makoto</a>, which can add signed provenance and attestation to simplify applying central concepts of governance and structure to upstream data.</p>



<p class="wp-block-paragraph">The notion of a data contract or a data product spec is starting to become common in the financial sector says Das, defining it as a data set, or a group of data sets, bound together by a contract that defines expectations which aren’t just cosmetic but machine verifiable. They can also include operational SLOs for APIs as contracts describe not just the shape of the data but operational characteristics and guarantees.</p>



<p class="wp-block-paragraph">Document graph markup language (DGML), a new open source specification from Docugami, promises provenance down to individual data points automatically extracted from documents.</p>



<p class="wp-block-paragraph">“It’s critical to know the validity and provenance of the information your AI is relying on,” Docugami CEO and XML co-creator Jean Paoli says. “Establishing the validity of data right from the start, at scale, is vital and far more efficient than trying to clean up bad data later.” DGML combines semantic tags describing what content means in its business context with bounding boxes showing exactly where in the document the content comes from, with attestation to prove it.</p>



<h2 class="wp-block-heading">AI demands provenance</h2>



<p class="wp-block-paragraph">All this context is the kind of metadata <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents?ref=distributedthoughts.org">Anthropic’s context engineering guide</a> recommends feeding to agents for accuracy. Developers are already used to giving coding agents more context, Das argues. “The same thing is happening with data, as when people realize when AI agents can’t make sense of what they’re doing, hallucinations happen,” he says.</p>



<p class="wp-block-paragraph">Kumar agrees that organizations realize agents need context to provide better insights. “In many cases, it has to do with ensuring the existing data had clear semantics and relationships,” she says.</p>



<p class="wp-block-paragraph">If you want to make sure the purchase return window an AI chatbot promises customers is based on your own policy, not a wish list from a user forum, you need rich context. It’s not just metadata. Organizations need to have semantics, data lineage, and ontologies. “Many are also building knowledge and ontology graphs,” adds Kumar. “By ensuring the systems understand what the data means, it’ll be able to provide a better response.”</p>



<p class="wp-block-paragraph">And if you’re going to the expense of fine tuning, which needs relevant and domain- or task-specific examples, you don’t want noise, duplication, or irrelevant content in your data. You can, of course, exclude poor data if it’s annotated and verified earlier, but you can also improve model performance with extra information, Aronchick points out. “The augmentation of the existing data makes the data you pull out more valuable,” he says.</p>



<p class="wp-block-paragraph">Expanso recently <a href="https://expanso.io/news/edge-ai-startup-of-the-year-2026/">won an Edge AI award</a> for fine tuning a base level model with only about 3,200 images by augmenting them with metadata. “The reason it worked on that few is because I could tell it deterministically what was in the frame,” he adds. “It’s labeling at the point of capture instead of paying somebody to label it later. What if I developed models for predictive analytics of store behavior on a per city, region, or country basis? If I’m able to take the raw point of sale information and augment it with additional metadata, I’m turning this into a much easier thing to fine tune.”</p>



<p class="wp-block-paragraph">Or you might even avoid the expense of fine tuning entirely, suggests Das. “You get the short-term advantage by fine-tuning and getting great performance at much cheaper cost on a smaller model, and it gets stripped away in a couple of months as a new model shows up,” he says. “You have to always run that calculus of when’s the right threshold to fine tune an existing model, distil it, and then run it for a fair amount of time to recoup the costs of fine tuning.”</p>



<p class="wp-block-paragraph">Although regulated or slow-moving industries will see benefits from fine tuning a model they can run for six to 12 months on data with higher quality and better provenance, many organizations may use the improved data quality to get good results without fine tuning.</p>



<p class="wp-block-paragraph">“We’re taking a more knowledge graph-oriented approach to grounding the model, and betting on the fact that because the knowledge graph is changing often, it’s better to keep it as a runtime artifact than a baked-in one.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA['Tokenmaxxing is not what we are optimizing for': Microsoft tells engineer to calm down on AI usage]]></title>
<description><![CDATA[Microsoft engineers told to chill out when it comes to AI token usage.]]></description>
<link>https://tsecurity.de/de/3705476/it-nachrichten/tokenmaxxing-is-not-what-we-are-optimizing-for-microsoft-tells-engineer-to-calm-down-on-ai-usage/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705476/it-nachrichten/tokenmaxxing-is-not-what-we-are-optimizing-for-microsoft-tells-engineer-to-calm-down-on-ai-usage/</guid>
<pubDate>Wed, 05 Aug 2026 12:08:13 +0200</pubDate>
<content:encoded><![CDATA[Microsoft engineers told to chill out when it comes to AI token usage.]]></content:encoded>
</item>
<item>
<title><![CDATA[WhatsApp Adds Anonymous Polls, @All Mentions, and Faster Group Creation]]></title>
<description><![CDATA[WhatsApp is rolling out three new group chat upgrades that improve polls, make important messages easier to notice, and help users create related groups without starting from scratch. The changes are launching today and focus on common problems people face in busy family, school, work, and commun...]]></description>
<link>https://tsecurity.de/de/3705412/ios-mac-os/whatsapp-adds-anonymous-polls-all-mentions-and-faster-group-creation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705412/ios-mac-os/whatsapp-adds-anonymous-polls-all-mentions-and-faster-group-creation/</guid>
<pubDate>Wed, 05 Aug 2026 11:37:44 +0200</pubDate>
<content:encoded><![CDATA[WhatsApp is rolling out three new group chat upgrades that improve polls, make important messages easier to notice, and help users create related groups without starting from scratch. The changes are launching today and focus on common problems people face in busy family, school, work, and community chats.



Polls now offer more control for both creators and participants. Users can hide voter names, which allows people to share their choice without showing others how they voted, while poll creators can also set an end time so voting closes automatically at a chosen deadline.



WhatsApp also allows users to edit a poll for up to 15 minutes after posting it. This gives creators time to correct spelling mistakes, change an option, or fix other small errors without deleting the poll and creating a new one.



WhatsApp adds @all mentions for urgent messages







The new @all mention lets users notify everyone in a group chat through a single tag, which saves time when sharing urgent updates such as office closures, school notices, event deadlines, or last-minute plan changes.



In groups with more than 32 members, WhatsApp limits the @all feature to administrators, which should reduce unnecessary alerts in larger communities where frequent notifications can become distracting.



WhatsApp is also adding a “Create a similar group” button inside the group details screen. Users can tap the option to start a new group based on an existing one, making it easier to separate a project, event, or discussion into its own chat.



These updates follow other recent WhatsApp additions, including Apple Music sharing and iPad account signups without requiring a phone number.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple releases new beta firmware for AirPods Pro 3 and more]]></title>
<description><![CDATA[Apple has released new beta firmware for AirPods Pro 3 and several other models as it continues testing features designed for iOS 27. The latest firmware carries build number 9A5336b and replaces the previous 9A5314b beta released in July.



The update is available for AirPods Pro 3, AirPods Pro...]]></description>
<link>https://tsecurity.de/de/3705413/ios-mac-os/apple-releases-new-beta-firmware-for-airpods-pro-3-and-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705413/ios-mac-os/apple-releases-new-beta-firmware-for-airpods-pro-3-and-more/</guid>
<pubDate>Wed, 05 Aug 2026 11:37:44 +0200</pubDate>
<content:encoded><![CDATA[Apple has released new beta firmware for AirPods Pro 3 and several other models as it continues testing features designed for iOS 27. The latest firmware carries build number 9A5336b and replaces the previous 9A5314b beta released in July.



The update is available for AirPods Pro 3, AirPods Pro 2, AirPods 4, and AirPods Max 2. It is currently limited to developers, although Apple is expected to release the same or a newer build to public beta testers soon.



How to update AirPods to firmware 9A5336b



You need an iPhone or iPad running the iOS 27 or iPadOS 27 developer beta before you can install the new AirPods firmware.




Connect your AirPods to your iPhone or iPad.



Open the Settings app.



Tap Bluetooth.



Tap the information button next to your AirPods.



Scroll down and select AirPods Beta Updates.



Turn on beta firmware updates for your AirPods.



Place the AirPods inside their charging case and connect the case to power.



Keep the AirPods close to your unlocked iPhone or iPad while it remains connected to Wi-Fi.




The firmware downloads and installs automatically in the background. Apple does not provide a button for starting the installation manually.



To check the installed version, open Settings, select Bluetooth, tap the information button beside your AirPods, and look for the firmware version under the About section.



All changes in AirPods beta firmware 9A5336b



Apple has not published detailed release notes for build 9A5336b, and no major changes specific to this beta have been discovered yet.



The wider iOS 27 AirPods beta cycle includes the following improvements:




Updated AirPods settings: iOS 27 introduces a redesigned interface that places supported controls and audio options in a clearer layout.



More control over Adaptive Audio: Compatible AirPods receive a slider that lets users adjust how strongly Adaptive Audio balances noise cancellation and outside sound.



Custom EQ options: The new software provides additional controls for adjusting the AirPods sound profile based on personal preferences.



New Siri features: Supported AirPods work with the latest Siri and Apple Intelligence features available through iOS 27.



Bug fixes and stability improvements: The beta firmware also prepares supported AirPods for iOS 27 while addressing connection, control, and performance issues found during testing.




Apple is expected to release the finished AirPods firmware alongside iOS 27 next month. Users who rely on their AirPods every day should avoid installing beta firmware because Apple does not provide a simple way to return to the public version.



If you’ve already installed the update, let us know your experience in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Ransomware Hackers Are Hiding Malware Command Servers Inside Ethereum Smart Contracts]]></title>
<description><![CDATA[Ransomware operators are now abusing Ethereum smart contracts as stealthy command‑and‑control resolvers, with a Gentlemen ransomware affiliate using the EtherRAT backdoor to pull rotating C2 domains directly from the blockchain instead of hardcoding them in the malware. The toolkit shows a clear ...]]></description>
<link>https://tsecurity.de/de/3705244/hacking/ransomware-hackers-are-hiding-malware-command-servers-inside-ethereum-smart-contracts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705244/hacking/ransomware-hackers-are-hiding-malware-command-servers-inside-ethereum-smart-contracts/</guid>
<pubDate>Wed, 05 Aug 2026 10:35:06 +0200</pubDate>
<content:encoded><![CDATA[<p>Ransomware operators are now abusing Ethereum smart contracts as stealthy command‑and‑control resolvers, with a Gentlemen ransomware affiliate using the EtherRAT backdoor to pull rotating C2 domains directly from the blockchain instead of hardcoding them in the malware. The toolkit shows a clear progression: scheduled tasks that bootstrap PowerShell, privileged account creation (“support2” with Supp0rt2@2026!). LSASS […]</p>
<p>The post <a href="https://gbhackers.com/ethereum-smart-contracts/">Ransomware Hackers Are Hiding Malware Command Servers Inside Ethereum Smart Contracts</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[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[Ransomware Hackers Are Hiding Malware Command Servers Inside Ethereum Smart Contracts]]></title>
<description><![CDATA[Ransomware operators are now abusing Ethereum smart contracts as stealthy command‑and‑control resolvers, with a Gentlemen ransomware affiliate using the EtherRAT backdoor to pull rotating C2 domains directly from the blockchain instead of hardcoding them in the malware. The toolkit shows a clear ...]]></description>
<link>https://tsecurity.de/de/3705200/it-security-nachrichten/ransomware-hackers-are-hiding-malware-command-servers-inside-ethereum-smart-contracts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705200/it-security-nachrichten/ransomware-hackers-are-hiding-malware-command-servers-inside-ethereum-smart-contracts/</guid>
<pubDate>Wed, 05 Aug 2026 10:02:41 +0200</pubDate>
<content:encoded><![CDATA[<p>Ransomware operators are now abusing Ethereum smart contracts as stealthy command‑and‑control resolvers, with a Gentlemen ransomware affiliate using the EtherRAT backdoor to pull rotating C2 domains directly from the blockchain instead of hardcoding them in the malware. The toolkit shows a clear progression: scheduled tasks that bootstrap PowerShell, privileged account creation (“support2” with Supp0rt2@2026!). LSASS […]</p>
<p>The post <a href="https://gbhackers.com/ethereum-smart-contracts/">Ransomware Hackers Are Hiding Malware Command Servers Inside Ethereum Smart Contracts</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[Inside Astaroth’s New Spambot Component]]></title>
<description><![CDATA[This post has no text preview — click the link below to read the original article. This article has been indexed from Blog Read the original article: Inside Astaroth’s New Spambot Component
Read more →
The post Inside Astaroth’s New Spambot Component appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3705082/it-security-nachrichten/inside-astaroths-new-spambot-component/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705082/it-security-nachrichten/inside-astaroths-new-spambot-component/</guid>
<pubDate>Wed, 05 Aug 2026 09:08:45 +0200</pubDate>
<content:encoded><![CDATA[<p>This post has no text preview — click the link below to read the original article. This article has been indexed from Blog Read the original article: Inside Astaroth’s New Spambot Component</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/inside-astaroths-new-spambot-component-3/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/inside-astaroths-new-spambot-component-3/">Inside Astaroth’s New Spambot Component</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CopilotKit Open Sources Channels SDK: An MIT Licensed Library That Runs Any AG-UI Agent Inside Slack And Microsoft Teams]]></title>
<description><![CDATA[CopilotKit has published the Channels SDK, an MIT licensed library that runs an existing AG-UI agent inside Slack and Microsoft Teams. Version 0.5.0 ships five platform adapters and a documented runtime contract. This breakdown covers the verified deployment paths, the baseline requirements, and ...]]></description>
<link>https://tsecurity.de/de/3704819/ai-nachrichten/copilotkit-open-sources-channels-sdk-an-mit-licensed-library-that-runs-any-ag-ui-agent-inside-slack-and-microsoft-teams/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704819/ai-nachrichten/copilotkit-open-sources-channels-sdk-an-mit-licensed-library-that-runs-any-ag-ui-agent-inside-slack-and-microsoft-teams/</guid>
<pubDate>Wed, 05 Aug 2026 06:46:24 +0200</pubDate>
<content:encoded><![CDATA[<p>CopilotKit has published the Channels SDK, an MIT licensed library that runs an existing AG-UI agent inside Slack and Microsoft Teams. Version 0.5.0 ships five platform adapters and a documented runtime contract. This breakdown covers the verified deployment paths, the baseline requirements, and the one dependency that is easy to miss</p>
<p>The post <a href="https://www.marktechpost.com/2026/08/04/copilotkit-open-sources-channels-sdk/">CopilotKit Open Sources Channels SDK: An MIT Licensed Library That Runs Any AG-UI Agent Inside Slack And Microsoft Teams</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></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[Inside the North American Water Utility Hacking Crisis]]></title>
<description><![CDATA[Inside the North American Water Utility Hacking Crisis: Iran Links, PLC Tactics, Insurance Fallout, and Volunteer Fixes This special Cybersecurity Today…
Read more →
The post Inside the North American Water Utility Hacking Crisis appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3704664/it-security-nachrichten/inside-the-north-american-water-utility-hacking-crisis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704664/it-security-nachrichten/inside-the-north-american-water-utility-hacking-crisis/</guid>
<pubDate>Wed, 05 Aug 2026 04:50:28 +0200</pubDate>
<content:encoded><![CDATA[<p>Inside the North American Water Utility Hacking Crisis: Iran Links, PLC Tactics, Insurance Fallout, and Volunteer Fixes This special Cybersecurity Today…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/inside-the-north-american-water-utility-hacking-crisis/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/inside-the-north-american-water-utility-hacking-crisis/">Inside the North American Water Utility Hacking Crisis</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[I played DOOM inside MS Paint on Windows 11 by hijacking the clipboard, and it’s shockingly good]]></title>
<description><![CDATA[DoomPaint runs the real ViZDoom engine and pastes every frame into Microsoft Paint through the Windows clipboard, complete with sound, music, and full keyboard controls. We explain the clipboard race condition Russinovich had to solve, and show you exactly how to run DOOM in Paint yourself.
The p...]]></description>
<link>https://tsecurity.de/de/3704583/windows-tipps/i-played-doom-inside-ms-paint-on-windows-11-by-hijacking-the-clipboard-and-its-shockingly-good/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704583/windows-tipps/i-played-doom-inside-ms-paint-on-windows-11-by-hijacking-the-clipboard-and-its-shockingly-good/</guid>
<pubDate>Wed, 05 Aug 2026 02:59:57 +0200</pubDate>
<content:encoded><![CDATA[<p>DoomPaint runs the real ViZDoom engine and pastes every frame into Microsoft Paint through the Windows clipboard, complete with sound, music, and full keyboard controls. We explain the clipboard race condition Russinovich had to solve, and show you exactly how to run DOOM in Paint yourself.</p>
<p>The post <a rel="nofollow" href="https://www.windowslatest.com/2026/08/05/i-played-doom-inside-ms-paint-on-windows-11-by-hijacking-the-clipboard-and-its-shockingly-good/">I played DOOM inside MS Paint on Windows 11 by hijacking the clipboard, and it’s shockingly good</a> appeared first on <a rel="nofollow" href="https://www.windowslatest.com/">Windows Latest</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[WebKit leaks in iOS & macOS expose user data in spite of proxy use]]></title>
<description><![CDATA[Apple requires all browsers to use WebKit on iPhone, so a report suggests every browser is affected by three separate leaks that can hand off information around a proxy or iCloud Private Relay.WebKit browsers can leak data past proxies and iCloud Private RelayWhen users install proxy browsers or ...]]></description>
<link>https://tsecurity.de/de/3704555/ios-mac-os/webkit-leaks-in-ios-macos-expose-user-data-in-spite-of-proxy-use/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704555/ios-mac-os/webkit-leaks-in-ios-macos-expose-user-data-in-spite-of-proxy-use/</guid>
<pubDate>Wed, 05 Aug 2026 02:41:06 +0200</pubDate>
<content:encoded><![CDATA[Apple requires all browsers to use WebKit on iPhone, so a report suggests every browser is affected by three separate leaks that can hand off information around a proxy or <a href="https://appleinsider.com/inside/icloud" title="iCloud" data-kpt="1">iCloud Private Relay</a>.<br><br><div><img src="https://media.appleinsider.com/gallery/68464-144251-Safari-bottom-address-bar-xl.jpg" alt="Close-up of an iPhone screen showing Safari's bottom toolbar and a highlighted appleyinsider.com URL over a dark article about Apple Vision Pro, against a solid blue background"><br><span>WebKit browsers can leak data past proxies and iCloud Private Relay</span></div><br>When users install proxy browsers or Tor, they expect absolute privacy while navigating the web. However, one developer has discovered that three separate data leaks can occur while using WebKit browsers on <a href="https://appleinsider.com/inside/ios" title="iOS" data-kpt="1">iOS</a> or <a href="https://appleinsider.com/inside/macos" title="macOS" data-kpt="1">macOS</a>.<br><br><a href="https://mysk.blog/2026/08/04/webkit-proxy-icloud-private-relay-ip-leak/">According to</a> the <em>Mysk</em> blog, DNS prefetching, WebAuthn for Passkeys, and WebTransport can all reveal data about the user in spite of proxy use or iCloud Private Relay. Tor browsers, proxy apps, and <a href="https://appleinsider.com/inside/safari" title="Safari" data-kpt="1">Safari</a> are affected, but VPNs are not since they're acting at a system level to encrypt all traffic.<br><br><br> <a href="https://appleinsider.com/articles/26/08/05/webkit-leaks-in-ios-macos-expose-ip-and-dns-in-spite-of-proxy-use?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245165?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Can someone reverse engineer wahl clipper blade to be 3d printed and have guards attachable to it? (Linked one doesnt stick on)]]></title>
<description><![CDATA[submitted by    /u/kapitana77   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3704526/reverse-engineering/can-someone-reverse-engineer-wahl-clipper-blade-to-be-3d-printed-and-have-guards-attachable-to-it-linked-one-doesnt-stick-on/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704526/reverse-engineering/can-someone-reverse-engineer-wahl-clipper-blade-to-be-3d-printed-and-have-guards-attachable-to-it-linked-one-doesnt-stick-on/</guid>
<pubDate>Wed, 05 Aug 2026 01:44:04 +0200</pubDate>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/kapitana77"> /u/kapitana77 </a> <br> <span><a href="https://www.printables.com/model/1360264-wahl-clipper-holder/files">[link]</a></span>   <span><a href="https://www.reddit.com/r/ReverseEngineering/comments/1vfmkuo/can_someone_reverse_engineer_wahl_clipper_blade/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[ChainDrop credential stealing worm infects over 400 npm packages]]></title>
<description><![CDATA[A self-propagating worm-like attack is hitting the npm registry, having infected 444 packages from more than a dozen publishers so far. The impact is massive, with the packages affected amounting to more than 2 billion monthly downloads combined.



The attack began with the compromise of a GitHu...]]></description>
<link>https://tsecurity.de/de/3704460/it-security-nachrichten/chaindrop-credential-stealing-worm-infects-over-400-npm-packages/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704460/it-security-nachrichten/chaindrop-credential-stealing-worm-infects-over-400-npm-packages/</guid>
<pubDate>Wed, 05 Aug 2026 00:41: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 self-propagating worm-like attack is hitting the npm registry, having infected 444 packages from more than a dozen publishers so far. The impact is massive, with the packages affected amounting to more than 2 billion monthly downloads combined.</p>



<p class="wp-block-paragraph">The attack began with the compromise of a GitHub account belonging to Jared Wray, who maintains Keyv, a package with over 150 million weekly downloads that provides an interface for interacting with key-value storage across multiple backends. Version 6.0.0 published at around 9:00 UTC on Tuesday contained a new version of the <a href="https://www.csoonline.com/article/4179866/infected-red-hat-npm-packages-expose-developer-credentials.html">Shai-Hulud</a> credential stealing malware.</p>



<p class="wp-block-paragraph">The compromised account is also used to maintain a number of other popular packages, including cacheable, flat-cache, file-entry-cache, cacheable-request, cache-manager, ecto, and more. All of these had trojanized versions published as well.</p>



<p class="wp-block-paragraph">Soon after, the attack expanded beyond this account, infecting packages from other organizations on npm — @deliveroo/reevent, @or-sdk/invitations , @picsart/ai-sdk, @qlik/embed-runtime, picasso.js, to name a few. As of 18:10 UTC, StepSecurity <a href="https://www.stepsecurity.io/blog/chaindrop-npm-worm">had detected the malicious code across 444 packages and 2,212 versions</a>.</p>



<p class="wp-block-paragraph">“Every poisoned version carries the same infection pattern: a preinstall dropper that downloads the legitimate Bun JavaScript runtime, and a 710KB obfuscated second stage that steals credentials, publishes more malicious packages, and burrows into AI developer tooling,” researchers from StepSecurity said.</p>



<p class="wp-block-paragraph">Although the code appears to be a new variant of Shai-Hulud — a supply-chain credential stealing worm that has plagued the npm and PyPI repositories since last year in different variations — researchers have decided to dub this new attack campaign ChainDrop because this new version uses the Ethereum blockchain for command and control, a technique known as EtherHiding.</p>



<p class="wp-block-paragraph">“The compromise was carried out by pushing malicious files directly to the main branch and then immediately cutting a new release, meaning the poisoned versions were published to npm with valid provenance signed by GitHub Actions,” researchers from Aikido Security said in <a href="https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack">a report</a>.</p>



<p class="wp-block-paragraph">Wray confirmed via X that he uses OpenID Connect (OIDC) with npm and one-time codes for GitHub, so he was not using long-term static tokens. The developer regained access to his GitHub account at around 20:00 UTC and <a href="https://x.com/jaredwray/status/2084735469359935697">said he’s doing a full audit</a>.</p>



<h2 class="wp-block-heading">The malware infects AI code assistants</h2>



<p class="wp-block-paragraph">The malicious files added to packages are <code>setup.mjs</code> and <code>Math_Symbol.js</code> — renamed <code>math_init.js</code> in some cases. These get executed by a preinstall script during the npm installation process of the packages and then proceed to download and execute a secondary obfuscated payload on the computer.</p>



<p class="wp-block-paragraph">The malware searches the local environment for cloud credentials, infrastructure secrets, developer access tokens, AI-related configuration files, and cryptocurrency wallets. It also identifies CI/CD workflows and build runners and tries to scrape their memory for temporary secrets injected during the build process.</p>



<p class="wp-block-paragraph">New to this variant are persistent mechanisms deployed inside code editors such as VS Code via <code>tasks.json</code> and AI code assistants such as Claude Code through hooks.</p>



<p class="wp-block-paragraph">“Targets for credential theft have been expanded by almost 70%, with new additions including AI-agent credential stores for Claude, OpenAI, Codex, Cursor and Gemini; cryptocurrency keystores for Foundry, Solana and Monero; self-hosted CI and registry secrets such as Jenkins’ master.key, Argo CD and Harbor; Alibaba Cloud and Tencent Cloud CLI configurations; and system files including <code>/etc/shadow</code>,” researchers from security firm Wiz said in their own <a href="https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack">analysis</a>.</p>



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



<p class="wp-block-paragraph">Unfortunately, enterprise security teams must perform full audits of developer machines. The compromised packages are transient dependencies for thousands of others and if any of the poisoned versions were installed during the attack window, all possible credentials accessible on that machine, or other machines accessible from that machine, need to be rotated.</p>



<p class="wp-block-paragraph">“Rotate, at minimum: npm automation tokens, GitHub personal access tokens and SSH keys, cloud provider credentials (<code>~/.aws</code>, <code>~/.config/gcloud</code>, Azure), Kubernetes service accounts, and any secrets in environment variables or .env files present at install time,” the StepSecurity researchers said. “Maintainers of npm packages should treat their publish credentials as exposed. The second wave of this campaign demonstrates exactly why: additional maintainer accounts published the identical payload within the same hour.”</p>



<p class="wp-block-paragraph">The StepSecurity report includes indicators of compromise, a list of infected packages, as well as defense-in-depth recommendations for developer machines and processes that could have stopped this compromise.</p>



<p class="wp-block-paragraph">Using the <code>-—ignore-scripts</code> npm flag in CI workflows, a technique known as script gating, would have ignored the <code>preinstall</code> script that delivers the payload. Package managers like npm, pnpm, Yarn and Bun now support minimum release age policies for package installation. Configuring this setting to between 3 to 7 days buys users some time in case a newly released version turns out to be poisoned.</p>



<p class="wp-block-paragraph">Security companies continuously scan and monitor the npm registry and new supply chain compromises are usually discovered within minutes or hours. In this case the malicious versions began being removed by the npm team within two hours, but being a worm, the attack keeps propagating via newly compromised developer accounts.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Elon Musk says Starlink could deliver most of the world’s internet within a decade]]></title>
<description><![CDATA[Elon Musk says Starlink could carry most of the world's internet within a decade. SpaceX's first earnings report as a public company showed the satellite business, built on satellites made in Redmond, is the only profitable part of the company. Read More]]></description>
<link>https://tsecurity.de/de/3704361/it-nachrichten/elon-musk-says-starlink-could-deliver-most-of-the-worlds-internet-within-a-decade/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704361/it-nachrichten/elon-musk-says-starlink-could-deliver-most-of-the-worlds-internet-within-a-decade/</guid>
<pubDate>Tue, 04 Aug 2026 23:25:38 +0200</pubDate>
<content:encoded><![CDATA[<img fetchpriority="high" loading="eager" width="1260" height="840" src="https://cdn.geekwire.com/wp-content/uploads/2026/08/52667587548_8992664a51_k-1260x840.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" decoding="async" srcset="https://cdn.geekwire.com/wp-content/uploads/2026/08/52667587548_8992664a51_k-1260x840.jpg 1260w, https://cdn.geekwire.com/wp-content/uploads/2026/08/52667587548_8992664a51_k-768x512.jpg 768w, https://cdn.geekwire.com/wp-content/uploads/2026/08/52667587548_8992664a51_k-1536x1024.jpg 1536w, https://cdn.geekwire.com/wp-content/uploads/2026/08/52667587548_8992664a51_k.jpg 2048w" sizes="(max-width: 1260px) 100vw, 1260px"><br>Elon Musk says Starlink could carry most of the world's internet within a decade. SpaceX's first earnings report as a public company showed the satellite business, built on satellites made in Redmond, is the only profitable part of the company. <a href="https://www.geekwire.com/2026/elon-musk-says-starlink-could-deliver-most-of-the-worlds-internet-within-a-decade/">Read More</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[With FCC ban on new Chinese-made optical transceivers for DCs likely, it may be time to stock up]]></title>
<description><![CDATA[A likely US administration ban on Chinese optical transceivers for AI data centers may have an unintended consequence: IT will rush to buy as many of the components as possible before restrictions kick in.



Reuters on Tuesday reported that the US Federal Communications Commission (FCC) “is work...]]></description>
<link>https://tsecurity.de/de/3704344/it-nachrichten/with-fcc-ban-on-new-chinese-made-optical-transceivers-for-dcs-likely-it-may-be-time-to-stock-up/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704344/it-nachrichten/with-fcc-ban-on-new-chinese-made-optical-transceivers-for-dcs-likely-it-may-be-time-to-stock-up/</guid>
<pubDate>Tue, 04 Aug 2026 23:04: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">A likely US administration ban on Chinese optical transceivers for AI data centers may have an unintended consequence: IT will rush to buy as many of the components as possible before restrictions kick in.</p>



<p class="wp-block-paragraph">Reuters on Tuesday <a href="https://www.reuters.com/world/trump-administration-drafting-ban-chinese-data-center-devices-sources-say-2026-08-04/" target="_blank" rel="noreferrer noopener">reported</a> that the US Federal Communications Commission (FCC) “is working on the measure to bar imports of new Chinese optical transceivers” and that officials hope to publish and implement it this year. </p>



<p class="wp-block-paragraph">The report, from unnamed sources, said that the official rationale is “to prevent Chinese firms from stealing data, installing malware or disrupting service at US data centers.” The sources did, however, stress that such a ban could still be modified or shelved.</p>



<h2 class="wp-block-heading">A valid concern</h2>



<p class="wp-block-paragraph">Analysts and consultants agree that the concern, albeit hypothetical at the moment, is valid. </p>



<p class="wp-block-paragraph">If implemented, such a ban would have a severe impact on data center (DC) strategies for both enterprises and hyperscalers. Although higher costs for replacement products would be all but certain, the greater concern is the lack of availability of non-Chinese transceivers and other components, regardless of price. </p>



<p class="wp-block-paragraph">A potentially even more worrying element of a ban is the need for far more sophisticated supply chain visibility. That is because many of those non-Chinese component suppliers actually use some Chinese components in their products, which means that the exact wording of any potential FCC restrictions will be critical. It will define how closely enterprises will need to examine their suppliers’ supply chains.</p>



<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, said that he thinks that an FCC ban is quite likely, because it “has run this exact playbook four times in eighteen months, against drones, routers, robots, and the July 28 inverter and robotics restrictions. The mechanism is tested, the machinery is warm.”</p>



<p class="wp-block-paragraph">If the ban is enacted, said geopolitical analyst <a href="https://www.linkedin.com/in/irina-tsukerman-4b04595/" target="_blank" rel="noreferrer noopener">Irina Tsukerman</a>, “CIOs will need to reassess vendor diversification, and other factors such as replacement compatibility, lifecycle planning and inventory management, given that many organizations have historically treated optical components as interchangeable commodities.”</p>



<p class="wp-block-paragraph">“Enterprises will also need much greater visibility into firmware development, manufacturing origin, as well as subcontractors, and software update processes, because future procurement decisions are increasingly likely to examine the entire supply chain rather than simply the company selling the finished product,” she added. This will make future procurement more complex.</p>



<h2 class="wp-block-heading">IT pain will vary</h2>



<p class="wp-block-paragraph">Tsukerman said that, although prices would certainly spike, the pain felt will vary based on the nature and size of each affected business She noted that while hyperscale operators can negotiate directly with manufacturers, secure long-term supply, and qualify multiple vendors for critical components due to their purchasing power, enterprises, regional data center operators, and colocation providers generally lack that leverage. Rather, they often depend on distributors supplying lower-cost Chinese products, making them considerably more vulnerable to price increases and delivery delays.</p>



<p class="wp-block-paragraph">Mahapatra added that the preliminary indications suggest any such ban would have a “new models only” framing that would protect the installed base while restricting the next generation of products, which, he said, would be a compromise “generous enough to mute the hyperscaler objection.”</p>



<p class="wp-block-paragraph">But, he said, “the enterprise CIO running a colocation expansion or private AI cluster is about to discover they are competing with Microsoft and Meta for the same constrained supply and losing.” </p>



<p class="wp-block-paragraph">He recommended that enterprises lock down forward optics supply for anything they plan to build through 2028 before the restriction publishes, because, he pointed out, “announced-but-not-effective bans consume non-Chinese capacity through panic buying, and buyers who move after publication pay in schedule rather than dollars.”</p>



<p class="wp-block-paragraph">However, such a move depends on how serious IT considers the cybersecurity risks from the Chinese components. Tsukerman argued that data leakage and malware fears need to be taken seriously, because modern optical transceivers often contain firmware, onboard memory, and management interfaces, and may also offer capabilities that can influence how traffic is monitored and managed throughout the data center.</p>



<p class="wp-block-paragraph">In that case, she noted, “the risk would extend beyond espionage to include compromised firmware updates, manipulation of diagnostic information, disruption of maintenance support, delayed replacement shipment, or in the worst case scenario, interference with critical infrastructure during periods of heightened political tension.”</p>



<p class="wp-block-paragraph">However, Mahapatra sees the risk quite differently.</p>



<p class="wp-block-paragraph">“A transceiver is a comparatively dumb device converting electrical signals to optical and back, not a router running a network operating system with deep packet visibility,” he said. “The near-term espionage risk from currently shipping Chinese optics is thin, and CISOs who reallocate budget toward this threat over their software supply chain and identity attack surfaces are responding to headlines rather than risk.”</p>



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



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, labeled the potential US administration move as “one of the more consequential supply-chain moves the FCC has contemplated, because optical transceivers are the workhorse components that move data across fiber inside every AI data center, and Chinese vendors dominate that market.”</p>



<p class="wp-block-paragraph">He noted that Chinese vendors Innolight and Eoptolink alone reportedly account for the majority of the 800-gig modules going into Nvidia’s AI clusters, so a ban “wouldn’t be a minor substitution,” and non-Chinese alternatives such as Coherent and Lumentum in the US don’t yet have sufficient capacity to fill the gap.</p>



<p class="wp-block-paragraph"><a href="https://www.gartner.com/en/experts/nader-henein" target="_blank" rel="noreferrer noopener">Nader Henein</a>, a Gartner VP analyst, agreed, adding that since the nature of the AI data center supply chain is both complex and fragile, a small change can deliver a disproportionate industry impact.</p>



<p class="wp-block-paragraph">“If you remove one provider from the equation, it’s not as if the others have capacity to fulfil the increase in demand, so it’s not simply a question of added cost, it’s a question of placing a ceiling on capacity and growth,” he said.</p>



<p class="wp-block-paragraph">Tsukerman said that her list of the companies most likely to benefit from such an FCC ban would include Coherent, Lumentum, Applied Optoelectronics and Cisco’s Acacia business, while Broadcom and Marvell, as well as  Japanese and Taiwanese manufacturers, also provide important optical and connectivity technologies that support advanced networking infrastructure.</p>



<h2 class="wp-block-heading">Other components in the crosshairs</h2>



<p class="wp-block-paragraph">She pointed out that there is also a strong probability that a transceiver ban would quickly be followed by attacks on other components. </p>



<p class="wp-block-paragraph">Networking switches, SmartNICs, data processing units, baseboard management controllers, storage controllers, intelligent power distribution units, cooling management controllers, optical transport systems, and embedded management processors “all perform functions that could influence the operation of an entire facility if compromised,” she said. “None of these products simply passes data or delivers electricity. They manage, monitor, or control critical infrastructure, making them increasingly attractive targets for supply-chain attacks.”</p>



<p class="wp-block-paragraph">Her list of likely future US targets for restrictions also includes top-of-rack switches, spine switches, and rack management systems,.</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, echoed Henein’s fears about industry impact.</p>



<p class="wp-block-paragraph">“I think that the appropriate response to these types of risks needs to be more nuanced than just a blanket ban,” he said. “Since 15%-20% of all world’s semiconductors are manufactured in China, and that number rises to 80% or 85% if you include Taiwan, blocking Chinese imports for these components could hamper the entire datacenter industry.”</p>



<p class="wp-block-paragraph">Although there have been rumors of insecure or trojanized hardware components sourced from China in the past, given that many large American and multinational technology vendors manufacture their parts there, ”a sledgehammer approach could spike prices for these types of systems, jeopardizing development of new technologies,” he noted. “A far more reasonable approach would be to require appropriate testing and quality controls to ensure that those risks are appropriately mitigated.”</p>



<h2 class="wp-block-heading">Would likely harm the US</h2>



<p class="wp-block-paragraph">In addition, independent technology analyst <a href="https://www.linkedin.com/in/carmi/" target="_blank" rel="noreferrer noopener">Carmi Levy</a> said that he is skeptical about whether an FCC ban would ultimately be a good move for the US.</p>



<p class="wp-block-paragraph">“It’s fair to ask whether this will truly make American technology infrastructure more secure, or whether it’s little more than a performative stunt designed to score geopolitical points,” Levy said, pointing out that Canada didn’t end up any safer because of the Huawei and ZTE ban, and “no one should fool themselves into believing a Chinese data center ban in the US would be any different. It would only add further constraints to a supply chain that’s already close to collapsing under its own weight [and it] will likely harm American interests more than anyone else’s.”</p>



<p class="wp-block-paragraph">But he also concluded that such a move would likely fail, given the current global state of data center technologies. </p>



<p class="wp-block-paragraph">“Chinese suppliers and components have been so ingrained in the global technology supply chain for so long that no ban of any form could hope to have any tangible impact on so-called national security,” Levy said. “To claim otherwise exposes the true motivations of this misdirected policy strategy.”</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.networkworld.com/article/4205228/with-fcc-ban-on-new-chinese-made-optical-transceivers-for-dcs-likely-it-may-be-time-to-stock-up.html" target="_blank">NetworkWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[With FCC ban on new Chinese-made optical transceivers for DCs likely, it may be time to stock up]]></title>
<description><![CDATA[A likely US administration ban on Chinese optical transceivers for AI data centers may have an unintended consequence: IT will rush to buy as many of the components as possible before restrictions kick in.



Reuters on Tuesday reported that the US Federal Communications Commission (FCC) “is work...]]></description>
<link>https://tsecurity.de/de/3704298/it-security-nachrichten/with-fcc-ban-on-new-chinese-made-optical-transceivers-for-dcs-likely-it-may-be-time-to-stock-up/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704298/it-security-nachrichten/with-fcc-ban-on-new-chinese-made-optical-transceivers-for-dcs-likely-it-may-be-time-to-stock-up/</guid>
<pubDate>Tue, 04 Aug 2026 22:42: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">A likely US administration ban on Chinese optical transceivers for AI data centers may have an unintended consequence: IT will rush to buy as many of the components as possible before restrictions kick in.</p>



<p class="wp-block-paragraph">Reuters on Tuesday <a href="https://www.reuters.com/world/trump-administration-drafting-ban-chinese-data-center-devices-sources-say-2026-08-04/" target="_blank" rel="noreferrer noopener">reported</a> that the US Federal Communications Commission (FCC) “is working on the measure to bar imports of new Chinese optical transceivers” and that officials hope to publish and implement it this year. </p>



<p class="wp-block-paragraph">The report, from unnamed sources, said that the official rationale is “to prevent Chinese firms from stealing data, installing malware or disrupting service at US data centers.” The sources did, however, stress that such a ban could still be modified or shelved.</p>



<h2 class="wp-block-heading">A valid concern</h2>



<p class="wp-block-paragraph">Analysts and consultants agree that the concern, albeit hypothetical at the moment, is valid. </p>



<p class="wp-block-paragraph">If implemented, such a ban would have a severe impact on data center (DC) strategies for both enterprises and hyperscalers. Although higher costs for replacement products would be all but certain, the greater concern is the lack of availability of non-Chinese transceivers and other components, regardless of price. </p>



<p class="wp-block-paragraph">A potentially even more worrying element of a ban is the need for far more sophisticated supply chain visibility. That is because many of those non-Chinese component suppliers actually use some Chinese components in their products, which means that the exact wording of any potential FCC restrictions will be critical. It will define how closely enterprises will need to examine their suppliers’ supply chains.</p>



<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, said that he thinks that an FCC ban is quite likely, because it “has run this exact playbook four times in eighteen months, against drones, routers, robots, and the July 28 inverter and robotics restrictions. The mechanism is tested, the machinery is warm.”</p>



<p class="wp-block-paragraph">If the ban is enacted, said geopolitical analyst <a href="https://www.linkedin.com/in/irina-tsukerman-4b04595/" target="_blank" rel="noreferrer noopener">Irina Tsukerman</a>, “CIOs will need to reassess vendor diversification, and other factors such as replacement compatibility, lifecycle planning and inventory management, given that many organizations have historically treated optical components as interchangeable commodities.”</p>



<p class="wp-block-paragraph">“Enterprises will also need much greater visibility into firmware development, manufacturing origin, as well as subcontractors, and software update processes, because future procurement decisions are increasingly likely to examine the entire supply chain rather than simply the company selling the finished product,” she added. This will make future procurement more complex.</p>



<h2 class="wp-block-heading">IT pain will vary</h2>



<p class="wp-block-paragraph">Tsukerman said that, although prices would certainly spike, the pain felt will vary based on the nature and size of each affected business She noted that while hyperscale operators can negotiate directly with manufacturers, secure long-term supply, and qualify multiple vendors for critical components due to their purchasing power, enterprises, regional data center operators, and colocation providers generally lack that leverage. Rather, they often depend on distributors supplying lower-cost Chinese products, making them considerably more vulnerable to price increases and delivery delays.</p>



<p class="wp-block-paragraph">Mahapatra added that the preliminary indications suggest any such ban would have a “new models only” framing that would protect the installed base while restricting the next generation of products, which, he said, would be a compromise “generous enough to mute the hyperscaler objection.”</p>



<p class="wp-block-paragraph">But, he said, “the enterprise CIO running a colocation expansion or private AI cluster is about to discover they are competing with Microsoft and Meta for the same constrained supply and losing.” </p>



<p class="wp-block-paragraph">He recommended that enterprises lock down forward optics supply for anything they plan to build through 2028 before the restriction publishes, because, he pointed out, “announced-but-not-effective bans consume non-Chinese capacity through panic buying, and buyers who move after publication pay in schedule rather than dollars.”</p>



<p class="wp-block-paragraph">However, such a move depends on how serious IT considers the cybersecurity risks from the Chinese components. Tsukerman argued that data leakage and malware fears need to be taken seriously, because modern optical transceivers often contain firmware, onboard memory, and management interfaces, and may also offer capabilities that can influence how traffic is monitored and managed throughout the data center.</p>



<p class="wp-block-paragraph">In that case, she noted, “the risk would extend beyond espionage to include compromised firmware updates, manipulation of diagnostic information, disruption of maintenance support, delayed replacement shipment, or in the worst case scenario, interference with critical infrastructure during periods of heightened political tension.”</p>



<p class="wp-block-paragraph">However, Mahapatra sees the risk quite differently.</p>



<p class="wp-block-paragraph">“A transceiver is a comparatively dumb device converting electrical signals to optical and back, not a router running a network operating system with deep packet visibility,” he said. “The near-term espionage risk from currently shipping Chinese optics is thin, and CISOs who reallocate budget toward this threat over their software supply chain and identity attack surfaces are responding to headlines rather than risk.”</p>



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



<p class="wp-block-paragraph">Consultant <a href="https://formergov.com/directory/brianlevine" target="_blank" rel="noreferrer noopener">Brian Levine</a>, executive director of FormerGov, labeled the potential US administration move as “one of the more consequential supply-chain moves the FCC has contemplated, because optical transceivers are the workhorse components that move data across fiber inside every AI data center, and Chinese vendors dominate that market.”</p>



<p class="wp-block-paragraph">He noted that Chinese vendors Innolight and Eoptolink alone reportedly account for the majority of the 800-gig modules going into Nvidia’s AI clusters, so a ban “wouldn’t be a minor substitution,” and non-Chinese alternatives such as Coherent and Lumentum in the US don’t yet have sufficient capacity to fill the gap.</p>



<p class="wp-block-paragraph"><a href="https://www.gartner.com/en/experts/nader-henein" target="_blank" rel="noreferrer noopener">Nader Henein</a>, a Gartner VP analyst, agreed, adding that since the nature of the AI data center supply chain is both complex and fragile, a small change can deliver a disproportionate industry impact.</p>



<p class="wp-block-paragraph">“If you remove one provider from the equation, it’s not as if the others have capacity to fulfil the increase in demand, so it’s not simply a question of added cost, it’s a question of placing a ceiling on capacity and growth,” he said.</p>



<p class="wp-block-paragraph">Tsukerman said that her list of the companies most likely to benefit from such an FCC ban would include Coherent, Lumentum, Applied Optoelectronics and Cisco’s Acacia business, while Broadcom and Marvell, as well as  Japanese and Taiwanese manufacturers, also provide important optical and connectivity technologies that support advanced networking infrastructure.</p>



<h2 class="wp-block-heading">Other components in the crosshairs</h2>



<p class="wp-block-paragraph">She pointed out that there is also a strong probability that a transceiver ban would quickly be followed by attacks on other components. </p>



<p class="wp-block-paragraph">Networking switches, SmartNICs, data processing units, baseboard management controllers, storage controllers, intelligent power distribution units, cooling management controllers, optical transport systems, and embedded management processors “all perform functions that could influence the operation of an entire facility if compromised,” she said. “None of these products simply passes data or delivers electricity. They manage, monitor, or control critical infrastructure, making them increasingly attractive targets for supply-chain attacks.”</p>



<p class="wp-block-paragraph">Her list of likely future US targets for restrictions also includes top-of-rack switches, spine switches, and rack management systems,.</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, echoed Henein’s fears about industry impact.</p>



<p class="wp-block-paragraph">“I think that the appropriate response to these types of risks needs to be more nuanced than just a blanket ban,” he said. “Since 15%-20% of all world’s semiconductors are manufactured in China, and that number rises to 80% or 85% if you include Taiwan, blocking Chinese imports for these components could hamper the entire datacenter industry.”</p>



<p class="wp-block-paragraph">Although there have been rumors of insecure or trojanized hardware components sourced from China in the past, given that many large American and multinational technology vendors manufacture their parts there, ”a sledgehammer approach could spike prices for these types of systems, jeopardizing development of new technologies,” he noted. “A far more reasonable approach would be to require appropriate testing and quality controls to ensure that those risks are appropriately mitigated.”</p>



<h2 class="wp-block-heading">Would likely harm the US</h2>



<p class="wp-block-paragraph">In addition, independent technology analyst <a href="https://www.linkedin.com/in/carmi/" target="_blank" rel="noreferrer noopener">Carmi Levy</a> said that he is skeptical about whether an FCC ban would ultimately be a good move for the US.</p>



<p class="wp-block-paragraph">“It’s fair to ask whether this will truly make American technology infrastructure more secure, or whether it’s little more than a performative stunt designed to score geopolitical points,” Levy said, pointing out that Canada didn’t end up any safer because of the Huawei and ZTE ban, and “no one should fool themselves into believing a Chinese data center ban in the US would be any different. It would only add further constraints to a supply chain that’s already close to collapsing under its own weight [and it] will likely harm American interests more than anyone else’s.”</p>



<p class="wp-block-paragraph">But he also concluded that such a move would likely fail, given the current global state of data center technologies. </p>



<p class="wp-block-paragraph">“Chinese suppliers and components have been so ingrained in the global technology supply chain for so long that no ban of any form could hope to have any tangible impact on so-called national security,” Levy said. “To claim otherwise exposes the true motivations of this misdirected policy strategy.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Telegram's takedown caused by planted porn & weaponized App Store policies]]></title>
<description><![CDATA[The brief removal and restoration of Telegram from the App Store was a targeted attack by a "takedown extortionist," and it's something the company's CEO says can be weaponized against other apps, too.TelegramOn Monday evening, Telegram was removed from the App Store for a number of hours, follow...]]></description>
<link>https://tsecurity.de/de/3704243/ios-mac-os/telegrams-takedown-caused-by-planted-porn-weaponized-app-store-policies/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704243/ios-mac-os/telegrams-takedown-caused-by-planted-porn-weaponized-app-store-policies/</guid>
<pubDate>Tue, 04 Aug 2026 22:17:24 +0200</pubDate>
<content:encoded><![CDATA[The brief removal and restoration of Telegram from the <a href="https://appleinsider.com/inside/app-store" title="App Store" data-kpt="1">App Store</a> was a targeted attack by a "takedown extortionist," and it's something the company's CEO says can be weaponized against other apps, too.<br><br><div><img src="https://media.appleinsider.com/gallery/68462-144248-51102-100925-telegram-xl-xl.jpg" alt="Telegram logo featuring a white paper-plane icon centered within a circular blue gradient on a solid light blue background"><br><span>Telegram</span></div><br>On Monday evening, <a href="https://appleinsider.com/articles/26/08/04/telegram-briefly-disappeared-from-the-apple-app-store-with-no-explanation">Telegram was removed</a> from the App Store for a number of hours, following a report that CSAM material was posted to it. The following day, the fallout of the event revealed it was a worse situation than first thought.<br><br>It apparently wasn't a user, but someone weaponizing Apple's policies against the app's users.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/telegrams-takedown-caused-by-planted-porn-weaponized-app-store-policies?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245163?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[AirPods Pro, AirPods Max get another iOS 27 beta firmware release]]></title>
<description><![CDATA[Apple has introduced new beta firmware for AirPods, AirPods Pro, and AirPods Max, so that developers can continue testing out inbound iOS 27 features.AirPods ProApple will be introducing a number of new features for select AirPods models this fall, as part of the iOS 27 and other 27-gen operating...]]></description>
<link>https://tsecurity.de/de/3704242/ios-mac-os/airpods-pro-airpods-max-get-another-ios-27-beta-firmware-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704242/ios-mac-os/airpods-pro-airpods-max-get-another-ios-27-beta-firmware-release/</guid>
<pubDate>Tue, 04 Aug 2026 22:17:23 +0200</pubDate>
<content:encoded><![CDATA[Apple has introduced new beta firmware for <a href="https://appleinsider.com/inside/airpods" title="AirPods" data-kpt="1">AirPods</a>, AirPods Pro, and AirPods Max, so that developers can continue testing out inbound iOS 27 features.<br><br><div><img src="https://media.appleinsider.com/gallery/68463-144249-68187-143741-67971-143293-AirPods-Pro-1-xl-xl-xl.jpg" alt="White wireless earbuds in an open charging case resting on an orange surface, with a second closed case lying behind them, all in a clean, minimalistic setting"><br><span>AirPods Pro</span></div><br>Apple will be introducing a number of new features for select AirPods models this fall, as part of the <a href="https://appleinsider.com/inside/ios-27" title="iOS 27" data-kpt="1">iOS 27</a> and other 27-gen operating system releases. Ahead of that release, it is testing out the features via beta firmware builds.<br><br>The new firmware, build 9A5336b, replaces the <a href="https://appleinsider.com/articles/26/07/07/airpods-firmware-beta-lets-developers-use-new-ios-27-features">previous build</a>, 9A5314b, which Apple seeded on July 7. It can be downloaded to the <a href="https://appleinsider.com/inside/airpods-pro-2" title="AirPods Pro 2" data-kpt="1">AirPods Pro 2</a> and AirPods Pro 3, AirPods 4, and <a href="https://appleinsider.com/inside/airpods-max" title="AirPods Max" data-kpt="1">AirPods Max 2</a>.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/airpods-pro-airpods-max-get-another-ios-27-beta-firmware-release?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245164?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘This quarter was otherworldly’: Palantir earnings surge past expectations]]></title>
<description><![CDATA[Shares soar as yearly revenue up 93%, even as opposition grows to company’s role in Trump immigration agendaIn a sea of companies reporting mixed financial results this quarter, Palantir stands out. Although Palantir was not immune to the AI jitters that caused industry-wide drops in share prices...]]></description>
<link>https://tsecurity.de/de/3704214/it-nachrichten/this-quarter-was-otherworldly-palantir-earnings-surge-past-expectations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704214/it-nachrichten/this-quarter-was-otherworldly-palantir-earnings-surge-past-expectations/</guid>
<pubDate>Tue, 04 Aug 2026 22:00:45 +0200</pubDate>
<content:encoded><![CDATA[<p>Shares soar as yearly revenue up 93%, even as opposition grows to company’s role in Trump immigration agenda</p><p>In a sea of companies reporting mixed financial results this quarter, <a href="https://www.theguardian.com/technology/palantir">Palantir</a> stands out. Although Palantir was not immune to the AI jitters that caused industry-wide drops in share prices earlier this year, the AI and analytics company reported that its overall revenue grew 93% year over year to $1.94bn. That’s well over the $1.8bn Wall Street expected Palantir to bring in for the second quarter.</p><p>The glowing financials sparked a 10% surge in share prices in the immediate aftermath. Despite growing <a href="https://www.theguardian.com/commentisfree/2026/jul/15/palantir-british-state-political-access-us-tech-firm-nhs">opposition</a> to Palantir’s <a href="https://www.theguardian.com/news/audio/2025/dec/09/palantir-the-worlds-scariest-company-podcast">work</a> with various governments including the crucial role the company plays in the Trump administration’s <a href="https://www.theguardian.com/us-news/ng-interactive/2025/sep/22/ice-palantir-data">immigration</a> agenda, the company’s revenue from US government contracts grew 90% year over year to $809m.</p> <a href="https://www.theguardian.com/us-news/2026/aug/03/palantir-second-quarter-earnings">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘This quarter was otherworldly’: Palantir earnings surge past expectations]]></title>
<description><![CDATA[Shares soar as yearly revenue up 93%, even as opposition grows to company’s role in Trump immigration agendaIn a sea of companies reporting mixed financial results this quarter, Palantir stands out. Although Palantir was not immune to the AI jitters that caused industry-wide drops in share prices...]]></description>
<link>https://tsecurity.de/de/3704203/ai-nachrichten/this-quarter-was-otherworldly-palantir-earnings-surge-past-expectations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704203/ai-nachrichten/this-quarter-was-otherworldly-palantir-earnings-surge-past-expectations/</guid>
<pubDate>Tue, 04 Aug 2026 21:32:31 +0200</pubDate>
<content:encoded><![CDATA[<p>Shares soar as yearly revenue up 93%, even as opposition grows to company’s role in Trump immigration agenda</p><p>In a sea of companies reporting mixed financial results this quarter, <a href="https://www.theguardian.com/technology/palantir">Palantir</a> stands out. Although Palantir was not immune to the AI jitters that caused industry-wide drops in share prices earlier this year, the AI and analytics company reported that its overall revenue grew 93% year over year to $1.94bn. That’s well over the $1.8bn Wall Street expected Palantir to bring in for the second quarter.</p><p>The glowing financials sparked a 10% surge in share prices in the immediate aftermath. Despite growing <a href="https://www.theguardian.com/commentisfree/2026/jul/15/palantir-british-state-political-access-us-tech-firm-nhs">opposition</a> to Palantir’s <a href="https://www.theguardian.com/news/audio/2025/dec/09/palantir-the-worlds-scariest-company-podcast">work</a> with various governments including the crucial role the company plays in the Trump administration’s <a href="https://www.theguardian.com/us-news/ng-interactive/2025/sep/22/ice-palantir-data">immigration</a> agenda, the company’s revenue from US government contracts grew 90% year over year to $809m.</p> <a href="https://www.theguardian.com/us-news/2026/aug/03/palantir-second-quarter-earnings">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI says Apple ‘is getting this wrong’ in response to trade secrets lawsuit]]></title>
<description><![CDATA[OpenAI has published its most detailed response yet to Apple's lawsuit accusing the company of stealing hardware trade secrets, pushing back against several of Apple's claims and arguing that the case is based on false information. 



Nearly a month after Apple filed its complaint, OpenAI releas...]]></description>
<link>https://tsecurity.de/de/3704194/ios-mac-os/openai-says-apple-is-getting-this-wrong-in-response-to-trade-secrets-lawsuit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704194/ios-mac-os/openai-says-apple-is-getting-this-wrong-in-response-to-trade-secrets-lawsuit/</guid>
<pubDate>Tue, 04 Aug 2026 21:29:38 +0200</pubDate>
<content:encoded><![CDATA[OpenAI has published its most detailed response yet to Apple's lawsuit accusing the company of stealing hardware trade secrets, pushing back against several of Apple's claims and arguing that the case is based on false information. 



Nearly a month after Apple filed its complaint, OpenAI released a lengthy blog post explaining its side of the dispute, sharing email exchanges and defending former Apple executives who now work at the company.



Apple filed the lawsuit on July 10, alleging that former Apple employees took confidential information to help OpenAI's hardware efforts. Since then, OpenAI has issued a few brief statements denying the allegations, but its latest blog post marks the first time it has responded point by point while also publishing supporting documents and screenshots.



OpenAI strongly criticized Apple's legal approach and claimed the company never properly raised the specific concerns before filing the lawsuit.




"Apple is one of the greatest companies of all time, and built a reputation for obsessing over the smallest details. This careless, aggressive and oddly personal lawsuit sadly doesn't live up to that reputation."




OpenAI disputes Apple's claims and defends former employees



OpenAI also challenged Apple's timeline, saying Apple incorrectly claimed it had contacted the company before filing the lawsuit. According to OpenAI, Apple's lawyers initially emailed the wrong person and later admitted that its General Counsel never had the conversation Apple originally described.



OpenAI added that Apple told the company it was "resolving any issues" before remaining silent for several months and then filing the lawsuit.




"Apple had claimed that they contacted OpenAI in February and that we didn't respond. They now admit that their outside lawyers emailed the wrong person after confusing two Asian last names... We then heard nothing for five months until they sued."




The company also addressed Apple's allegations involving former Apple engineer Chang Liu, arguing that any continued access to Apple systems resulted from Apple's own account management practices after employees left the company.



OpenAI said Apple employees even contacted Liu after his departure and asked him to help locate certain information, adding that Apple later described the issue as "residual access."



Another major part of Apple's lawsuit focuses on former Apple executive Tang Tan, who spent more than two decades leading hardware development before joining OpenAI. The company defended Tan's conduct and said he consistently instructed his team not to use confidential information from previous employers.




"Tang has always been clear with the team that we do not want, and must not use, any confidential information from other companies."




OpenAI concluded its response by saying it would have welcomed discussions with Apple before the lawsuit and remains willing to resolve the dispute. The company also rejected Apple's request for a preliminary injunction, saying it neither possesses nor wants Apple's trade secrets because its focus remains on developing its own products and technologies.



The legal dispute now moves into the next stage as Apple continues pursuing its claims while OpenAI publicly challenges both Apple's timeline and several key allegations contained in the lawsuit.]]></content:encoded>
</item>
<item>
<title><![CDATA[Moo! LoRaWAN makes it easier to connect more things to the low power networking protocol—even cattle]]></title>
<description><![CDATA[The growth of AI across all sectors has led to an increased demand to connect even more things. That’s an area where LoRaWAN, the low-power networking protocol, is making significant inroads as all manner of industries are trying to bridge the gap between the physical world and the digital one. 
...]]></description>
<link>https://tsecurity.de/de/3704102/it-security-nachrichten/moo-lorawan-makes-it-easier-to-connect-more-things-to-the-low-power-networking-protocol-even-cattle/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704102/it-security-nachrichten/moo-lorawan-makes-it-easier-to-connect-more-things-to-the-low-power-networking-protocol-even-cattle/</guid>
<pubDate>Tue, 04 Aug 2026 20:40:23 +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 growth of AI across all sectors has led to an increased demand to connect even more things. That’s an area where LoRaWAN, the low-power networking protocol, is making significant inroads as all manner of industries are trying to bridge the gap between the physical world and the digital one. </p>



<p class="wp-block-paragraph">LoRaWAN now connects more than<a href="https://www.networkworld.com/article/4134645/lorawan-reaches-125-million-devices-as-industrial-iot-expands.html"> 125 million devices worldwide</a> and is increasingly adding deployments that might seem unexpected to the average person. LoRa Alliance CEO <a href="https://www.linkedin.com/in/alperyegin/">Alper Yegin</a> pointed to livestock monitoring as one example, citing a member company running more than 1 million solar-powered, LoRaWAN-connected cattle collars. </p>



<p class="wp-block-paragraph">The <a href="https://lora-alliance.org/">LoRa Alliance</a> is now publishing two new specifications and one technical guidance document. Together they target a pair of persistent deployment problems: manual device onboarding and coverage gaps in hard-to-reach locations. </p>



<ul class="wp-block-list">
<li><strong>TS014</strong>: An API that lets a network automatically pull a new device’s capability profile from a centralized server instead of requiring manual configuration.</li>



<li><strong>TS018</strong>: A QR code format, printed on the device or its packaging, that encodes the device ID and points the network to the correct profile server.</li>



<li><strong>TR016</strong>: Technical guidance for building and deploying LoRaWAN Relay, a battery-operated range extender for locations a gateway cannot economically reach.</li>
</ul>



<p class="wp-block-paragraph">The three updates share a common thread. “Whether it’s by easing the onboarding hassle or by extending coverage at super low cost, they’re all about scaling, and that’s where we are heading,” Yegin told <em>Network World</em>.</p>



<h2 class="wp-block-heading">TS014 automates device profile discovery</h2>



<p class="wp-block-paragraph">Every device joining a LoRaWAN network needs to declare its capabilities. That includes attributes such as multicast support and which specification version it uses, bundled into what the alliance calls a device profile. Historically, suppliers shared that information over email or a downloadable file. Network operators then installed it manually.</p>



<p class="wp-block-paragraph">TS014 replaces that manual step with an API. When a device is provisioned, the network queries a centralized repository directly instead of relying on a file someone typed in by hand.</p>



<p class="wp-block-paragraph">The mechanism reflects a deliberate design choice in how LoRaWAN handles discovery. Wi-Fi and cellular networks negotiate device capabilities through an over-the-air handshake when a device joins. LoRaWAN avoids exchanging that information over the radio link at all.</p>



<p class="wp-block-paragraph">Yegin emphasized that LoRaWAN prioritizes low power consumption. An on-air conversation for discovery like what Wi-Fi and cellular use would drain battery life and consume shared channel capacity. </p>



<p class="wp-block-paragraph">“Instead, the whole discovery takes place between the network and some other server in the cloud on the backend side, not over the air, because any messaging over the air would drain the battery of the end device and also would keep the channels busy,” Yegin said.</p>



<h2 class="wp-block-heading">TS018 gives the network a starting point</h2>



<p class="wp-block-paragraph">TS014 still requires the network to know where to find a given device’s profile. TS018 supplies that reference point. </p>



<p class="wp-block-paragraph">The spec defines a QR code format, placed on the device or its packaging. It encodes the device’s unique ID along with the address of the server holding its capability profile.</p>



<p class="wp-block-paragraph">Scanning that code gives the network what it needs to fetch the profile through TS014. An operator can scan devices one at a time or import codes in bulk during a large deployment. Either way, provisioning completes without a manual lookup step.</p>



<h2 class="wp-block-heading">TR016 extends coverage into locations gateways cannot reach</h2>



<p class="wp-block-paragraph">A base station cannot always reach an end device directly, whether the sensor sits underground, inside a building’s inner shaft or at the bottom of a well. “These are extremely challenging RF places that you cannot directly reach from base stations down to the sensor,” Yegin said.</p>



<p class="wp-block-paragraph">LoRaWAN Relay addresses that gap, providing a range extender capability. A relay node picks up the LoRaWAN frame from the end device and forwards it to the base station, using LoRaWAN on both the device-facing and network-facing side.</p>



<p class="wp-block-paragraph">Relay itself is not new. TR016 adds technical guidance for the device makers and network operators building on it. That includes constraints on how many devices a single relay can support, a limit driven by keeping relay hardware cheap enough to run on batteries. It also includes recommendations for when a relay makes more sense than deploying an additional base station.</p>



<h2 class="wp-block-heading">What comes next</h2>



<p class="wp-block-paragraph">The new specifications are one part of a larger effort to further expand LoRaWAN.  Yegin said there are three primary dimensions:</p>



<ul class="wp-block-list">
<li><strong>Industrial applications</strong>: The alliance has formed a joint working group with the OPC Foundation to standardize how OPC industrial applications run over LoRaWAN.</li>



<li><strong>Satellite connectivity</strong>: The alliance is developing network discovery enhancements for low Earth orbit satellite connectivity.</li>



<li><strong>Mobile base station discovery</strong>: Improvements to walk-by and drive-by reading would let end devices detect a passing mobile base station and transmit uplink data in a timelier manner.</li>
</ul>



<p class="wp-block-paragraph">“Our vision is to turn LoRaWAN into a utility, meaning it’ll be ubiquitously available and plug and play, and it’ll also become the default connectivity for everyday things,” Yegin said.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Staff lottery reveals Apple's first-half September event plans]]></title>
<description><![CDATA[Apple is opening a lottery for U.S. retail employees to staff its next major product event, bringing store workers into preparations for the company's biggest launch of the year.An internal memo viewed by Bloomberg invited U.S. retail employees to enter a lottery to help staff the in-person event...]]></description>
<link>https://tsecurity.de/de/3704032/ios-mac-os/staff-lottery-reveals-apples-first-half-september-event-plans/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704032/ios-mac-os/staff-lottery-reveals-apples-first-half-september-event-plans/</guid>
<pubDate>Tue, 04 Aug 2026 20:06:53 +0200</pubDate>
<content:encoded><![CDATA[Apple is opening a lottery for U.S. retail employees to staff its next major product event, bringing store workers into preparations for the company's biggest launch of the year.<br><br>An internal memo viewed by <em>Bloomberg</em> invited U.S. retail employees to enter a lottery to help staff the in-person event. Selected workers will greet and check in guests, organize lines, provide directions and support security teams.<br><br>Applications close August 8, and Apple will notify selected employees by August 17. Workers who participated in <a href="https://appleinsider.com/inside/wwdc" title="WWDC" data-kpt="1">WWDC</a> 2026 or the 2025 <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> launch aren't eligible.<br><br><div><img src="https://media.appleinsider.com/gallery/68461-144247-iPhone-18-Pro-Max-small-Dynamic-Island-xl.jpg" alt="Close-up of a modern smartphone lock screen showing large white digital time 12:55, date Fri Jan 23, and a cloudy sky wallpaper, with visible WiFi and battery icons at the top."><span>iPhone 18 concept image</span></div><br>Retail employees have supported major <a href="https://appleinsider.com/inside/apple-event" title="Apple Event" data-kpt="1">Apple Events</a> for years, so the staffing program itself isn't new. The memo is notable because Apple gave workers a launch window before publicly announcing the event.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/staff-lottery-reveals-apples-first-half-september-event-plans?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245162?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Says More Ex-Employees May Have Taken Confidential Data to OpenAI]]></title>
<description><![CDATA[Apple is now seeking a preliminary injunction to prevent OpenAI and Jony Ive's io startup from developing AI hardware allegedly based on stolen Apple trade secrets. "The iPhone maker also claims that more of its former employees may be involved with the trade secrets theft," reports TechCrunch. F...]]></description>
<link>https://tsecurity.de/de/3703991/it-security-nachrichten/apple-says-more-ex-employees-may-have-taken-confidential-data-to-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703991/it-security-nachrichten/apple-says-more-ex-employees-may-have-taken-confidential-data-to-openai/</guid>
<pubDate>Tue, 04 Aug 2026 19:39:15 +0200</pubDate>
<content:encoded><![CDATA[Apple is now seeking a preliminary injunction to prevent OpenAI and Jony Ive's io startup from developing AI hardware allegedly based on stolen Apple trade secrets. "The iPhone maker also claims that more of its former employees may be involved with the trade secrets theft," reports TechCrunch. From the report: In a new filing, Apple is requesting expedited discovery from the accused OpenAI employees, senior systems engineer Chang Liu and Chief Hardware Officer Tang Yew Tan; OpenAI, and its foundation; and io, the device startup co-founded by Apple's former lead designer Jony Ive. Apple also notes that its continued investigation has so far revealed 11 other former Apple employees beyond Liu and Tan may have been witnesses or otherwise involved in the case, and others who were previously named in the original complaint, like OpenAI employee Yu-Ting Peng.
 
The filing marks an escalation in Apple's legal battle with OpenAI, as it suggests Apple has uncovered new evidence that the misconduct goes beyond the former employees named in the original complaint. "For example, another former Apple employee seems to have met with Mr. Liu and Ms. Peng in advance of Ms. Peng's interview at OpenAI and discussed with them during that meeting Apple proprietary information relating to unannounced products," the filing states. "Yet another former Apple employee took screenshots of confidential Apple documents relating to an unannounced Apple product before an interview at OpenAI."
 
"And, after Apple filed its complaint, multiple former Apple employees now working at OpenAI reached out to discuss returning Apple-issued work devices they kept when they left Apple," Apple claims, suggesting there were more who were possibly involved with the scheme. Apple is pushing the court to allow for expedited discovery because it believes it has good cause to suspect that there are others involved in the theft of its intellectual property. The company noted that its motion for a preliminary injunction is also pending. Apple's request for a preliminary injunction is "both based on false information and completely unnecessary because we do not have, nor want, any of their trade secrets," said OpenAI in a blog post.
 
"We're much more interested in building innovative products and technologies that push the frontier," OpenAI's statement reads.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Apple+Says+More+Ex-Employees+May+Have+Taken+Confidential+Data+to+OpenAI%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F04%2F1719218%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%2F04%2F1719218%2Fapple-says-more-ex-employees-may-have-taken-confidential-data-to-openai%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/08/04/1719218/apple-says-more-ex-employees-may-have-taken-confidential-data-to-openai?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI coding agents are blowing through budgets — Replit, Kilo Code, and Symbotic explain how they're managing it]]></title>
<description><![CDATA[At Kilo Code, engineers are reading or writing code themselves only about 1% of the time now, according to co-founder Emilie Schario — the rest is agents. That shift is forcing new questions onto dev teams: which systems are safe to hand over, who cleans up when models goof up, how to support mul...]]></description>
<link>https://tsecurity.de/de/3703986/it-nachrichten/ai-coding-agents-are-blowing-through-budgets-replit-kilo-code-and-symbotic-explain-how-theyre-managing-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703986/it-nachrichten/ai-coding-agents-are-blowing-through-budgets-replit-kilo-code-and-symbotic-explain-how-theyre-managing-it/</guid>
<pubDate>Tue, 04 Aug 2026 19:32:13 +0200</pubDate>
<content:encoded><![CDATA[<p>At Kilo Code, engineers are reading or writing code themselves only about 1% of the time now, according to co-founder Emilie Schario — the rest is agents. That shift is forcing new questions onto dev teams: which systems are safe to hand over, who cleans up when models goof up, how to support multi-model architectures, and whether skyrocketing token bills mean real progress or just burned IT budget.</p><p>As far as tech leads from Replit, Kilo Code, and Symbotic are concerned, it’s a natural — and welcome — evolution as agentic AI becomes embedded into more and more enterprise workflows. </p><p>“Unless something's really broken or debugging, 99% of the time engineers are not reading or writing code anymore,” Emilie Schario, co-founder of Kilo Code, said at <a href="https://venturebeat.com/vbtransform2026">VB Transform 2026</a>. </p><div></div><h2>AI good at greenfield, not so great at brownfield</h2><p>For Jared Go, distinguished engineer for AI and cloud at warehouse automation company Symbotic, the current moment is about directing the focus of AI. "These are my criteria," he said. "Let's look at it from the lens of security, elegance, clean, concise code, water tightness." That way, AI does most of the heavy lifting, and human code review isn't as critical.</p><p>Human involvement becomes necessary further down the line, Go noted, because agents don't make strong product decisions. “Greenfield [building brand new codebases] is so easy for agents. Brownfield [writing, updating, or maintaining existing code] we all know is where the actual challenge lies.” </p><p>Replit takes a bit of a different tack: While the company has "gone very agentic," they've been more conservative with AI coding, explained Amol Jain, head of product engineering. An agent reviews each pull request (PR) and assigns it a risk score; low-risk PRs are self-merged by their author, while others go to human reviewers who read the code and give feedback.</p><p>“The idea was human on the loop, not human in the loop,” Jain said. Replit’s internal tool is essentially self-driving for software engineers; devs give a task to agents, which do end to end planning, implementation, and testing. </p><p>“It's a fleet of agents that run in their own cloud virtual machines (VMs) with access controls behind token proxies so they're secure,” Jain said. </p><p>He shared one example where an engineer couldn’t repro or solve a “very gnarly bug” deep in its systems. It was sent to an AI manager agent, which told it to go to sleep. The manager agent then spun up a bunch of underlying agents that found the issue; it subsequently spun up a bunch more agents that found the fix. Six hours later, AI had a PR ready for the bug that had puzzled human engineers. </p><h2>Multi-model is the future </h2><p>AI providers are also evolving beyond the lock-in model, as customers increasingly demand multi-model choice. </p><p>Kilo Code, for its part, supports 500-plus models in its gateway. "Your software that you're using to do agentic engineering should be decoupled from the model that you're using to do it," Schario said.</p><p>For instance, Schario said companies often use expensive frontier-tier models to architect a project, then switch to a less expensive open-weight model for the rest of the work.</p><p>It’s also important to respect model provider limitations, such as when they need to work in closed or isolated environments or providers in their specific regions. “It's factoring in what's important to you, what limitations you've set, what data retention policies you've established, what keys you've brought in, what commits you might have … into that routing decision,” Schario said. </p><p>Replit, similarly, tends to have a better sense of the cost versus capability spectrum than its customers, Jain contended. “We are essentially making the decisions on users' behalf of what model to use when, in what capacity, to minimize cost and maximize capability.”</p><h2>To tokenmaxx or not to tokenmaxx</h2><p>Of course, an important consideration as AI adoption increases is runaway costs, which has led to some enterprises tracking and capping AI use through tokenmaxxing.</p><p>Concerns come from both sides, Schario said: internally and from customers. From the latter, she's hearing, "I accidentally spent my whole AI budget for the year … so what do I do now?" In response, Schario said Kilo Code points customers to the same workflow: use expensive models for planning, then open-weight models for affordability.</p><p>Further, sharing skills, strong guidance, and Model Context Protocol (MCP) will empower models. “Realizing where you can really uplevel your team to help them get the most out of the models they're using is going to make a big difference,” Schario said. </p><p>Internally, meanwhile, Schario noted one particular engineer that has a "heavy foot" and is constantly at the top of the usage board. "I regularly have to nudge, 'What are you doing there?'" she said. It's easy to look at a $600 bill for daily work and react, "Wow, that's so much," but looking at the amount of work completed can sometimes justify the cost.</p><p>“Cost per pull request is the metric that I'm paying attention to right now,” Schario said. “It feels like the closest proximity for how I can measure value.” Ultimately, AI changes how enterprises are thinking about ROI because spend is not the problem. “The spend with no return on that spend is the problem.” </p><p>Symbotic, for its part, has set per-month cost tiers for its employees. The company built a tool that gives managers visibility into PRs and usage trends. They can then move users up or down a tier as they see fit, Go explained. “Having a cap and seeing how many people went up in cap this month makes a big difference when you're trying to corral these costs and make things efficient,” Go said. </p><p>When Cursor — which Symbotic uses heavily — ended a legacy discount that had grandfathered the company into a flat per-request rate even for frontier models, and moved everyone to full pricing, it forced a company-wide reckoning on efficiency, Go said. "People were saying, 'You should try this model … This works better for this C# code, this whatever,'" he said.</p><p>But the cost problem is increasingly moving out of IT; Replit, for one, broadened agents beyond engineering, and eventually found that a user on the support side had "blown through an insane amount of money," Jain said. When they looked under the hood, they figured out it was because they were running an automation on GPT 5.5 Pro Max.</p><p>“At least till that point, the ROI was rather clear,” Jain said. “We could see engineering productivity 3X, so no one had questioned it yet.” </p><p>Visibility that isn’t “anti-productive,” model routing, and sensible defaults are critical, he emphasized. “Most tasks do not need the frontier.”</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Apple is one of the greatest companies of all time,’ says OpenAI]]></title>
<description><![CDATA[In an open letter, OpenAI this week turned to the court of public opinion in its existential war against Apple with a public notice in which the company refutes the iPhone maker’s claims concerning wholesale use of confidential information.



You can detect the depth of enmity between both firms...]]></description>
<link>https://tsecurity.de/de/3703964/it-nachrichten/apple-is-one-of-the-greatest-companies-of-all-time-says-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703964/it-nachrichten/apple-is-one-of-the-greatest-companies-of-all-time-says-openai/</guid>
<pubDate>Tue, 04 Aug 2026 19:11: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">In an <a href="https://openai.com/index/apple-is-getting-this-wrong/" target="_blank" rel="noreferrer noopener">open letter</a>, OpenAI this week turned to the court of public opinion in its existential <a href="https://www.computerworld.com/article/4195828/rotten-to-its-core-apple-files-an-explosive-lawsuit-against-openai.html">war against Apple</a> with a public notice in which the company refutes the iPhone maker’s claims concerning wholesale use of confidential information.</p>



<p class="wp-block-paragraph">You can detect the depth of enmity between both firms in OpenAI’s opening lines to its letter, which begins: “Apple is one of the greatest companies of all time,” and then moves swiftly into defending itself against company’s claims, while attempting to characterize Apple’s complaints as weak.</p>



<h2 class="wp-block-heading"><strong>What Apple claimed</strong></h2>



<p class="wp-block-paragraph">As <a href="https://www.computerworld.com/article/4195828/rotten-to-its-core-apple-files-an-explosive-lawsuit-against-openai.html">reported elsewhere</a>, Apple filed suit against OpenAI in the US District Court for the Northern District of California on July 10. The litigation names OpenAI Foundation, OpenAI Group PBC, io Products, Chang Liu (former senior systems electrical engineer), and Tang Yew Tan (former vice president of product design for iPhone and Apple Watch, now OpenAI’s chief hardware officer), and alleges breach of intellectual property agreement and misappropriation of trade secrets under the Defend Trade Secrets Act. The company has since then <a href="https://www.computerworld.com/article/4198342/apple-widens-openai-trade-secrets-fight-with-preservation-orders.html">filed preservation orders</a> to protect evidence. </p>



<p class="wp-block-paragraph">Apple’s complaint is more detailed than that. Among many other things, it claims Tan allegedly directed job candidates still at Apple to bring “actual parts” to interviews for “show and tell” sessions. It also alleges Tan distributed an internal Apple document describing Apple’s own departure security protocols to new hires before they resigned. Liu is separately accused of failing to return an Apple laptop and using it to download confidential technical documents.</p>



<h2 class="wp-block-heading"><strong>OpenAI’s rebuttal</strong></h2>



<p class="wp-block-paragraph">Now, OpenAI argues Apple’s trade-secret lawsuit is based on factual errors, poor communication and misleading claims. It says Apple mistakenly contacted the wrong OpenAI lawyer after confusing two people with the same surname, falsely claimed a phone call had occurred, then acknowledged both mistakes without raising the allegations later included in the lawsuit. (Apple says it sent OpenAI a warning letter back in February with no response, which undercuts OpenAI’s “we offered to resolve this before litigation” statement.)</p>



<p class="wp-block-paragraph">OpenAI argues that Chang Liu was responding to requests from Apple colleagues seeking help locating Apple files, reflecting Apple’s own access-management failures rather than misconduct. It also claims Tan consistently instructed OpenAI staff not to seek or use competitors’ confidential information. OpenAI maintains it neither possesses nor wants Apple’s trade secrets, offered to resolve concerns before litigation, and finally argues that Apple’s request for a preliminary injunction is unnecessary and unsupported.</p>



<h2 class="wp-block-heading"><strong>What Apple might actually argue</strong></h2>



<p class="wp-block-paragraph">Will Apple see it the same way? That seems unlikely, in part due to the extent of the claimed infractions. Apple will point to the hundreds of former Apple employees now at OpenAI, including former Chief Designer Jony Ive. In doing so, it will likely argue that the remit of the case is not defined by erroneous legal correspondence, though that is probably seen as an error. Instead, the substantial claims it’s likely to focus on are that OpenAI has been engaged in a multi-front attempt to accumulate information pertaining to Apple and its design processes through recruitment and the way it recruits.</p>



<p class="wp-block-paragraph">It’s feasible both arguments have some validity. OpenAI might be right in pointing out weaknesses in Apple’s own approach to internal communications in terms of secrecy. And Apple is correct in pointing out that OpenAI moved to abuse those vulnerabilities, weaknesses in its approach that have only been identified during OpenAI’s campaign to grab secrets.</p>



<p class="wp-block-paragraph">While the Apple lawyer’s error in approaching OpenAI might be an unforced error that helps the AI firm cast doubt on Apple’s claims, it doesn’t necessarily invalidate them — and  both sides believe themselves to be justified. Deciding which company is in the right will be a matter of law and not of public opinion.</p>



<h2 class="wp-block-heading"><strong>Which side does the smoking gun face?</strong></h2>



<p class="wp-block-paragraph">To prove its position, OpenAI shared some correspondence. These communications do seem to show a failure at Apple to properly implement device management over employee accounts, including the claim that personal iMessage accounts are routinely used to share corporate correspondence. That may be true, and shouldn’t be – it’s an obvious weakness in corporate security.</p>



<p class="wp-block-paragraph">At the same time, the correspondence also shows hints of job opportunities at OpenAI for and to a former colleague, which kind of proves part of Apple’s point in terms of steady employee poaching. “I can always give you some fun side projects,” one message said. </p>



<p class="wp-block-paragraph">Of course, interaction between former colleagues is inevitable,. But at the level of seniority here, it feels plausible this could be in breach of any off-ramping arrangements reached between Apple and its former employees. No doubt, courts will decide that – though it does underline Apple’s claims that OpenAI instructed former Apple staffers about how to leave without reaching such agreements.</p>



<p class="wp-block-paragraph">“This isn’t Apple getting it wrong. It is OpenAI getting caught with its hand in the hardware cookie jar and then writing a blog post about how the jar was left unlocked,” US tech thought leader <a href="https://x.com/BrianRoemmele/status/2084524006812815451?s=20" data-type="link" data-id="https://x.com/BrianRoemmele/status/2084524006812815451?s=20" target="_blank" rel="noreferrer noopener">Brian Roemmele wrote on X</a>.</p>



<h2 class="wp-block-heading"><strong>Where happens next?</strong></h2>



<p class="wp-block-paragraph">Ultimately, what comes next is up to Apple and OpenAI. The two companies might reach a deal out of court, or be forced into an agreement by the legal system. The existential nature of the rivalry suggests the latter, rather than former.</p>



<p class="wp-block-paragraph">It is also very telling that OpenAI, which now has more than 400 former Apple employees on its teams, including many former designers, also claims: “Apple’s request for a preliminary injunction is both based on false information and completely unnecessary because we do not have, nor want, any of their trade secrets. We’re much more interested in building innovative products and technologies that push the frontier.”</p>



<p class="wp-block-paragraph">While Apple hasn’t yet responded, it will be interesting to see whether whatever hardware OpenAI ships looks and behaves like any released or unreleased Apple products; the latter will now be able to bring details of its own historical project design decisions — and the people who made them — to court.</p>



<p class="wp-block-paragraph">I think this case will play out over time. Perhaps the most interesting question is whether OpenAI has taken what it knows about Apple to create its own internal product design and development LLM models. Would that use be legitimate? It would, after all, not be the first time an AI company has trained its models on <a href="https://goodlawproject.org/ai-giants-are-stealing-our-creative-work/" target="_blank" rel="noreferrer noopener">other people’s creative energy</a>.</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[‘Apple is one of the greatest companies of all time,’ says OpenAI]]></title>
<description><![CDATA[In an open letter, OpenAI this week turned to the court of public opinion in its existential war against Apple with a public notice in which the company refutes the iPhone maker’s claims concerning wholesale use of confidential information.



You can detect the depth of enmity between both firms...]]></description>
<link>https://tsecurity.de/de/3703957/ai-nachrichten/apple-is-one-of-the-greatest-companies-of-all-time-says-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703957/ai-nachrichten/apple-is-one-of-the-greatest-companies-of-all-time-says-openai/</guid>
<pubDate>Tue, 04 Aug 2026 19:06: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">In an <a href="https://openai.com/index/apple-is-getting-this-wrong/" target="_blank" rel="noreferrer noopener">open letter</a>, OpenAI this week turned to the court of public opinion in its existential <a href="https://www.computerworld.com/article/4195828/rotten-to-its-core-apple-files-an-explosive-lawsuit-against-openai.html">war against Apple</a> with a public notice in which the company refutes the iPhone maker’s claims concerning wholesale use of confidential information.</p>



<p class="wp-block-paragraph">You can detect the depth of enmity between both firms in OpenAI’s opening lines to its letter, which begins: “Apple is one of the greatest companies of all time,” and then moves swiftly into defending itself against company’s claims, while attempting to characterize Apple’s complaints as weak.</p>



<h2 class="wp-block-heading"><strong>What Apple claimed</strong></h2>



<p class="wp-block-paragraph">As <a href="https://www.computerworld.com/article/4195828/rotten-to-its-core-apple-files-an-explosive-lawsuit-against-openai.html">reported elsewhere</a>, Apple filed suit against OpenAI in the US District Court for the Northern District of California on July 10. The litigation names OpenAI Foundation, OpenAI Group PBC, io Products, Chang Liu (former senior systems electrical engineer), and Tang Yew Tan (former vice president of product design for iPhone and Apple Watch, now OpenAI’s chief hardware officer), and alleges breach of intellectual property agreement and misappropriation of trade secrets under the Defend Trade Secrets Act. The company has since then <a href="https://www.computerworld.com/article/4198342/apple-widens-openai-trade-secrets-fight-with-preservation-orders.html">filed preservation orders</a> to protect evidence. </p>



<p class="wp-block-paragraph">Apple’s complaint is more detailed than that. Among many other things, it claims Tan allegedly directed job candidates still at Apple to bring “actual parts” to interviews for “show and tell” sessions. It also alleges Tan distributed an internal Apple document describing Apple’s own departure security protocols to new hires before they resigned. Liu is separately accused of failing to return an Apple laptop and using it to download confidential technical documents.</p>



<h2 class="wp-block-heading"><strong>OpenAI’s rebuttal</strong></h2>



<p class="wp-block-paragraph">Now, OpenAI argues Apple’s trade-secret lawsuit is based on factual errors, poor communication and misleading claims. It says Apple mistakenly contacted the wrong OpenAI lawyer after confusing two people with the same surname, falsely claimed a phone call had occurred, then acknowledged both mistakes without raising the allegations later included in the lawsuit. (Apple says it sent OpenAI a warning letter back in February with no response, which undercuts OpenAI’s “we offered to resolve this before litigation” statement.)</p>



<p class="wp-block-paragraph">OpenAI argues that Chang Liu was responding to requests from Apple colleagues seeking help locating Apple files, reflecting Apple’s own access-management failures rather than misconduct. It also claims Tan consistently instructed OpenAI staff not to seek or use competitors’ confidential information. OpenAI maintains it neither possesses nor wants Apple’s trade secrets, offered to resolve concerns before litigation, and finally argues that Apple’s request for a preliminary injunction is unnecessary and unsupported.</p>



<h2 class="wp-block-heading"><strong>What Apple might actually argue</strong></h2>



<p class="wp-block-paragraph">Will Apple see it the same way? That seems unlikely, in part due to the extent of the claimed infractions. Apple will point to the hundreds of former Apple employees now at OpenAI, including former Chief Designer Jony Ive. In doing so, it will likely argue that the remit of the case is not defined by erroneous legal correspondence, though that is probably seen as an error. Instead, the substantial claims it’s likely to focus on are that OpenAI has been engaged in a multi-front attempt to accumulate information pertaining to Apple and its design processes through recruitment and the way it recruits.</p>



<p class="wp-block-paragraph">It’s feasible both arguments have some validity. OpenAI might be right in pointing out weaknesses in Apple’s own approach to internal communications in terms of secrecy. And Apple is correct in pointing out that OpenAI moved to abuse those vulnerabilities, weaknesses in its approach that have only been identified during OpenAI’s campaign to grab secrets.</p>



<p class="wp-block-paragraph">While the Apple lawyer’s error in approaching OpenAI might be an unforced error that helps the AI firm cast doubt on Apple’s claims, it doesn’t necessarily invalidate them — and  both sides believe themselves to be justified. Deciding which company is in the right will be a matter of law and not of public opinion.</p>



<h2 class="wp-block-heading"><strong>Which side does the smoking gun face?</strong></h2>



<p class="wp-block-paragraph">To prove its position, OpenAI shared some correspondence. These communications do seem to show a failure at Apple to properly implement device management over employee accounts, including the claim that personal iMessage accounts are routinely used to share corporate correspondence. That may be true, and shouldn’t be – it’s an obvious weakness in corporate security.</p>



<p class="wp-block-paragraph">At the same time, the correspondence also shows hints of job opportunities at OpenAI for and to a former colleague, which kind of proves part of Apple’s point in terms of steady employee poaching. “I can always give you some fun side projects,” one message said. </p>



<p class="wp-block-paragraph">Of course, interaction between former colleagues is inevitable,. But at the level of seniority here, it feels plausible this could be in breach of any off-ramping arrangements reached between Apple and its former employees. No doubt, courts will decide that – though it does underline Apple’s claims that OpenAI instructed former Apple staffers about how to leave without reaching such agreements.</p>



<p class="wp-block-paragraph">“This isn’t Apple getting it wrong. It is OpenAI getting caught with its hand in the hardware cookie jar and then writing a blog post about how the jar was left unlocked,” US tech thought leader <a href="https://x.com/BrianRoemmele/status/2084524006812815451?s=20" data-type="link" data-id="https://x.com/BrianRoemmele/status/2084524006812815451?s=20" target="_blank" rel="noreferrer noopener">Brian Roemmele wrote on X</a>.</p>



<h2 class="wp-block-heading"><strong>Where happens next?</strong></h2>



<p class="wp-block-paragraph">Ultimately, what comes next is up to Apple and OpenAI. The two companies might reach a deal out of court, or be forced into an agreement by the legal system. The existential nature of the rivalry suggests the latter, rather than former.</p>



<p class="wp-block-paragraph">It is also very telling that OpenAI, which now has more than 400 former Apple employees on its teams, including many former designers, also claims: “Apple’s request for a preliminary injunction is both based on false information and completely unnecessary because we do not have, nor want, any of their trade secrets. We’re much more interested in building innovative products and technologies that push the frontier.”</p>



<p class="wp-block-paragraph">While Apple hasn’t yet responded, it will be interesting to see whether whatever hardware OpenAI ships looks and behaves like any released or unreleased Apple products; the latter will now be able to bring details of its own historical project design decisions — and the people who made them — to court.</p>



<p class="wp-block-paragraph">I think this case will play out over time. Perhaps the most interesting question is whether OpenAI has taken what it knows about Apple to create its own internal product design and development LLM models. Would that use be legitimate? It would, after all, not be the first time an AI company has trained its models on <a href="https://goodlawproject.org/ai-giants-are-stealing-our-creative-work/" target="_blank" rel="noreferrer noopener">other people’s creative energy</a>.</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[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[The Rust Programming Language Blog: Enabling the next iteration of the borrow checker on nightly]]></title>
<description><![CDATA[TL;DR We are enabling the next iteration of the borrow checker (coined Polonius Alpha)
on nightly in preparation for stabilization in the next few months.

Whaaaaaat?
Yes! You heard it right! The next iteration of the Rust borrow checker is coming! Rust's first borrow checker ("AST borrowck") was...]]></description>
<link>https://tsecurity.de/de/3703927/tools/the-rust-programming-language-blog-enabling-the-next-iteration-of-the-borrow-checker-on-nightly/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703927/tools/the-rust-programming-language-blog-enabling-the-next-iteration-of-the-borrow-checker-on-nightly/</guid>
<pubDate>Tue, 04 Aug 2026 19:00:12 +0200</pubDate>
<content:encoded><![CDATA[<p>TL;DR We are enabling the next iteration of the borrow checker (coined Polonius Alpha)
on nightly in preparation for stabilization in the next few months.</p>
<h3><a class="anchor" href="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/#whaaaaaat"></a>
Whaaaaaat?</h3>
<p>Yes! You heard it right! The next iteration of the Rust borrow checker is coming! Rust's first borrow checker ("AST borrowck") was very limited and was phased out <a href="https://blog.rust-lang.org/2019/11/01/nll-hard-errors/" rel="external">in 2019</a> in favor of <a href="https://rust-lang.github.io/rfcs/2094-nll.html" rel="external">NLL</a>, other than a "migrate mode" that was used to provide nice error messages. That migrate mode was finally removed <a href="https://blog.rust-lang.org/2022/08/05/nll-by-default" rel="external">in 2022</a>.</p>
<p>The <a href="https://github.com/rust-lang/polonius" rel="external">Polonius borrow checker</a> spun out of the NLL effort in 2018. The <a href="https://smallcultfollowing.com/babysteps/blog/2018/04/27/an-alias-based-formulation-of-the-borrow-checker/" rel="external">initial formulation</a> passed the NLL test suite and accepted (sound) code that NLL did not. However, performance was a critically-limiting factor; generally borrow check was slower than NLL, but certain programs were considerably slower than NLL to the extent that using that implementation/formulation of Polonius was a non-starter. <a href="https://github.com/nikomatsakis/polonius.next" rel="external">Attempts were made</a> over the years to implement the Polonius formulation in a performant manner, without much luck in addressing the core issues.</p>
<p>In 2023, <a href="https://smallcultfollowing.com/babysteps/series/polonius-revisited/" rel="external">a new formulation</a> of a Polonius-style borrow checker was imagined that required minimal rearchitecture of the existing NLL implementation and could be extended to allow more code to compile. We <a href="https://blog.rust-lang.org/inside-rust/2023/10/06/polonius-update/" rel="external">had hoped</a>, to try to stabilize this new formulation in 2024; but, various things popped up that delayed this.</p>
<p>But! We're nearly there now! At this point, there are no known remaining issues with the subset coined Polonius Alpha that we intend to stabilize. And, performance is generally acceptable for stabilization (will discuss that a bit below).</p>
<p>So, <strong>we are enabling the Polonius Alpha borrow checker on nightly</strong> for testing until we stabilize fully later in the year. We're doing this in order to help find:</p>
<ul>
<li>Any serious performance regressions we're unaware of</li>
<li>Unsoundness in the formulation that we haven't thought about</li>
<li>Any weird diagnostic issues that we need to improve
<ul>
<li>Note: we have not <em>yet</em> seen any diagnostic changes</li>
</ul>
</li>
</ul>
<p>You can report any issues <a href="https://github.com/rust-lang/rust/issues/160456" rel="external">on Github</a> or <a href="https://rust-lang.zulipchat.com/#narrow/channel/186049-t-types.2Fpolonius/topic/Polonius.20Alpha.20enabled.20on.20nightly/near/614373312" rel="external">on Zulip</a>.</p>
<h3><a class="anchor" href="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/#okay-what-s-new"></a>
Okay, what's new?</h3>
<p>The key thing that Polonius Alpha enables that NLL does not is <em>flow-sensitive</em> borrow checking of lifetime outlives relationships.</p>
<p>Perhaps the smallest example demonstrating what will pass with Polonius Alpha but not the current NLL is:</p>
<pre class="giallo z-code"><code><span class="giallo-l"><span class="z-keyword">fn</span><span class="z-entity z-name z-function"> reborrow</span><span>(</span><span class="z-variable">a</span><span class="z-keyword z-operator">:</span><span class="z-keyword z-operator"> &amp;</span><span class="z-storage z-storage z-modifier">mut</span><span class="z-entity z-name z-type"> u8</span><span>)</span><span class="z-keyword z-operator"> -&gt;</span><span class="z-keyword z-operator"> &amp;</span><span class="z-storage z-storage z-modifier">mut</span><span class="z-entity z-name z-type"> u8</span><span> {</span></span>
<span class="giallo-l"><span class="z-storage z-type">    let</span><span class="z-variable"> b</span><span class="z-keyword z-operator z-assignment z-keyword z-operator"> =</span><span class="z-keyword z-operator"> &amp;</span><span class="z-storage z-storage z-modifier">mut</span><span class="z-keyword z-operator"> *</span><span class="z-variable">a</span><span>;</span></span>
<span class="giallo-l"><span class="z-keyword z-control">    if</span><span class="z-constant z-language"> true</span><span> {</span><span class="z-variable"> b</span><span> }</span><span class="z-keyword z-control"> else</span><span> {</span><span class="z-variable"> a</span><span> }</span></span>
<span class="giallo-l"><span>}</span></span></code></pre>
<p>However, the example you will see more often is:</p>
<pre class="giallo z-code"><code><span class="giallo-l"><span class="z-keyword">fn</span><span class="z-entity z-name z-function"> get_mut_or_default</span><span>&lt;</span><span>'</span><span class="z-entity z-name z-type">r</span><span>,</span><span class="z-entity z-name z-type"> K</span><span class="z-keyword z-operator">:</span><span class="z-entity z-name z-type"> Hash</span><span class="z-keyword z-operator"> +</span><span class="z-entity z-name z-type"> Eq</span><span class="z-keyword z-operator"> +</span><span class="z-entity z-name z-type"> Copy</span><span>,</span><span class="z-entity z-name z-type"> V</span><span class="z-keyword z-operator">:</span><span class="z-entity z-name z-type"> Default</span><span>&gt;</span><span>(</span></span>
<span class="giallo-l"><span class="z-variable">    map</span><span class="z-keyword z-operator">:</span><span class="z-keyword z-operator"> &amp;</span><span>'</span><span class="z-entity z-name z-type">r</span><span class="z-storage z-storage z-modifier"> mut</span><span class="z-entity z-name z-type"> HashMap</span><span>&lt;</span><span class="z-entity z-name z-type">K</span><span>,</span><span class="z-entity z-name z-type"> V</span><span>&gt;</span><span>,</span></span>
<span class="giallo-l"><span class="z-variable">    key</span><span class="z-keyword z-operator">:</span><span class="z-entity z-name z-type"> K</span><span>,</span></span>
<span class="giallo-l"><span>)</span><span class="z-keyword z-operator"> -&gt;</span><span class="z-keyword z-operator"> &amp;</span><span>'</span><span class="z-entity z-name z-type">r</span><span class="z-storage z-storage z-modifier"> mut</span><span class="z-entity z-name z-type"> V</span><span> {</span></span>
<span class="giallo-l"><span class="z-keyword z-control">    match</span><span class="z-variable"> map</span><span class="z-keyword z-operator">.</span><span class="z-entity z-name z-function">get_mut</span><span>(</span><span class="z-keyword z-operator">&amp;</span><span class="z-variable">key</span><span>)</span><span> {</span></span>
<span class="giallo-l"><span class="z-entity z-name z-type">        Some</span><span>(</span><span class="z-variable">value</span><span>)</span><span class="z-keyword z-operator"> =&gt;</span><span class="z-variable"> value</span><span>,</span></span>
<span class="giallo-l"><span class="z-entity z-name z-type">        None</span><span class="z-keyword z-operator"> =&gt;</span><span> {</span></span>
<span class="giallo-l"><span class="z-variable">            map</span><span class="z-keyword z-operator">.</span><span class="z-entity z-name z-function">insert</span><span>(</span><span class="z-variable">key</span><span>,</span><span class="z-entity z-name z-namespace"> V</span><span class="z-keyword z-operator">::</span><span class="z-entity z-name z-function">default</span><span>(</span><span>)</span><span>)</span><span>;</span></span>
<span class="giallo-l"><span class="z-variable">            map</span><span class="z-keyword z-operator">.</span><span class="z-entity z-name z-function">get_mut</span><span>(</span><span class="z-keyword z-operator">&amp;</span><span class="z-variable">key</span><span>)</span><span class="z-keyword z-operator">.</span><span class="z-entity z-name z-function">unwrap</span><span>(</span><span>)</span></span>
<span class="giallo-l"><span>        }</span></span>
<span class="giallo-l"><span>    }</span></span>
<span class="giallo-l"><span>}</span></span></code></pre>
<p>The issue is that the <code>Some(value) =&gt; value</code> branch causes the borrow checker to think that the borrow returned by <code>map.get_mut(&amp;key)</code> lives for the entire function (because of the <code>&amp;'r mut V</code> return type), even though that borrow isn't live in the <code>None</code> branch. NLL's analysis is <em>flow-insensitive</em>.</p>
<p>Polonius Alpha passes this because its analysis is <em>flow-sensitive</em>, and it knows that the borrow isn't live in the <code>None</code> branch.</p>
<p>Now, Polonius Alpha is not <em>perfect</em>; some programs that would compile under legacy Polonius (the slow original implementation) don't compile with Polonius Alpha. (This is of course why we call it "Polonius Alpha"). For example:</p>
<pre class="giallo z-code"><code><span class="giallo-l"><span class="z-storage z-type">struct</span><span class="z-entity z-name z-type"> X</span><span> {</span><span class="z-variable"> next</span><span class="z-keyword z-operator">:</span><span class="z-entity z-name z-type"> Option</span><span>&lt;</span><span class="z-entity z-name z-type">Box</span><span>&lt;</span><span class="z-entity z-name z-type">X</span><span>&gt;</span><span>&gt;</span><span> }</span></span>
<span class="giallo-l"></span>
<span class="giallo-l"><span class="z-keyword">fn</span><span class="z-entity z-name z-function"> conditional</span><span>(</span><span>)</span><span> {</span></span>
<span class="giallo-l"><span class="z-storage z-type">    let</span><span class="z-storage z-storage z-modifier"> mut</span><span class="z-variable"> b</span><span class="z-keyword z-operator z-assignment z-keyword z-operator"> =</span><span class="z-entity z-name z-type"> Some</span><span>(</span><span class="z-entity z-name z-type">Box</span><span class="z-keyword z-operator">::</span><span class="z-entity z-name z-function">new</span><span>(</span><span class="z-entity z-name z-type">X</span><span> {</span><span class="z-variable"> next</span><span class="z-keyword z-operator">:</span><span class="z-entity z-name z-type"> None</span><span> }</span><span>)</span><span>)</span><span>;</span></span>
<span class="giallo-l"><span class="z-storage z-type">    let</span><span class="z-storage z-storage z-modifier"> mut</span><span class="z-variable"> p</span><span class="z-keyword z-operator z-assignment z-keyword z-operator"> =</span><span class="z-keyword z-operator"> &amp;</span><span class="z-storage z-storage z-modifier">mut</span><span class="z-variable"> b</span><span>;</span></span>
<span class="giallo-l"><span class="z-keyword z-control">    while</span><span class="z-storage z-type"> let</span><span class="z-entity z-name z-type"> Some</span><span>(</span><span class="z-variable">now</span><span>)</span><span class="z-keyword z-operator z-assignment z-keyword z-operator"> =</span><span class="z-variable"> p</span><span> {</span></span>
<span class="giallo-l"><span class="z-keyword z-control">        if</span><span class="z-constant z-language"> true</span><span> {</span></span>
<span class="giallo-l"><span class="z-variable">            p</span><span class="z-keyword z-operator z-assignment z-keyword z-operator"> =</span><span class="z-keyword z-operator"> &amp;</span><span class="z-storage z-storage z-modifier">mut</span><span class="z-variable"> now</span><span class="z-keyword z-operator">.</span><span>next</span><span>;</span></span>
<span class="giallo-l"><span>        }</span></span>
<span class="giallo-l"><span>    }</span></span>
<span class="giallo-l"><span>}</span></span></code></pre>
<p>(As a slight note: we have also found programs that compile with Polonius Alpha but not legacy Polonius, so it's not really a full subset.)</p>
<h3><a class="anchor" href="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/#so-what-about-performance"></a>
So, what about performance?</h3>
<p>Polonius Alpha currently does strictly equal or more work compared to NLL, so we have been paying particular attention to potential performance regressions.</p>
<p>From the top ten thousand crates by downloads on crates.io, we have seen relatively few "significant" regressions, and even crates that have a "significant" regression are typically <em>relatively</em> minimal:</p>
<p><img alt="top10k_leaf_graph" src="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/polonius_top10k_leaf.png"></p>
<p><em>Each point represents a crate within the 10,000 most-downloaded crates. The black line is an arbitrary threshold of significance, set to a 1% regression and quadratically scaled below 30 seconds. Red points are crates that pass this arbitrary regression threshold. X-axis is compile time (for the leaf crate only without dependencies) under NLL; Y-axis is the ratio of compile time under Polonius Time compared to NLL.</em></p>
<p>If you look at the top five crates, they are:</p>
<p><img alt="top10k_leaf_table" src="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/polonius_top10k_leaf_table.png"></p>
<p>Outside the top ten thousand crates, we have focused mainly on crates with many borrows. The worst case we've seen is a 2-3x regression.</p>
<p>We have done some initial triage of the causes of these regressions and are thinking about the best way to fix them. Though, overall we think these regressions are fairly reasonable even if we <em>can't</em> fix them, given how rare and relatively minimal they are compared to the additional power Polonius Alpha brings over NLL.</p>
<h3><a class="anchor" href="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/#i-really-don-t-want-this-how-do-i-opt-out"></a>
I really don't want this. How do I opt-out?</h3>
<p>To reiterate: this is only being enabled on nightly. But if you want to disable Polonius Alpha, and only use the stable NLL, you can pass <code>-Zpolonius=off</code> to <code>rustc</code>, use <code>RUSTFLAGS=-Zpolonius=off</code>, or with a project's <a href="https://doc.rust-lang.org/cargo/reference/config.html" rel="external"><code>.cargo/config.toml</code></a> configuration file:</p>
<pre class="giallo z-code"><code><span class="giallo-l"><span>[</span><span>target</span><span>.</span><span>x86_64-unknown-linux-gnu</span><span>]</span></span>
<span class="giallo-l"><span class="z-variable">rustflags</span><span> =</span><span class="z-punctuation z-definition z-array"> [</span><span class="z-punctuation z-definition z-string z-string">"</span><span class="z-string z-quoted z-string">-Zpolonius=off</span><span class="z-punctuation z-definition z-string z-string">"</span><span class="z-punctuation z-definition z-array">]</span></span></code></pre>
<p>If you have to do this, for some reason, please do tell us why <a href="https://github.com/rust-lang/rust/issues/160456" rel="external">on Github</a> or <a href="https://rust-lang.zulipchat.com/#narrow/channel/186049-t-types.2Fpolonius/topic/Polonius.20Alpha.20enabled.20on.20nightly/near/614373312" rel="external">on Zulip</a>.</p>
<h3><a class="anchor" href="https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nighty/#what-s-next"></a>
What's next?</h3>
<p>Over the next few months, we will be monitoring Github and Zulip for any reported issues about Polonius Alpha. We will also be working to address known performance regressions. Finally, we will be working on internal documentation about the implementation. All prior to stabilization. Then, we are aiming to stabilize prior to the end of the year!</p>
<p>Although some programs that we <em>want</em> to compile don't work with Polonius Alpha (nor NLL today), we don't currently have any concrete plans to continue active feature work on the Polonius implementation after the stabilization of Polonius Alpha. We expect to continue to optimize the implementation and address any performance regressions for a little while. We will likely come back to Polonius feature-work <em>at some point</em>, but given that Polonius Alpha solves the most-encountered borrow-check issues, we are shifting our time to other high-priority work for the near future.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Card partners with Booking.com to speed up loyalty rewards]]></title>
<description><![CDATA[Apple Card users have a new way to get more value out of Booking.com without spending months climbing its loyalty ranks, though the perks are notably limited.Apple Card unlocks Booking.com Genius Level 2 perksApple is offering cardholders immediate access to Booking.com's Genius Level 2 after one...]]></description>
<link>https://tsecurity.de/de/3703758/ios-mac-os/apple-card-partners-with-bookingcom-to-speed-up-loyalty-rewards/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703758/ios-mac-os/apple-card-partners-with-bookingcom-to-speed-up-loyalty-rewards/</guid>
<pubDate>Tue, 04 Aug 2026 18:05:47 +0200</pubDate>
<content:encoded><![CDATA[<a href="https://appleinsider.com/inside/apple-card" title="Apple Card" data-kpt="1">Apple Card</a> users have a new way to get more value out of Booking.com without spending months climbing its loyalty ranks, though the perks are notably limited.<br><br><div><img src="https://media.appleinsider.com/gallery/68458-144240-bookincard-xl.jpg" alt="Booking.com logo above a smartphone screen showing a colorful digital card and a confirmation checkmark, suggesting successful payment or card setup on a mobile app"><br><span>Apple Card unlocks Booking.com Genius Level 2 perks</span></div><br>Apple is offering cardholders immediate access to Booking.com's Genius Level 2 after one qualifying stay or rental car booking. The offer is available through eligible reservations made with Apple Card.<br><br>Genius Level 2 gives users 10-15% discounts on select stays and rental cars, free breakfasts on select stays, and free room upgrades on select stays. Normally, users would need to make five bookings over 24 months to reach this level.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/apple-card-partners-with-bookingcom-to-speed-up-loyalty-rewards?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245160?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Furious’ Season 1, Episode 4 Recap: Alice Finally Identifies Catherine]]></title>
<description><![CDATA[Furious Season 1, Episode 4 gives Alice Black her biggest breakthrough yet, while Catherine Grace takes another dangerous step in her revenge campaign.




Episode title: Flash Flood



Release date: August 3, 2026



Streaming platforms: Hulu in the US and Disney+ internationally



Genre: Crime...]]></description>
<link>https://tsecurity.de/de/3703756/ios-mac-os/furious-season-1-episode-4-recap-alice-finally-identifies-catherine/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703756/ios-mac-os/furious-season-1-episode-4-recap-alice-finally-identifies-catherine/</guid>
<pubDate>Tue, 04 Aug 2026 18:05:23 +0200</pubDate>
<content:encoded><![CDATA[Furious Season 1, Episode 4 gives Alice Black her biggest breakthrough yet, while Catherine Grace takes another dangerous step in her revenge campaign.




Episode title: Flash Flood



Release date: August 3, 2026



Streaming platforms: Hulu in the US and Disney+ internationally



Genre: Crime drama and psychological thriller



Season length: Eight episodes



Next episode: “Pick a Sticker,” arriving August 10




Spoiler warning: This recap contains major spoilers for Furious Season 1, Episode 4, “Flash Flood.”



Created by Elizabeth Meriwether, Furious follows FBI agent Alice Black as she investigates a woman who kills wealthy men connected to abuse and trafficking. The first three episodes introduced Catherine as the killer and revealed that her victims shared links to Isabel Luna, a young woman from Catherine’s past.



Alice and Danny uncover Catherine’s identity



Episode 4 begins after Alice’s disturbing confrontation with her abusive former partner, Marshall. Still shaken, Alice struggles to sleep and turns to self-destructive behaviour before joining Nora Washington for an unofficial search around Hunts Point.



Their search for information about Isabel produces little progress, but Alice later suggests checking unidentified bodies found in 2012. Nora discovers a Jane Doe file matching Isabel’s description, including the hospital bracelet visible in an old photograph. However, Nora hides the discovery because she closed the case years earlier with her former superior, Ed George.



Alice and Danny then question Emma Easton, whose father and brother appear connected to Isabel. Emma refuses to discuss the photograph showing Isabel with her father, leading Alice and Danny to visit Isabel’s former foster home.



There, they learn that Isabel had a close friend named Catherine Grace. An old photograph confirms that Catherine is the woman seen in security footage and the person behind the staged overdose deaths. Alice finally has the killer’s real name and a direct connection between Catherine, Isabel and the Easton family.



Catherine kidnaps Hal



Meanwhile, Catherine assumes another identity and begins dating Blanchard, the son of Hal, Emma Easton’s lawyer. When Hal arrives, he immediately recognises Catherine and warns that her actions will get her killed.



Catherine responds by injecting him with a sedative and placing him inside a van. She later returns to Alden, who tells her that he loves her and asks her to become his girlfriend. Catherine accepts, briefly showing a softer side before the episode reveals that Hal remains alive inside the vehicle.



The ending leaves Alice with Catherine’s identity but no official support, as Nora removes her from the investigation to protect the secrets surrounding Isabel’s old case. Catherine now holds a living witness who could expose the entire trafficking network.



What do you think Catherine plans to do with Hal, and will Alice continue investigating without Nora’s approval? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[(g+) Artificial Intelligence: Inside Google's $200bn Wall Street finance machine for Anthropic]]></title>
<description><![CDATA[Private credit, chip leases and data centre guarantees underpin a vast new model for AI spending Von Ryan McMorrow (Anthropic, Google)]]></description>
<link>https://tsecurity.de/de/3703710/it-nachrichten/g-artificial-intelligence-inside-googles-200bn-wall-street-finance-machine-for-anthropic/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703710/it-nachrichten/g-artificial-intelligence-inside-googles-200bn-wall-street-finance-machine-for-anthropic/</guid>
<pubDate>Tue, 04 Aug 2026 17:47:57 +0200</pubDate>
<content:encoded><![CDATA[Private credit, chip leases and data centre guarantees underpin a vast new model for AI spending Von Ryan McMorrow (<a href="https://www.golem.de/specials/anthropic/">Anthropic</a>, <a href="https://www.golem.de/specials/google/">Google</a>) <img src="https://cpx.golem.de/cpx.php?class=17&amp;aid=211592&amp;page=1&amp;ts=1785857401" alt="" width="1" height="1">]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Furious’ Season 1, Episode 3 Recap: Catherine’s Revenge Plan Becomes Clear]]></title>
<description><![CDATA[Furious Season 1, Episode 3 reveals the painful experiences driving Catherine’s killing spree while forcing Alice to confront the abusive relationship that continues to affect her work.



The episode, titled “Memory Distortion,” connects the recent murders to a disturbing photograph involving Ca...]]></description>
<link>https://tsecurity.de/de/3703685/ios-mac-os/furious-season-1-episode-3-recap-catherines-revenge-plan-becomes-clear/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703685/ios-mac-os/furious-season-1-episode-3-recap-catherines-revenge-plan-becomes-clear/</guid>
<pubDate>Tue, 04 Aug 2026 17:41:24 +0200</pubDate>
<content:encoded><![CDATA[Furious Season 1, Episode 3 reveals the painful experiences driving Catherine’s killing spree while forcing Alice to confront the abusive relationship that continues to affect her work.



The episode, titled “Memory Distortion,” connects the recent murders to a disturbing photograph involving Catherine’s late friend Isabel. It also gives Alice an important clue that could help investigators identify Catherine and understand how she selects her victims.




Episode title: Memory Distortion



Release date: July 27, 2026



Streaming service: Hulu in the US and Disney+ internationally



Runtime: 53 minutes



Genre: Crime, drama and psychological thriller



Season length: Eight episodes



Main cast: Emmy Rossum, Lola Petticrew, Scoot McNairy, Quincy Tyler Bernstine and Jake Lacy




The first three episodes premiered together, with the remaining episodes releasing weekly. Episode 3 continues the investigation that began after Alice connected Catherine to the suspicious deaths of wealthy men.



Spoilers ahead for ‘Furious’ Season 1, Episode 3



The episode opens after Oliver Charles’ murder, with his daughter Mira holding a pair of bloodied scissors. Alice carefully convinces Mira to surrender them before attempting to learn what happened inside the house.



Meanwhile, Catherine kills Becky in Central Park after using her to obtain a new phone and disguise. She then returns to her job as a home-health aide for Alden, a disabled man who appears to trust her completely.



Catherine also reconnects with Elena, the younger sister of her dead friend Isabel. Elena lives under the control of a dangerous man known as Big Man, and Catherine becomes determined to protect her.



A flashback shows Catherine hiding beneath a bed beside a badly injured woman, strongly suggesting that she witnessed Isabel’s death. This scene explains why Catherine has targeted Caleb Easton, Oliver Charles and other men connected to Isabel.



Alice faces Marshall again



Alice struggles when Marshall, her abusive former partner, joins the murder investigation. He claims that he has changed and pressures Alice through his dying mother, who blames her for damaging his career.



However, Marshall soon becomes aggressive again. Alice responds by pulling a gun on him, showing that she no longer plans to remain silent when he threatens her.



Back at work, Alice gets a major breakthrough from Mira. She receives a photograph showing Isabel with Jay Easton, Caleb and Oliver. Catherine also appears in the background, placing her near the group around the time Isabel died.



Who is Catherine targeting next?



The ending shows Catherine creating another identity and contacting a man named Blanchard. She listens to calming affirmations while promising Elena that she will avenge Isabel’s death.



The photograph now gives Alice a clearer view of Catherine’s motive, although the investigation remains several steps behind her. Catherine appears ready to continue killing every man connected to Isabel’s abuse and death.



What did you think about Catherine’s revenge mission and Alice’s confrontation with Marshall? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Data center energy constraints and moratoriums are mounting. Expect to see stalled AI projects]]></title>
<description><![CDATA[In mid-July, New York became the first state to impose a state-wide moratorium on new data center construction.



“Data center development threatens to hike up utility bills, deplete our natural resources, and create uncertainty for New Yorkers,” wrote Governor Kathy Hochul in her executive orde...]]></description>
<link>https://tsecurity.de/de/3703633/it-security-nachrichten/data-center-energy-constraints-and-moratoriums-are-mounting-expect-to-see-stalled-ai-projects/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703633/it-security-nachrichten/data-center-energy-constraints-and-moratoriums-are-mounting-expect-to-see-stalled-ai-projects/</guid>
<pubDate>Tue, 04 Aug 2026 17:13: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">In mid-July, New York became the first state to impose a <a href="https://www.governor.ny.gov/news/first-statewide-moratorium-new-hyperscale-data-centers-launched-governor-kathy-hochul" target="_blank" rel="noreferrer noopener">state-wide moratorium</a> on new data center construction.</p>



<p class="wp-block-paragraph">“Data center development threatens to hike up utility bills, deplete our natural resources, and create uncertainty for New Yorkers,” wrote Governor Kathy Hochul in her executive order. The moratorium is planned to last for a year, and the state will use the time to research the impact of data centers on energy demand and require data centers to either pay more for their energy or supply their own.</p>



<p class="wp-block-paragraph">And 127 other U.S. jurisdictions have similar moratoriums, according to the <a href="https://www.interconnectedcapital.com/research/data-center-moratoriums" target="_blank" rel="noreferrer noopener">U.S. Data Center Moratorium Tracker</a>.</p>



<p class="wp-block-paragraph">More restrictions are proposed, both at the state and at the federal level. According to <a href="https://www.datacenterwatch.org/q1-2026" target="_blank" rel="noreferrer noopener">Data Center Watch</a>, at least 75 U.S. data center projects, worth about $130 billion, were blocked or delayed in the first quarter of 2026, the largest quarterly number on record—and roughly equal to the total for all of 2025. And <a href="https://heatmap.news/politics/americans-oppose-data-centers-poll" target="_blank" rel="noreferrer noopener">71% of Americans</a> now oppose data center construction in their area, according to a survey by Embold Research, up from just 42% last summer.</p>



<p class="wp-block-paragraph">The main reason? As with the New York state moratorium, energy costs are the top issue.</p>



<p class="wp-block-paragraph">Data centers are projected to increase average electricity costs by 6% to 29% by 2030, according to research from <a href="https://iopscience.iop.org/article/10.1088/1748-9326/ae6c3d" target="_blank" rel="noreferrer noopener">North Carolina State University</a>, Carnegie Mellon University, the University of Pittsburgh, and the University of Toronto. Some states will see increases of as much as 57%, with Virginia and Texas hit the hardest, the group found.</p>



<p class="wp-block-paragraph">There were bans and moratoriums on data centers even before the current AI boom, when data centers required 10 to 25 megawatts of power, says Gartner analyst <a href="https://www.linkedin.com/in/a-stanish/">Autumn Stanish</a>. “Now there’s an expansion of those facilities, reaching 100 megawatts. And some builds are as big as 2 gigawatts of power. There’s one in Louisiana that’s planned to consume 5 gigawatts of power.”</p>



<p class="wp-block-paragraph">Just how much is 5 gigawatts? Enough to power 4 million homes—nearly all the homes in Michigan or more than the total number of households in New York City— according to the <a href="https://powering-intelligence.epri.com/executive-summary.html" target="_blank" rel="noreferrer noopener">Electric Power Research Institute</a>.</p>



<p class="wp-block-paragraph">That’s a big shift, Stanish says. U.S. electricity consumption has been relatively level for the past 30 years, and with the lack of new demand, there’s been less new construction, and the grid has started to age. “And now we’re struggling,” she says. “We need to ramp up capacity, but it’s going to take time to get there.”</p>



<p class="wp-block-paragraph">According to <a href="https://www.datacentermap.com/datacenters/" target="_blank" rel="noreferrer noopener">Data Center Map</a>, there are now over 4,500 data centers in the U.S., which is more than in the next 16 countries combined. And it’s not enough. The overall vacancy rate in North American data centers is now 0.9%, states a <a href="https://www.cbre.com/insights/reports/global-data-center-trends-2026" target="_blank" rel="noreferrer noopener">June CBRE report</a>.</p>



<p class="wp-block-paragraph">“Right now, the data center market is very competitive in terms of trying to grab capacity,” says <a href="https://www.linkedin.com/in/ryan-mallory-3483504/">Ryan Mallory</a>, CEO at Flexential, a colocation provider with 42 data centers in 18 U.S. markets and four more under development. “We’re in the process of acquiring a number of additional properties,” Mallory adds. “You have to be planning for the future.”</p>



<p class="wp-block-paragraph">But the demand for space is even higher than the pace of construction. “Most capacity out to 2027 is completely sold, not just for Flexential, but for any data center out there,” Mallory says.</p>



<p class="wp-block-paragraph">Flexential has an easier time finding locations than other data center companies because its facilities are typically in the 22 to 36 megawatt range, which is a reasonable size to connect to a power company. “Generally, they either have the infrastructure ready to go, or we can work with them to have power available in the near term,” Mallory says. “We’re not coming in asking for 500 megawatts on day one or 1 gigawatt in twelve months.”</p>



<p class="wp-block-paragraph">And if the local utility can’t supply enough power and needs to build more generation or transmission capacity? “We would pay our fair share of whatever that augment would be,” Mallory says. “We would not expect any other use to pay for what we would take.”</p>



<p class="wp-block-paragraph">In addition, Flexential also has 100% generator backup in its data centers in case there’s an issue with the grid. Power concerns are the No. 1 factor when Flexential is deciding where to locate its next data center, Mallory says.</p>



<p class="wp-block-paragraph">This constraint on data centers is affecting AI rollouts. According to <a href="https://www.flexential.com/resources/press-release/flexential-announces-2026-state-ai-infrastructure-report" target="_blank" rel="noreferrer noopener">Flexential’s annual survey of IT decision makers</a> at large organizations, released in May, power is now the main constraint to AI deployment nationwide. When deciding where to put AI workloads, 89% of respondents said that access to reliable grid power was one of the most important factors, and 72% said they had moderate or extreme concern about electricity price volatility. In addition, 82% of organizations said that limited access to high-performance AI compute is a moderate or severe constraint.</p>



<p class="wp-block-paragraph">In the big picture, global electricity demand grew by 3% in 2025—but energy demand from data centers grew by 17%, according to <a href="https://www.iea.org/news/data-centre-electricity-use-surged-in-2025-even-with-tightening-bottlenecks-driving-a-scramble-for-solutions" target="_blank" rel="noreferrer noopener">the International Energy Agency</a>. And demand from AI-focused data centers, in particular, grew by 50%. The largest tech companies spent more than $400 billion on capital expenditures in 2025, and that number is expected to increase by 75% in 2026. And AI factory capacity more than tripled in the last 18 months, according to the agency.</p>



<p class="wp-block-paragraph">Real estate advisory firm Newmark noted that <a href="https://www.nmrk.com/insights/market-report/2026-u-s-data-center-market-outlook">energy constraints and delayed grid connections</a> are holding back new data center projects. It cited permitting delays for new gas plants, congested grid-interconnection queues, and uncertain timelines for next-generation energy solutions among the issues. As a result, data center capacity won’t be able to meet forecasted AI demand, and will limit how fast AI adoption can scale, Newmark predicted.</p>



<h2 class="wp-block-heading">Fastest data center growth on record</h2>



<p class="wp-block-paragraph">There aren’t enough data centers being built—even though the number of data centers being built, despite all the delays, all the opposition, and all the moratoriums, is enormous. According to Newmark, there are now 280 data center projects underway in 32 states, with development at an all-time high. Data centers is the only commercial real estate sector showing accelerating construction growth, the firm reports.</p>



<p class="wp-block-paragraph">Other researchers corroborate this report. According to <a href="https://news.constructconnect.com/july-2026-data-center-report-year-to-date-spending-four-times-the-2025-record" target="_blank" rel="noreferrer noopener">economists at ConstructConnect</a>, $58 billion was spent on data center construction so far this year, more than four times the amount at the same time last year. We’re now seeing an average $10 billion worth of data center starts—meaning that ground is broken and construction has begun—per month. That’s 300% higher than a year ago, the report says. And, prior to 2024, monthly starts were well under $1 billion. The growth curve in the report is exponential.</p>



<p class="wp-block-paragraph">Part of the dollar amount growth is because data centers are becoming much more expensive. Many projects have per-square-foot costs of more than $1,000.</p>



<p class="wp-block-paragraph">ConstructConnect is also tracking nearly 100 data center projects expected to begin construction before the end of the year, totaling more than $101 billion in planned spending—and that’s not including Google’s $100 billion Kestrel data center project.</p>



<p class="wp-block-paragraph">However, power infrastructure project starts rose just 2.7%  during the first five months of 2026 compared to the same period in 2025. That’s expected to grow, though. ConstructConnect expects a 30.8% increase in new power projects for all of 2026 compared to 2025.</p>



<p class="wp-block-paragraph">SemiAnalysis confirms the record-high growth in new data center construction and predicts that total capacity will grow by 21 gigawatts in 2026 to 84 gigawatts in 2030.</p>



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



<h2 class="wp-block-heading">Facing the power challenge</h2>



<p class="wp-block-paragraph">According to <a href="https://powering-intelligence.epri.com/executive-summary.html" target="_blank" rel="noreferrer noopener">EPRI</a>, 15 to 25% of data center electricity is already being used for AI workloads, and that number is rising rapidly. Data centers already consume between 4% to 5% of US electricity, and that share is expected to grow to 9% to 17% by 2030.</p>



<p class="wp-block-paragraph">In addition to choosing the best possible geographic location for their facilities, data center operators have a couple of other options for dealing with their power constraints. One is to get more efficient. Data center operators are also looking for new ways to cool down the facilities, as well as installing newer, more efficient equipment.</p>



<p class="wp-block-paragraph">“Liquid cooling—immersion and direct-to-chip—that’s going to save you a massive amount of energy,” says Gartner’s Stanish. The other strategy is to make their own power, which is easier for smaller data centers than for the largest ones.</p>



<p class="wp-block-paragraph">“If you have a 5 gigawatt data center, nuclear is the only way to do it,” says Stanish. “But the first one won’t come online until 2035, 2030 at the earliest.”</p>



<p class="wp-block-paragraph">Today, generators powered by natural gas are the most popular option for on-site power, says <a href="https://intelligence.uptimeinstitute.com/author/pjudge">Peter Judge</a>, a senior research analyst at Uptime Intelligence. “But you’re asking the community around you to accept a major source of emissions causing global warming and also local issues like particulates and noise and heat,” he says.</p>



<p class="wp-block-paragraph">Fuel cells are more efficient, he says, and don’t emit particulates, but they’re more expensive and less reliable than generators and have other operational issues.</p>



<p class="wp-block-paragraph">One company that recently decided to go with fuel cells is <a href="https://www.oracle.com/news/announcement/oracle-borderplex-and-bloom-energy-to-power-project-jupiter-with-fuel-cell-technology-2026-04-27/">Or</a><a href="https://www.oracle.com/news/announcement/oracle-borderplex-and-bloom-energy-to-power-project-jupiter-with-fuel-cell-technology-2026-04-27/" target="_blank" rel="noreferrer noopener">a</a><a href="https://www.oracle.com/news/announcement/oracle-borderplex-and-bloom-energy-to-power-project-jupiter-with-fuel-cell-technology-2026-04-27/">cle</a>, which will use 2.45 gigawatts worth of fuel cells to power its Project Jupiter data center in New Mexico, replacing the previous plan to use gas turbines and diesel generators. According to Oracle, the fuel cells will significantly reduce emissions, use only a “negligible” amount of water, and be quieter than turbines and generators. Plus, the on-site power generation will help protect energy rates of area residents.</p>



<p class="wp-block-paragraph">“If you want to build a data center, there’s a better way to build it,” says <a href="https://www.linkedin.com/in/nataliesunderland/">Natalie Sunderland</a>, chief marketing and communications officer at Bloom Energy, which makes the fuel cells that Oracle plans to deploy. And companies aren’t about to scale back on their AI ambitions or reduce their demands for data centers, she says.</p>



<p class="wp-block-paragraph">But when the data center is going to draw more power than the entire local community, the focus is going to shift to on-site power generation, says <a href="https://www.linkedin.com/in/carl-cottuli-5800846/">Carl Cottuli</a>, Bloom’s head of development engineering.</p>



<p class="wp-block-paragraph">According to a <a href="https://www.bloomenergy.com/news/ai-data-center-growth-hinges-on-solving-both-power-constraints-and-community-concerns-bloom-energy-report-finds/" target="_blank" rel="noreferrer noopener">survey of 156 data center decision makers that Bloom</a> released in mid-June, 61% of data center developers plan to deploy on-site power if the local grid can’t meet their needs. “They know they’ve got a constraint, and they have to act on it,” Cottuli says.</p>



<p class="wp-block-paragraph">And the survey numbers might actually be on the low side, says <a href="https://www.linkedin.com/in/mihirn/">Mihir Nandkeolyar</a>, director of business development and technology strategy for global data center solutions at Johnson Controls. Many data center operators planning new facilities haven’t yet approached the local utility companies—and learned that a connection might not be available for five more years, he says. “So, they may shift from the grid power column to the on-site power column,” he says.</p>



<p class="wp-block-paragraph">Another factor that may push data centers towards more on-site power is the lack of transmission capacity. Even if the local power utility can generate the electricity that a data center needs, it doesn’t necessarily mean that the power can get there.</p>



<p class="wp-block-paragraph">A draft <a href="https://www.energy.gov/oe/national-transmission-needs-study" target="_blank" rel="noreferrer noopener">Department of Energy report</a>, released in early July, called transmission limitations a “critical bottleneck” to connecting new power generation facilities to the grid. Much of the existing infrastructure is old and needs to be replaced, even as “the load growth from data centers has become a particular focus in the industry that is driving upward trends in demand.”</p>



<p class="wp-block-paragraph">“The backlog is growing for the right level of transmission infrastructure to keep up with demand for AI workloads in particular,” says <a href="https://www.linkedin.com/in/matt-schnugg-b702a73/">Matt Schnugg</a>, chief product officer for Schneider Electric Digital Grid.</p>



<p class="wp-block-paragraph">Either way, the relationships between the data centers and the surrounding communities will be changing. The New York State moratorium is just the latest example of the new scrutiny data centers will be facing. According to the Bloom survey, 28% of data center developers say community scrutiny has worsened or significantly worsened. Top concerns include electricity price increases, water consumption, and negative impacts on grid reliability.</p>



<p class="wp-block-paragraph">Meanwhile, not all government involvement is there to slow down data center builds. In late June, the <a href="https://www.ferc.gov/news-events/news/ferc-launches-aggressive-targeted-action-speed-large-load-integration" target="_blank" rel="noreferrer noopener">Federal Energy Regulatory Commission</a> moved to speed up electric grid connections for data centers and instructed six regional grid operators to either justify or update their connection rules to make that happen.</p>



<p class="wp-block-paragraph">Data centers are now getting large enough that their presence on the power grid affects other users, says Uptime Institute’s Judge. “So, like it or not, they will be regulated more stringently by grid authorities everywhere.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple plans massive 6.4-inch, 7-inch screens for the iPhone 20]]></title>
<description><![CDATA[The iPhone 20 will have larger displays than the current Pro and Pro Max models, with a leaker insisting 6.4-inch and 7-inch screens are being prototyped.The screen of the iPhone Air, from which the iPhone 20 may borrow design elementsThe Pro models of iPhone have long played host to the largest ...]]></description>
<link>https://tsecurity.de/de/3703585/ios-mac-os/apple-plans-massive-64-inch-7-inch-screens-for-the-iphone-20/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703585/ios-mac-os/apple-plans-massive-64-inch-7-inch-screens-for-the-iphone-20/</guid>
<pubDate>Tue, 04 Aug 2026 17:10:01 +0200</pubDate>
<content:encoded><![CDATA[The <a href="https://appleinsider.com/inside/iphone-20" title="iPhone 20" data-kpt="1">iPhone 20</a> will have larger displays than the current Pro and Pro Max models, with a leaker insisting 6.4-inch and 7-inch screens are being prototyped.<br><br><div><img src="https://media.appleinsider.com/gallery/68457-144239-67460-141985-Air-Dynamic-Island-xl-xl.jpg" alt="Smartphone lying on a dark surface, screen on, showing a minimalist lock screen with large white digital clock reading 10:52 and the date Mon Sep 25 at the top"><br><span>The screen of the iPhone Air, from which the iPhone 20 may borrow design elements</span></div><br>The Pro models of iPhone have long played host to the largest screens in Apple's iPhone empire. Though the crown will almost <a href="https://appleinsider.com/articles/25/12/17/when-open-iphone-fold-may-be-close-to-the-size-of-an-ipad-mini">certainly be taken</a> by the <a href="https://appleinsider.com/inside/iphone-fold" title="iPhone Fold" data-kpt="1">iPhone Fold</a> on its release, it seems Apple isn't finished with making the Pro Max as Max as possible.<br><br>According to a Tuesday <a href="https://www.weibo.com/6048569942/RbNB12djv">Weibo post</a> by serial leaker Digital Chat Station, Apple is prototyping two new screen sizes. The leaker says that one, measuring 6.4 inches, is probably going to be used on the anniversary iPhone 20 Pro.<br><br><br> <strong>Rumor Score:</strong> 🤔 Possible <br><br><br> <a href="https://appleinsider.com/articles/26/08/04/apple-plans-massive-64-inch-7-inch-screens-for-the-iphone-20?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245159?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple hits a record $10B in annual retail revenue in India]]></title>
<description><![CDATA[Apple has set new annual sales in India, with its second main iPhone manufacturing base generating a record $10 billion in sales despite currency and tax challenges.Apple Borivali in Mumbai's new Sky City Mall — image credit: AppleIndia serves as Apple's second base of iPhone production alongside...]]></description>
<link>https://tsecurity.de/de/3703377/ios-mac-os/apple-hits-a-record-10b-in-annual-retail-revenue-in-india/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703377/ios-mac-os/apple-hits-a-record-10b-in-annual-retail-revenue-in-india/</guid>
<pubDate>Tue, 04 Aug 2026 15:50:13 +0200</pubDate>
<content:encoded><![CDATA[Apple has set new annual sales in India, with its second main <a href="https://appleinsider.com/inside/iphone" title="iPhone" data-kpt="1">iPhone</a> manufacturing base generating a record $10 billion in sales despite currency and tax challenges.<br><br><div><img src="https://media.appleinsider.com/gallery/68456-144238-66823-140147-000-lead-Apple-Borivali-xl-xl.jpg" alt="Modern Apple Store storefront with bright wood interior, large backlit Apple logo on colorful peacock-feather display, minimalist tables centered, and product shelves lining the walls in a mall setting" class=""><br><span>Apple Borivali in Mumbai's new Sky City Mall — image credit: Apple</span></div><br>India serves as Apple's second base of iPhone production alongside China, as part of the <a href="https://appleinsider.com/articles/26/01/05/india-has-exported-50-billion-worth-of-iphones-in-five-years">wider supply chain</a>. While Apple has been building up its production capacity in India, it's also been increasing sales there, too.<br><br>According to a Tuesday <em>Bloomberg</em> <a href="https://www.bloomberg.com/news/articles/2026-08-04/apple-s-india-sales-top-10-billion-on-widening-retail-push">report</a>, Apple has exceeded $10 billion in annual sales in India over the last fiscal year. It eclipses the $9 billion annual revenue that was reported in <a href="https://appleinsider.com/articles/25/09/05/apple-has-broken-its-india-annual-sales-record-and-more-growth-is-coming">September 2025</a>.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/apple-hits-a-record-10b-in-annual-retail-revenue-in-india?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245158?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Zoom update malware campaign expands its reach to macOS]]></title>
<description><![CDATA[A malware campaign is using fake Zoom updates and business files to install ScreenConnect, giving attackers remote control through software that can resemble legitimate IT activity. And now, it's come to Mac.Fake Zoom updateSecuronix researchers detailed the campaign, named Smoke#Screen, in an Au...]]></description>
<link>https://tsecurity.de/de/3703326/ios-mac-os/fake-zoom-update-malware-campaign-expands-its-reach-to-macos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703326/ios-mac-os/fake-zoom-update-malware-campaign-expands-its-reach-to-macos/</guid>
<pubDate>Tue, 04 Aug 2026 15:29:47 +0200</pubDate>
<content:encoded><![CDATA[A malware campaign is using fake Zoom updates and business files to install ScreenConnect, giving attackers remote control through software that can resemble legitimate IT activity. And now, it's come to Mac.<br><br><div><img src="https://media.appleinsider.com/gallery/68403-144222-IMG_8299-xl.jpg" alt="Zoom update required notification window with blue smiley icon, yellow warning triangle, explanatory text, and prominent Update Zoom Now button on a dark background with green text patterns"><span>Fake Zoom update</span></div><br>Securonix researchers detailed the campaign, named Smoke#Screen, in an August 4 report. They traced Windows scripts, compiled loaders, an HTML phishing page and a <a href="https://appleinsider.com/inside/macos" title="macOS" data-kpt="1">macOS</a> package named "ZoomUpdateInstaller.pkg" to shared infrastructure.<br><br>ScreenConnect is legitimate remote monitoring and management software published by ConnectWise and commonly used by IT departments. The campaign configures genuine ScreenConnect clients to contact attacker-controlled relay servers rather than an authorized company system.<br><br>Once connected, the software can give an attacker remote desktop and management capabilities. The resulting activity may resemble ordinary technical support, making the intrusion harder to identify without examining how the software arrived and where it connects.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/fake-zoom-update-malware-campaign-expands-its-reach-to-macos?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245157?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[DOOM runs inside Paint on Windows, built by a Microsoft executive: "The spreadsheet-tier framerate is part of the charm."]]></title>
<description><![CDATA[Mark Russinovich builds DoomPaint to turn Microsoft Paint into a bizarre DOOM "monitor" of sorts, pasting each frame in turn for a janky but playable hack.]]></description>
<link>https://tsecurity.de/de/3703319/windows-tipps/doom-runs-inside-paint-on-windows-built-by-a-microsoft-executive-the-spreadsheet-tier-framerate-is-part-of-the-charm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703319/windows-tipps/doom-runs-inside-paint-on-windows-built-by-a-microsoft-executive-the-spreadsheet-tier-framerate-is-part-of-the-charm/</guid>
<pubDate>Tue, 04 Aug 2026 15:27:02 +0200</pubDate>
<content:encoded><![CDATA[Mark Russinovich builds DoomPaint to turn Microsoft Paint into a bizarre DOOM "monitor" of sorts, pasting each frame in turn for a janky but playable hack.]]></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[Microsoft dementiert angeblichen neuen Tracking-Dienst in Windows 11 - Hardware-Inside]]></title>
<description><![CDATA[Schnell entstand der Eindruck, Microsoft würde alle 15 Minuten Leistungsdaten an seine Server übertragen. Diagnosedienst statt neuer Telemetrie ...]]></description>
<link>https://tsecurity.de/de/3703215/windows-server/microsoft-dementiert-angeblichen-neuen-tracking-dienst-in-windows-11-hardware-inside/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703215/windows-server/microsoft-dementiert-angeblichen-neuen-tracking-dienst-in-windows-11-hardware-inside/</guid>
<pubDate>Tue, 04 Aug 2026 14:39:20 +0200</pubDate>
<content:encoded><![CDATA[Schnell entstand der Eindruck, Microsoft würde alle 15 Minuten Leistungsdaten an seine <b>Server</b> übertragen. Diagnosedienst statt neuer Telemetrie ...]]></content:encoded>
</item>
<item>
<title><![CDATA[FBI, EPA Warn of Cyberattacks on Water, Wastewater Facilities]]></title>
<description><![CDATA[The FBI and EPA are warning water and wastewater operators after cyberattacks targeted internet-connected programmable logic controllers, underscoring growing risks to critical infrastructure. The post FBI, EPA Warn of Cyberattacks on Water, Wastewater Facilities appeared first on TechNewsWorld.]]></description>
<link>https://tsecurity.de/de/3703170/it-nachrichten/fbi-epa-warn-of-cyberattacks-on-water-wastewater-facilities/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703170/it-nachrichten/fbi-epa-warn-of-cyberattacks-on-water-wastewater-facilities/</guid>
<pubDate>Tue, 04 Aug 2026 14:24:07 +0200</pubDate>
<content:encoded><![CDATA[<div><img width="300" height="156" src="https://www.technewsworld.com/wp-content/uploads/sites/3/2026/08/water-treatment-plc-control-cabinet-300x156.jpg" class="attachment-medium size-medium wp-post-image" alt="Technician working inside an industrial control cabinet containing programmable logic controllers at a utility facility." decoding="async" loading="lazy" srcset="https://www.technewsworld.com/wp-content/uploads/sites/3/2026/08/water-treatment-plc-control-cabinet-300x156.jpg 300w, https://www.technewsworld.com/wp-content/uploads/sites/3/2026/08/water-treatment-plc-control-cabinet-768x399.jpg 768w, https://www.technewsworld.com/wp-content/uploads/sites/3/2026/08/water-treatment-plc-control-cabinet.jpg 1000w" sizes="auto, (max-width: 300px) 100vw, 300px"></div>The FBI and EPA are warning water and wastewater operators after cyberattacks targeted internet-connected programmable logic controllers, underscoring growing risks to critical infrastructure. The post <a rel="nofollow" href="https://www.technewsworld.com/story/fbi-epa-warn-of-cyberattacks-on-water-wastewater-facilities-180477.html?rss=1">FBI, EPA Warn of Cyberattacks on Water, Wastewater Facilities</a> appeared first on <a rel="nofollow" href="https://www.technewsworld.com/?rss=1">TechNewsWorld</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI slop security reports are clogging up Apple's bug bounty program]]></title>
<description><![CDATA[AI is flooding Apple's bug bounty system with flawed iOS and macOS security reports. It's so much of a problem that Apple has limited the number of bugs that can be reported to it.AI is helping hackers and researchers break Apple security. The flood is also making it harder to report issues. The ...]]></description>
<link>https://tsecurity.de/de/3703140/ios-mac-os/ai-slop-security-reports-are-clogging-up-apples-bug-bounty-program/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703140/ios-mac-os/ai-slop-security-reports-are-clogging-up-apples-bug-bounty-program/</guid>
<pubDate>Tue, 04 Aug 2026 14:22:27 +0200</pubDate>
<content:encoded><![CDATA[AI is flooding Apple's bug bounty system with flawed <a href="https://appleinsider.com/inside/ios" title="iOS" data-kpt="1">iOS</a> and macOS security reports. It's so much of a problem that Apple has limited the number of bugs that can be reported to it.<br><br><div><img src="https://media.appleinsider.com/gallery/68452-144236-applelockbroken-xl.jpg" alt="Black Apple logo with a bite on the right, topped by a broken unlocked padlock, centered on a red to light pink gradient background"><br><span>AI is helping hackers and researchers break Apple security. The flood is also making it harder to report issues. </span></div><br>The rise of artificial intelligence is also considered a security problem, with AI models able to <a href="https://appleinsider.com/articles/25/10/16/apples-research-explains-how-ai-can-identify-bugs-in-code-and-generate-qe-tests">determine issues</a> in software that humans have a very low chance of uncovering. However, it also has the byproduct of creating more work for people in the field.<br><br>It's not just from an increase in valid concerns, but also reports that are completely made up and treated as genuine.<br><br><br> <a href="https://appleinsider.com/articles/26/08/04/ai-slop-security-reports-are-clogging-up-apples-bug-bounty-program?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245155?urm_source=rss">Discuss on our Forums</a>]]></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[Google ADK flaws reveal what happens when AI agents trust the wrong message]]></title>
<description><![CDATA[Security flaws in automated workflows in the GitHub repository for Google’s Agent Development Kit for Python could allow public-facing AI agents to trigger more privileged automation, opening one path to manipulate pull-request reviews and another to expose credentials, according to a report from...]]></description>
<link>https://tsecurity.de/de/3703097/ai-nachrichten/google-adk-flaws-reveal-what-happens-when-ai-agents-trust-the-wrong-message/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703097/ai-nachrichten/google-adk-flaws-reveal-what-happens-when-ai-agents-trust-the-wrong-message/</guid>
<pubDate>Tue, 04 Aug 2026 13:57:08 +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">Security flaws in automated workflows in the GitHub repository for Google’s Agent Development Kit for Python could allow <a href="https://www.csoonline.com/article/4193498/ai-agents-fall-for-indirect-prompt-injection-traps.html" target="_blank">public-facing AI agents</a> to trigger more privileged automation, opening one path to manipulate pull-request reviews and another to expose credentials, according to a <a href="https://www.pillar.security/blog/ill-just-call-you-agent-to-agent-privilege-boundary-failures-in-ci-cd-on-googles-adk-repository">report</a> from Pillar Security.</p>



<p class="wp-block-paragraph">The first attack path involved a triage agent that analyzed pull requests submitted by external contributors. The agent posted its responses through adk-bot, an account with collaborator access to the repository. Pillar found that malicious instructions embedded in a pull request could induce the agent to post an “@gemini-cli” command, triggering a workflow intended for trusted users.</p>



<p class="wp-block-paragraph">That workflow could enable command execution inside its CI runner. Its GitHub token could not push code, but it had write access to issues and pull requests. Pillar said those permissions could be used to alter a maintainer’s comment, submit an approving review as github-actions[bot], and remove a legitimate review request, making a malicious pull request appear ready to merge.</p>



<p class="wp-block-paragraph">Pillar reproduced the first attack chain in its research environment. A maintainer still had to complete the merge, and the report said Google subsequently hardened the repository.</p>



<p class="wp-block-paragraph">The security firm also found a separate attack path in newer workflows built around an Antigravity-based agent. An attacker could place a <a href="https://www.csoonline.com/article/4184455/prompt-injection-breaks-todays-ai-agents-study-warns.html">prompt injection</a> in a public issue and induce an analysis agent to post the command that started a fixing workflow reserved for trusted repository users.</p>



<p class="wp-block-paragraph">The fixing workflow attempted to limit the agent to Git and GitHub commands, but Pillar found that Git could still be used to launch arbitrary code. The researchers demonstrated that the adk-bot personal access token could be extracted from the runner to an attacker-controlled server, while a Google Cloud service account key was also available to the workflow.</p>



<p class="wp-block-paragraph">Pillar said it confirmed on July 2 that the affected workflows had been removed and that Google told the researchers on July 21 that the second issue had been fixed.</p>



<h2 class="wp-block-heading">Agent handoffs expose risk</h2>



<p class="wp-block-paragraph">Pillar described the findings as the “first practical, real-world case of agent-to-agent exploitation” involving a production multi-agent system.</p>



<p class="wp-block-paragraph"><a href="https://greyhoundresearch.com/svg/" target="_blank" rel="noreferrer noopener">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research, said the underlying weaknesses were familiar, but their interaction required enterprises to reconsider how authority moves through agentic systems.</p>



<p class="wp-block-paragraph">“Natural language has joined the authorization path,” Gogia said. “That is the change worth reporting, not the ‘first-ever’ framing.”</p>



<p class="wp-block-paragraph">Gogia said an agent’s authority should be measured not only by its assigned tools, but also by the more privileged systems its output can trigger or influence.</p>



<p class="wp-block-paragraph">That broader reach should also shape how CISOs judge the severity of the risk, according to <a href="https://my.idc.com/getdoc.jsp?containerId=PRF005665" target="_blank" rel="noreferrer noopener">Sakshi Grover</a>, senior research manager for IDC Asia Pacific Cybersecurity Services.</p>



<p class="wp-block-paragraph">“For CISOs, materiality should be determined by tracing three things,” said Grover. “First, which agents consume untrusted content such as pull requests, issues, emails, support tickets, or external documents? Second, can the output of those agents directly or indirectly trigger another agent or workflow with higher privileges? Third, what is the maximum effective capability of the identities, credentials, and tools involved?”</p>



<h2 class="wp-block-heading">Mapping transitive authority</h2>



<p class="wp-block-paragraph">Existing security tools may provide only a partial view of how authority moves between agents and workflows.</p>



<p class="wp-block-paragraph">Grover said IAM, PAM, CIEM, and application-security tools can expose individual identities, permissions, and unsafe workflow configurations, but may not recognize that those components form a single event-driven delegation path.</p>



<p class="wp-block-paragraph">“Inventory records what exists, while delegation mapping records what can happen,” Gogia said.</p>



<p class="wp-block-paragraph">Gogia added that security teams should follow external input from the point it reaches an agent through to any downstream system that acts on the result. The review should also account for handoffs embedded in shared workflow state, such as a comment that triggers a command.</p>



<p class="wp-block-paragraph">“The harder question is not whether Agent A can call Agent B but whether Agent A can alter anything Agent B already trusts,” he said.</p>



<p class="wp-block-paragraph">Human approval does not necessarily close that gap. Although the first attack path still required a maintainer to merge the pull request, the manipulated automation could influence the evidence presented to the maintainer.</p>



<p class="wp-block-paragraph">“An attacker needs no merge rights when it can manufacture the evidence that persuades someone else to merge,” Gogia said. He added that approval should bind an independently authenticated reviewer to the exact code or artifact examined. Any material change should invalidate that approval.</p>



<p class="wp-block-paragraph">Grover added that changes to reviews, comments, and approval states should also be treated as security events and exported to an independent logging system that the workflow’s own identity cannot alter.</p>



<p class="wp-block-paragraph"><em>The article originally appeared on <a href="https://www.csoonline.com/article/4204906/google-adk-flaws-reveal-what-happens-when-ai-agents-trust-the-wrong-message.html">CSO</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Online backlash ends in Google rolling back Google Earth AI tool after a day]]></title>
<description><![CDATA[Google has walked back an AI feature that allowed users to generate artificial images inside Google Earth, after a predictable flurry of deepfakes.]]></description>
<link>https://tsecurity.de/de/3703077/it-security-nachrichten/online-backlash-ends-in-google-rolling-back-google-earth-ai-tool-after-a-day/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703077/it-security-nachrichten/online-backlash-ends-in-google-rolling-back-google-earth-ai-tool-after-a-day/</guid>
<pubDate>Tue, 04 Aug 2026 13:43:00 +0200</pubDate>
<content:encoded><![CDATA[Google has walked back an AI feature that allowed users to generate artificial images inside Google Earth, after a predictable flurry of deepfakes.]]></content:encoded>
</item>
<item>
<title><![CDATA[Google ADK flaws reveal what happens when AI agents trust the wrong message]]></title>
<description><![CDATA[Security flaws in automated workflows in the GitHub repository for Google’s Agent Development Kit for Python could allow public-facing AI agents to trigger more privileged automation, opening one path to manipulate pull-request reviews and another to expose credentials, according to a report from...]]></description>
<link>https://tsecurity.de/de/3703074/it-security-nachrichten/google-adk-flaws-reveal-what-happens-when-ai-agents-trust-the-wrong-message/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703074/it-security-nachrichten/google-adk-flaws-reveal-what-happens-when-ai-agents-trust-the-wrong-message/</guid>
<pubDate>Tue, 04 Aug 2026 13:42: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">Security flaws in automated workflows in the GitHub repository for Google’s Agent Development Kit for Python could allow <a href="https://www.csoonline.com/article/4193498/ai-agents-fall-for-indirect-prompt-injection-traps.html" target="_blank">public-facing AI agents</a> to trigger more privileged automation, opening one path to manipulate pull-request reviews and another to expose credentials, according to a <a href="https://www.pillar.security/blog/ill-just-call-you-agent-to-agent-privilege-boundary-failures-in-ci-cd-on-googles-adk-repository">report</a> from Pillar Security.</p>



<p class="wp-block-paragraph">The first attack path involved a triage agent that analyzed pull requests submitted by external contributors. The agent posted its responses through adk-bot, an account with collaborator access to the repository. Pillar found that malicious instructions embedded in a pull request could induce the agent to post an “@gemini-cli” command, triggering a workflow intended for trusted users.</p>



<p class="wp-block-paragraph">That workflow could enable command execution inside its CI runner. Its GitHub token could not push code, but it had write access to issues and pull requests. Pillar said those permissions could be used to alter a maintainer’s comment, submit an approving review as github-actions[bot], and remove a legitimate review request, making a malicious pull request appear ready to merge.</p>



<p class="wp-block-paragraph">Pillar reproduced the first attack chain in its research environment. A maintainer still had to complete the merge, and the report said Google subsequently hardened the repository.</p>



<p class="wp-block-paragraph">The security firm also found a separate attack path in newer workflows built around an Antigravity-based agent. An attacker could place a <a href="https://www.csoonline.com/article/4184455/prompt-injection-breaks-todays-ai-agents-study-warns.html">prompt injection</a> in a public issue and induce an analysis agent to post the command that started a fixing workflow reserved for trusted repository users.</p>



<p class="wp-block-paragraph">The fixing workflow attempted to limit the agent to Git and GitHub commands, but Pillar found that Git could still be used to launch arbitrary code. The researchers demonstrated that the adk-bot personal access token could be extracted from the runner to an attacker-controlled server, while a Google Cloud service account key was also available to the workflow.</p>



<p class="wp-block-paragraph">Pillar said it confirmed on July 2 that the affected workflows had been removed and that Google told the researchers on July 21 that the second issue had been fixed.</p>



<h2 class="wp-block-heading">Agent handoffs expose risk</h2>



<p class="wp-block-paragraph">Pillar described the findings as the “first practical, real-world case of agent-to-agent exploitation” involving a production multi-agent system.</p>



<p class="wp-block-paragraph"><a href="https://greyhoundresearch.com/svg/" target="_blank" rel="noreferrer noopener">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research, said the underlying weaknesses were familiar, but their interaction required enterprises to reconsider how authority moves through agentic systems.</p>



<p class="wp-block-paragraph">“Natural language has joined the authorization path,” Gogia said. “That is the change worth reporting, not the ‘first-ever’ framing.”</p>



<p class="wp-block-paragraph">Gogia said an agent’s authority should be measured not only by its assigned tools, but also by the more privileged systems its output can trigger or influence.</p>



<p class="wp-block-paragraph">That broader reach should also shape how CISOs judge the severity of the risk, according to <a href="https://my.idc.com/getdoc.jsp?containerId=PRF005665" target="_blank" rel="noreferrer noopener">Sakshi Grover</a>, senior research manager for IDC Asia Pacific Cybersecurity Services.</p>



<p class="wp-block-paragraph">“For CISOs, materiality should be determined by tracing three things,” said Grover. “First, which agents consume untrusted content such as pull requests, issues, emails, support tickets, or external documents? Second, can the output of those agents directly or indirectly trigger another agent or workflow with higher privileges? Third, what is the maximum effective capability of the identities, credentials, and tools involved?”</p>



<h2 class="wp-block-heading">Mapping transitive authority</h2>



<p class="wp-block-paragraph">Existing security tools may provide only a partial view of how authority moves between agents and workflows.</p>



<p class="wp-block-paragraph">Grover said IAM, PAM, CIEM, and application-security tools can expose individual identities, permissions, and unsafe workflow configurations, but may not recognize that those components form a single event-driven delegation path.</p>



<p class="wp-block-paragraph">“Inventory records what exists, while delegation mapping records what can happen,” Gogia said.</p>



<p class="wp-block-paragraph">Gogia added that security teams should follow external input from the point it reaches an agent through to any downstream system that acts on the result. The review should also account for handoffs embedded in shared workflow state, such as a comment that triggers a command.</p>



<p class="wp-block-paragraph">“The harder question is not whether Agent A can call Agent B but whether Agent A can alter anything Agent B already trusts,” he said.</p>



<p class="wp-block-paragraph">Human approval does not necessarily close that gap. Although the first attack path still required a maintainer to merge the pull request, the manipulated automation could influence the evidence presented to the maintainer.</p>



<p class="wp-block-paragraph">“An attacker needs no merge rights when it can manufacture the evidence that persuades someone else to merge,” Gogia said. He added that approval should bind an independently authenticated reviewer to the exact code or artifact examined. Any material change should invalidate that approval.</p>



<p class="wp-block-paragraph">Grover added that changes to reviews, comments, and approval states should also be treated as security events and exported to an independent logging system that the workflow’s own identity cannot alter.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ChatGPT 6 Just Hacked into a Company and Left Notes Inside For Good AI to Break Free!]]></title>
<description><![CDATA[YouTube Video]]></description>
<link>https://tsecurity.de/de/3703018/videos/chatgpt-6-just-hacked-into-a-company-and-left-notes-inside-for-good-ai-to-break-free/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703018/videos/chatgpt-6-just-hacked-into-a-company-and-left-notes-inside-for-good-ai-to-break-free/</guid>
<pubDate>Tue, 04 Aug 2026 13:34:48 +0200</pubDate>
<content:encoded><![CDATA[<p>YouTube Video</p><p><iframe loading="lazy" src="https://www.youtube.com/embed/0R4cTWmIfA8"></iframe></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Could Get 10 More Years of India Manufacturing Tax Relief]]></title>
<description><![CDATA[Apple is set to receive another boost for its growing manufacturing business in India after the government proposed extending a key tax exemption for foreign companies that supply machinery and equipment to contract manufacturers. The proposal would push the benefit from its current 2031 expiry d...]]></description>
<link>https://tsecurity.de/de/3703013/ios-mac-os/apple-could-get-10-more-years-of-india-manufacturing-tax-relief/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703013/ios-mac-os/apple-could-get-10-more-years-of-india-manufacturing-tax-relief/</guid>
<pubDate>Tue, 04 Aug 2026 13:34:28 +0200</pubDate>
<content:encoded><![CDATA[Apple is set to receive another boost for its growing manufacturing business in India after the government proposed extending a key tax exemption for foreign companies that supply machinery and equipment to contract manufacturers. The proposal would push the benefit from its current 2031 expiry date to March 31, 2041, giving companies more certainty as they expand production in the country.



Reuters reports that the draft amendment covers manufacturers of mobile phones, tablets, laptops, hearing devices, and wearable electronics. The proposal still requires approval from both houses of India's Parliament before it becomes law.




"To provide (tax) certainty" the government has extended tax breaks until March 31, 2041 to foreign companies that provide equipment to their contract manufacturers in India.




Apple had urged the Indian government to introduce this exemption because it owns high-end iPhone manufacturing equipment used by its contract partners. Without the tax break, Indian tax rules could have treated that ownership as a business connection, exposing part of Apple's profits to income tax in India.



Proposal also expands benefits for electronics supply chain



The draft amendment also exempts income earned by foreign companies from storing and supplying electronic components to contract manufacturers until 2041, provided those operations take place in customs bonded areas that mainly support exports. Products sold inside India from these facilities would still attract import duties.




"The proposed tax changes will enable foreign companies to store and transfer critical equipment and components in India for their contract manufacturers, helping mitigate supply chain disruptions arising from trade uncertainties while providing greater tax certainty," said Riaz Thingna, partner at Grant Thornton Bharat.




The proposal comes weeks after India removed import duties on several smartphone components, further strengthening its position as a major Apple manufacturing hub. According to Counterpoint Research, India is expected to produce 26% of the world's iPhones in 2026, compared with just 6% four years ago as Apple continues to expand production beyond China.]]></content:encoded>
</item>
<item>
<title><![CDATA[Smears, Fakes & Phantoms: Cold War Britain's Secret Propaganda Department]]></title>
<description><![CDATA[In Cold War Britain, a secret propaganda department saw its list of targets and tactics widen. Personnel inside the Information Research Department went beyond forgeries, fakes, and plants, conducting bold impersonations to smear critics and stoke tensions among foes. The team, which consisted of...]]></description>
<link>https://tsecurity.de/de/3702986/it-security-nachrichten/smears-fakes-phantoms-cold-war-britains-secret-propaganda-department/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702986/it-security-nachrichten/smears-fakes-phantoms-cold-war-britains-secret-propaganda-department/</guid>
<pubDate>Tue, 04 Aug 2026 13:21:14 +0200</pubDate>
<content:encoded><![CDATA[In Cold War Britain, a secret propaganda department saw its list of targets and tactics widen. Personnel inside the Information Research Department went beyond forgeries, fakes, and plants, conducting bold impersonations to smear critics and stoke tensions among foes. The team, which consisted of refugees, ex-journalists, and even daughters of aristocrats, hatched a slew of audacious operations across Europe, Africa, and the Caribbean. They also had their own internal dramas. Author Rory Cormac pored over thousands of recently declassified files to uncover and chronicle their work in his book Fakers: A Top-Secret Tale of Phantoms and Forgeries on the Disinformation Front Line.]]></content:encoded>
</item>
<item>
<title><![CDATA[Threats Making WAVs – Incident Response to a Cryptomining Attack]]></title>
<description><![CDATA[Guardicore security researchers describe and uncover a full analysis of a cryptomining attack, which hid a cryptominer inside WAV files. The report…
Read more →
The post Threats Making WAVs – Incident Response to a Cryptomining Attack appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3702973/it-security-nachrichten/threats-making-wavs-incident-response-to-a-cryptomining-attack/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702973/it-security-nachrichten/threats-making-wavs-incident-response-to-a-cryptomining-attack/</guid>
<pubDate>Tue, 04 Aug 2026 13:20:40 +0200</pubDate>
<content:encoded><![CDATA[<p>Guardicore security researchers describe and uncover a full analysis of a cryptomining attack, which hid a cryptominer inside WAV files. The report…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/threats-making-wavs-incident-response-to-a-cryptomining-attack-4/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/threats-making-wavs-incident-response-to-a-cryptomining-attack-4/">Threats Making WAVs – Incident Response to a Cryptomining Attack</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The enterprise AI strategy that outlasts any single model]]></title>
<description><![CDATA[In January of this year, few enterprise tech leaders would have bet on Anthropic over OpenAI. Today, Claude reigns supreme (inspiring a notable 180 by Elon Musk), with Gemini threatening to take market share and introduce pricing models that could flip the leaderboard on its head again. That’s ex...]]></description>
<link>https://tsecurity.de/de/3702962/it-security-nachrichten/the-enterprise-ai-strategy-that-outlasts-any-single-model/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702962/it-security-nachrichten/the-enterprise-ai-strategy-that-outlasts-any-single-model/</guid>
<pubDate>Tue, 04 Aug 2026 13:17:00 +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 January of this year, few enterprise tech leaders would have bet on Anthropic over OpenAI. Today, <a href="https://www.forbes.com/sites/sandycarter/2026/06/05/claude-becomes-the-enterprise-favorite-as-anthropic-passes-openai/">Claude reigns supreme</a> (inspiring a <a href="https://finance.yahoo.com/technology/ai/articles/musk-calls-rival-anthropic-current-185914796.html">notable 180 by Elon Musk</a>), with Gemini threatening to take market share and <a href="https://www.reuters.com/business/google-expected-court-coders-consumers-io-conference-2026-05-19/">introduce pricing models</a> that could flip the leaderboard on its head again. That’s exactly why betting on a single model is a dangerous strategy.</p>



<p class="wp-block-paragraph">The most successful organizations won’t be those trying to guess tomorrow’s top-tier model, nor will they wait passively for future releases. Instead, they will invest in underlying frameworks that continuously improve regardless of which specific AI model drives them.</p>



<h2 class="wp-block-heading">Why betting on one AI model is a losing strategy</h2>



<p class="wp-block-paragraph">Our strategy for AI, through <a href="https://www.economist.com/science-and-technology/2026/06/07/how-artificial-intelligence-got-better-at-building-itself">recursive self-improvement</a> (RSI), is rooted in this core principle. RSI is an approach to AI that compounds its own abilities by improving itself. If done carefully, RSI can function as an overarching layer above <em>any</em> model. Crucially, given RSI’s inherently compounding trajectory, it represents the most likely contender to be the approach that reaches superintelligence, no matter which model is used underneath.</p>



<p class="wp-block-paragraph">Though recently achieving the status of a <a href="https://techcrunch.com/2026/05/28/rsi-is-the-new-agi-and-its-just-as-hard-to-pin-down/">Silicon Valley buzzword</a>, applying something like RSI to unlock superintelligence has been the Holy Grail of AI research for decades. It’s what researchers like us have recognized since the 1960s as a critical step along the path towards what we call artificial superintelligence (ASI) today.</p>



<h2 class="wp-block-heading">Recursive self-improvement compounds value beyond the model</h2>



<p class="wp-block-paragraph">The fundamental premise of RSI is that the next phase transition in AI won’t come from a system that has been taught to improve by any of the traditional methods of the past few years. Relying purely on data, compute and human intuition to generate exponentially improving capabilities is a path with hard physical and practical limits. Instead, the leap will come from a system that invents its own improvements and feeds them back into itself.</p>



<p class="wp-block-paragraph">RSI has already delivered what business leaders would recognize as a virtuous cycle. Each improvement increases the system’s capacity to generate the next improvement. Competitive advantage compounds because the system benefits from both its own recursive progress and every improvement in the underlying models.</p>



<p class="wp-block-paragraph">As Anthropic puts it, AI that can improve itself would be a “major development in the history of technology.”</p>



<p class="wp-block-paragraph">Indeed, we believe it’s the single most important frontier of AI research. Anthropic’s model-specific approach to RSI is already paying off for them: a recent <a href="https://www.anthropic.com/institute/recursive-self-improvement">Anthropic Institute report</a> captures the pace of change with real world impact, “Claude-written code was somewhat worse than human-written code at Anthropic in late 2025, is roughly at parity today, and we expect it to be strictly better within the year.”</p>



<p class="wp-block-paragraph">That’s worth applauding.</p>



<p class="wp-block-paragraph">But what about the companies not currently building an in-house model? For them, looking at improvements that only take place inside the model someone else develops is unnecessarily limiting. It makes more sense to embrace a model-agnostic approach to RSI that improves whenever any new model is released.</p>



<p class="wp-block-paragraph">Approaching the model as one component of a system without relying on any individual provider or tool makes it possible to achieve recursive improvement at the system level. By using an RSI approach that works outside the model and can swap models instantaneously, companies can immediately benefit from the compounding effects of self-improving AI.</p>



<h2 class="wp-block-heading">Build a model-agnostic AI strategy that benefits from every breakthrough</h2>



<p class="wp-block-paragraph">This holistic approach to RSI fits the market today. The AI landscape is becoming more dynamic by the month. Frontier models leapfrog one another, open-weight models improve at remarkable speed, pricing strategies change and entirely new capabilities emerge in rapid succession. For enterprise leaders, the lesson isn’t to predict the next winner. It’s to build systems that improve regardless of which model comes out ahead.</p>



<p class="wp-block-paragraph">In fact, organizations that tie their future to a single model provider risk getting left behind altogether if a different model’s next iteration leapfrogs the one they’ve signed a long-term contract to use.</p>



<p class="wp-block-paragraph">Every enterprise tech leader already understands the power of virtuous cycles. Amazon didn’t build an enduring competitive advantage by betting on a single product. Every improvement to its logistics network attracted more sellers, which increased selection and order volume, which justified further investment in logistics. Visa became more valuable as more merchants accepted its cards, attracting more cardholders, which, in turn, encouraged even more merchants to join.</p>



<p class="wp-block-paragraph"><a></a>Organizations that anchor their AI strategy to a single model provider will spend the next decade reacting every time the frontier shifts. On the other hand, organizations that build model-agnostic systems will benefit from every shift. Every improvement from Anthropic, OpenAI, Google, Meta or the next breakthrough model becomes another source of competitive advantage.</p>



<p class="wp-block-paragraph"><a></a>The world’s most durable companies don’t simply accumulate assets – they build systems where every improvement makes the next improvement easier; creating long-term advantage.</p>



<p class="wp-block-paragraph"><a></a>Enterprise AI should be approached the same way.</p>



<p class="wp-block-paragraph"><a></a>For enterprise tech leaders, that’s the strategic shift that matters. Stop asking which model deserves your long-term bet and instead, start asking whether your AI strategy creates its own virtuous cycle.<a></a><a></a><a></a></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 enterprise AI strategy that outlasts any single model]]></title>
<description><![CDATA[In January of this year, few enterprise tech leaders would have bet on Anthropic over OpenAI. Today, Claude reigns supreme (inspiring a notable 180 by Elon Musk), with Gemini threatening to take market share and introduce pricing models that could flip the leaderboard on its head again. That’s ex...]]></description>
<link>https://tsecurity.de/de/3702949/it-nachrichten/the-enterprise-ai-strategy-that-outlasts-any-single-model/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702949/it-nachrichten/the-enterprise-ai-strategy-that-outlasts-any-single-model/</guid>
<pubDate>Tue, 04 Aug 2026 13:15:58 +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 January of this year, few enterprise tech leaders would have bet on Anthropic over OpenAI. Today, <a href="https://www.forbes.com/sites/sandycarter/2026/06/05/claude-becomes-the-enterprise-favorite-as-anthropic-passes-openai/">Claude reigns supreme</a> (inspiring a <a href="https://finance.yahoo.com/technology/ai/articles/musk-calls-rival-anthropic-current-185914796.html">notable 180 by Elon Musk</a>), with Gemini threatening to take market share and <a href="https://www.reuters.com/business/google-expected-court-coders-consumers-io-conference-2026-05-19/">introduce pricing models</a> that could flip the leaderboard on its head again. That’s exactly why betting on a single model is a dangerous strategy.</p>



<p class="wp-block-paragraph">The most successful organizations won’t be those trying to guess tomorrow’s top-tier model, nor will they wait passively for future releases. Instead, they will invest in underlying frameworks that continuously improve regardless of which specific AI model drives them.</p>



<h2 class="wp-block-heading">Why betting on one AI model is a losing strategy</h2>



<p class="wp-block-paragraph">Our strategy for AI, through <a href="https://www.economist.com/science-and-technology/2026/06/07/how-artificial-intelligence-got-better-at-building-itself">recursive self-improvement</a> (RSI), is rooted in this core principle. RSI is an approach to AI that compounds its own abilities by improving itself. If done carefully, RSI can function as an overarching layer above <em>any</em> model. Crucially, given RSI’s inherently compounding trajectory, it represents the most likely contender to be the approach that reaches superintelligence, no matter which model is used underneath.</p>



<p class="wp-block-paragraph">Though recently achieving the status of a <a href="https://techcrunch.com/2026/05/28/rsi-is-the-new-agi-and-its-just-as-hard-to-pin-down/">Silicon Valley buzzword</a>, applying something like RSI to unlock superintelligence has been the Holy Grail of AI research for decades. It’s what researchers like us have recognized since the 1960s as a critical step along the path towards what we call artificial superintelligence (ASI) today.</p>



<h2 class="wp-block-heading">Recursive self-improvement compounds value beyond the model</h2>



<p class="wp-block-paragraph">The fundamental premise of RSI is that the next phase transition in AI won’t come from a system that has been taught to improve by any of the traditional methods of the past few years. Relying purely on data, compute and human intuition to generate exponentially improving capabilities is a path with hard physical and practical limits. Instead, the leap will come from a system that invents its own improvements and feeds them back into itself.</p>



<p class="wp-block-paragraph">RSI has already delivered what business leaders would recognize as a virtuous cycle. Each improvement increases the system’s capacity to generate the next improvement. Competitive advantage compounds because the system benefits from both its own recursive progress and every improvement in the underlying models.</p>



<p class="wp-block-paragraph">As Anthropic puts it, AI that can improve itself would be a “major development in the history of technology.”</p>



<p class="wp-block-paragraph">Indeed, we believe it’s the single most important frontier of AI research. Anthropic’s model-specific approach to RSI is already paying off for them: a recent <a href="https://www.anthropic.com/institute/recursive-self-improvement">Anthropic Institute report</a> captures the pace of change with real world impact, “Claude-written code was somewhat worse than human-written code at Anthropic in late 2025, is roughly at parity today, and we expect it to be strictly better within the year.”</p>



<p class="wp-block-paragraph">That’s worth applauding.</p>



<p class="wp-block-paragraph">But what about the companies not currently building an in-house model? For them, looking at improvements that only take place inside the model someone else develops is unnecessarily limiting. It makes more sense to embrace a model-agnostic approach to RSI that improves whenever any new model is released.</p>



<p class="wp-block-paragraph">Approaching the model as one component of a system without relying on any individual provider or tool makes it possible to achieve recursive improvement at the system level. By using an RSI approach that works outside the model and can swap models instantaneously, companies can immediately benefit from the compounding effects of self-improving AI.</p>



<h2 class="wp-block-heading">Build a model-agnostic AI strategy that benefits from every breakthrough</h2>



<p class="wp-block-paragraph">This holistic approach to RSI fits the market today. The AI landscape is becoming more dynamic by the month. Frontier models leapfrog one another, open-weight models improve at remarkable speed, pricing strategies change and entirely new capabilities emerge in rapid succession. For enterprise leaders, the lesson isn’t to predict the next winner. It’s to build systems that improve regardless of which model comes out ahead.</p>



<p class="wp-block-paragraph">In fact, organizations that tie their future to a single model provider risk getting left behind altogether if a different model’s next iteration leapfrogs the one they’ve signed a long-term contract to use.</p>



<p class="wp-block-paragraph">Every enterprise tech leader already understands the power of virtuous cycles. Amazon didn’t build an enduring competitive advantage by betting on a single product. Every improvement to its logistics network attracted more sellers, which increased selection and order volume, which justified further investment in logistics. Visa became more valuable as more merchants accepted its cards, attracting more cardholders, which, in turn, encouraged even more merchants to join.</p>



<p class="wp-block-paragraph"><a></a>Organizations that anchor their AI strategy to a single model provider will spend the next decade reacting every time the frontier shifts. On the other hand, organizations that build model-agnostic systems will benefit from every shift. Every improvement from Anthropic, OpenAI, Google, Meta or the next breakthrough model becomes another source of competitive advantage.</p>



<p class="wp-block-paragraph"><a></a>The world’s most durable companies don’t simply accumulate assets – they build systems where every improvement makes the next improvement easier; creating long-term advantage.</p>



<p class="wp-block-paragraph"><a></a>Enterprise AI should be approached the same way.</p>



<p class="wp-block-paragraph"><a></a>For enterprise tech leaders, that’s the strategic shift that matters. Stop asking which model deserves your long-term bet and instead, start asking whether your AI strategy creates its own virtuous cycle.<a></a><a></a><a></a></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[OpenAI fires back at Apple's trade secret lawsuit with chat logs showing Apple employees kept texting their former colleague]]></title>
<description><![CDATA[OpenAI is pushing back against Apple's trade secret lawsuit and has released iMessage threads from former Apple engineer Chang Liu. The messages appear to show Apple employees themselves reaching out to their former colleague for technical help and internal files after he left the company.
The ar...]]></description>
<link>https://tsecurity.de/de/3702899/ai-nachrichten/openai-fires-back-at-apples-trade-secret-lawsuit-with-chat-logs-showing-apple-employees-kept-texting-their-former-colleague/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702899/ai-nachrichten/openai-fires-back-at-apples-trade-secret-lawsuit-with-chat-logs-showing-apple-employees-kept-texting-their-former-colleague/</guid>
<pubDate>Tue, 04 Aug 2026 12:31:57 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="2048" height="1152" src="https://the-decoder.com/wp-content/uploads/2026/07/apple_logo_neon_green.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high"></p>
<p>        OpenAI is pushing back against Apple's trade secret lawsuit and has released iMessage threads from former Apple engineer Chang Liu. The messages appear to show Apple employees themselves reaching out to their former colleague for technical help and internal files after he left the company.</p>
<p>The article <a href="https://the-decoder.com/openai-fires-back-at-apples-trade-secret-lawsuit-with-chat-logs-showing-apple-employees-kept-texting-their-former-colleague/">OpenAI fires back at Apple's trade secret lawsuit with chat logs showing Apple employees kept texting their former colleague</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[WhatsApp for Mac tests daily and weekly update options]]></title>
<description><![CDATA[WhatsApp is testing new update controls for its Mac app, giving beta users a choice between daily builds, weekly releases, and manual update checks. The feature appears in WhatsApp beta for Mac version 26.30.10.20 and gives users more control over how quickly they receive bug fixes, stability imp...]]></description>
<link>https://tsecurity.de/de/3702886/ios-mac-os/whatsapp-for-mac-tests-daily-and-weekly-update-options/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702886/ios-mac-os/whatsapp-for-mac-tests-daily-and-weekly-update-options/</guid>
<pubDate>Tue, 04 Aug 2026 12:30:10 +0200</pubDate>
<content:encoded><![CDATA[WhatsApp is testing new update controls for its Mac app, giving beta users a choice between daily builds, weekly releases, and manual update checks. The feature appears in WhatsApp beta for Mac version 26.30.10.20 and gives users more control over how quickly they receive bug fixes, stability improvements, and early features.



WABetaInfo reports that the new setting appears inside an “App updates” section in WhatsApp settings, where users can view the installed version, check for updates manually, and switch between two automatic update schedules without reinstalling the app.




“Both options deliver the same core features, but the timing differs. The ‘Latest version’ option may occasionally offer new features ahead of the weekly build.”




WhatsApp gives Mac users two update choices



The “Latest version” option installs updates more often and can deliver daily builds with recent fixes and improvements. This setting suits users who want the newest WhatsApp version as soon as it becomes available, although daily builds can sometimes include unfinished changes or minor bugs.



The “Stable weekly version” combines recent fixes into one weekly release, giving users a more predictable schedule and fewer changes during the working week. This option makes more sense for people who use WhatsApp on Mac for work and prefer stability over immediate access to new additions.



WhatsApp introduced the feature after ending its Mac beta program on Apple’s TestFlight platform. Users can still download beta builds directly from WhatsApp’s official servers, while the new update controls handle future releases inside the app.



The feature is currently rolling out to some beta testers, so users running the latest build may not see it immediately. WhatsApp has not confirmed when the update controls will reach all beta users or the stable Mac app.]]></content:encoded>
</item>
<item>
<title><![CDATA[ESET introduces new AI capabilities for autonomous agent security]]></title>
<description><![CDATA[ESET is expanding its AI capabilities across threat detection, investigations, threat protection, and security operations, delivering added value to customers through built-in innovations rather than separate add-on solutions. “AI is a new class of actor inside the company – reading, writing, mak...]]></description>
<link>https://tsecurity.de/de/3702881/it-security-nachrichten/eset-introduces-new-ai-capabilities-for-autonomous-agent-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702881/it-security-nachrichten/eset-introduces-new-ai-capabilities-for-autonomous-agent-security/</guid>
<pubDate>Tue, 04 Aug 2026 12:22:17 +0200</pubDate>
<content:encoded><![CDATA[<p>ESET is expanding its AI capabilities across threat detection, investigations, threat protection, and security operations, delivering added value to customers through built-in innovations rather than separate add-on solutions. “AI is a new class of actor inside the company – reading, writing, making decisions and executing. As such, it deserves the same security attention as users and endpoints, because it behaves like both at once,” said Kamil Pšenák, Senior AI Product Manager at ESET. “It is … <a href="https://www.helpnetsecurity.com/2026/08/04/eset-introduces-new-ai-capabilities-for-autonomous-agent-security/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/04/eset-introduces-new-ai-capabilities-for-autonomous-agent-security/">ESET introduces new AI capabilities for autonomous agent security</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Disney+ and Paramount+ Explore Free Streaming Tiers to Challenge YouTube]]></title>
<description><![CDATA[Disney+ and Paramount+ are exploring free streaming tiers as Hollywood looks for new ways to compete with YouTube, attract larger audiences, and increase advertising revenue. Netflix has also left the door open to a free option in selected markets, which suggests that major streaming companies ar...]]></description>
<link>https://tsecurity.de/de/3702845/ios-mac-os/disney-and-paramount-explore-free-streaming-tiers-to-challenge-youtube/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702845/ios-mac-os/disney-and-paramount-explore-free-streaming-tiers-to-challenge-youtube/</guid>
<pubDate>Tue, 04 Aug 2026 12:13:28 +0200</pubDate>
<content:encoded><![CDATA[Disney+ and Paramount+ are exploring free streaming tiers as Hollywood looks for new ways to compete with YouTube, attract larger audiences, and increase advertising revenue. Netflix has also left the door open to a free option in selected markets, which suggests that major streaming companies are rethinking how they bring new viewers into their services.



Business Insider reports that Disney and Paramount Skydance are considering broader free access to movies and shows inside their streaming apps. The companies want to reduce the barrier created by subscription paywalls and give viewers a reason to use their platforms before asking them to pay.



Disney has reportedly discussed adding free content to Disney+, which would help the company reach people who do not currently subscribe. Once those viewers start using the app regularly, Disney could promote paid plans, premium releases, and other subscription benefits directly inside the service.



Paramount+ is considering a similar approach, with plans to expand the amount of content available without a subscription. The company could use free movies and shows to attract new users while generating more revenue through advertising.



Netflix Is Also Considering Free Access



Netflix co-CEO Greg Peters recently said that a free offering could make sense in some markets outside the United States. Netflix has not announced a formal plan, but the comment shows that the company is watching how free streaming models develop.



YouTube remains a major reason behind this shift because it offers free entertainment at a huge scale and keeps users watching through advertising. Disney+, Paramount+, and Netflix now appear ready to test whether free access can help them increase engagement while still converting regular viewers into paying subscribers.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Launches Redesigned Accessories Store With Better Search and Categories]]></title>
<description><![CDATA[Apple has redesigned its online accessories store with a cleaner layout, curated collections, improved filters, and easier access to shopping help. The updated Apple accessories shopping experience appears on the company’s website and inside the Apple Store app.



The redesigned homepage now pla...]]></description>
<link>https://tsecurity.de/de/3702782/ios-mac-os/apple-launches-redesigned-accessories-store-with-better-search-and-categories/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702782/ios-mac-os/apple-launches-redesigned-accessories-store-with-better-search-and-categories/</guid>
<pubDate>Tue, 04 Aug 2026 11:56:44 +0200</pubDate>
<content:encoded><![CDATA[Apple has redesigned its online accessories store with a cleaner layout, curated collections, improved filters, and easier access to shopping help. The updated Apple accessories shopping experience appears on the company’s website and inside the Apple Store app.



The redesigned homepage now places themed collections near the top, helping shoppers find products for a specific activity instead of searching through a long product list. Apple can change these collections throughout the year to reflect new products, seasons, and shopping trends.



Current collections include:




Student Life



Power Picks



Fresh Colors



Travel Ready



Work from Home




Apple also recommends accessories based on products already added to a customer’s shopping bag, which should help users find compatible cases, chargers, cables, keyboards, and other products before completing an order.



Better search and filtering options



The updated store includes improved search and more detailed filters, allowing customers to narrow results by device, accessory type, brand, colour, and other available options. Shoppers can still browse products made by Apple alongside accessories from third-party companies.



Apple has also organised products into categories such as charging essentials, cases and protection, headphones and speakers, AirTag accessories, photography products, and smart home accessories. This structure reduces the time needed to find compatible products for an iPhone, iPad, Mac, or Apple Watch.



Customers who need help can chat with an Apple Specialist directly through the accessories website. Apple also continues to offer services such as free engraving on eligible products and one-to-one shopping support.



The redesigned Apple Accessories store is available through Apple’s website and the Apple Store app.]]></content:encoded>
</item>
<item>
<title><![CDATA[A Malicious GitHub Issue Could Turn Google’s AI Agent Against Its Own CI/CD Pipeline]]></title>
<description><![CDATA[A first practical, real-world case of agent-to-agent exploitation inside a production multi-agent system, a novel attack class that turns one AI agent against another to compromise a software supply chain. The flaw was found in google/adk-python, the repository behind Google’s Agent Development K...]]></description>
<link>https://tsecurity.de/de/3702776/it-security-nachrichten/a-malicious-github-issue-could-turn-googles-ai-agent-against-its-own-cicd-pipeline/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702776/it-security-nachrichten/a-malicious-github-issue-could-turn-googles-ai-agent-against-its-own-cicd-pipeline/</guid>
<pubDate>Tue, 04 Aug 2026 11:50:54 +0200</pubDate>
<content:encoded><![CDATA[<p>A first practical, real-world case of agent-to-agent exploitation inside a production multi-agent system, a novel attack class that turns one AI agent against another to compromise a software supply chain. The flaw was found in google/adk-python, the repository behind Google’s Agent Development Kit for Python, an SDK widely used by developers to build their own […]</p>
<p>The post <a href="https://cybersecuritynews.com/ai-agent-against-its-own-ci-cd-pipeline/">A Malicious GitHub Issue Could Turn Google’s AI Agent Against Its Own CI/CD Pipeline</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Real Story Behind the 2018 Google Walkout]]></title>
<description><![CDATA[In 2018, more than 20,000 employees walked out to protest how Google handled allegations of sexual harassment. Here’s how they organized it from inside the company.]]></description>
<link>https://tsecurity.de/de/3702752/it-nachrichten/the-real-story-behind-the-2018-google-walkout/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702752/it-nachrichten/the-real-story-behind-the-2018-google-walkout/</guid>
<pubDate>Tue, 04 Aug 2026 11:42:06 +0200</pubDate>
<content:encoded><![CDATA[In 2018, more than 20,000 employees walked out to protest how Google handled allegations of sexual harassment. Here’s how they organized it from inside the company.]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake AI Tool Campaign Turns Developer Interest Into Enterprise Initial Access]]></title>
<description><![CDATA[A new malware campaign is turning interest in artificial intelligence tools into a route for enterprise intrusion. Attackers are cloning trusted GitHub projects, then hiding malicious files inside downloads that appear useful to developers and AI users. The operation targets people looking for AI...]]></description>
<link>https://tsecurity.de/de/3702721/it-security-nachrichten/fake-ai-tool-campaign-turns-developer-interest-into-enterprise-initial-access/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702721/it-security-nachrichten/fake-ai-tool-campaign-turns-developer-interest-into-enterprise-initial-access/</guid>
<pubDate>Tue, 04 Aug 2026 11:28:48 +0200</pubDate>
<content:encoded><![CDATA[<p>A new malware campaign is turning interest in artificial intelligence tools into a route for enterprise intrusion. Attackers are cloning trusted GitHub projects, then hiding malicious files inside downloads that appear useful to developers and AI users. The operation targets people looking for AI resources, coding assistants, Python security guides, Rust frameworks, Claude-related tools, and […]</p>
<p>The post <a href="https://cybersecuritynews.com/fake-ai-tool-campaign/">Fake AI Tool Campaign Turns Developer Interest Into Enterprise Initial Access</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</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[When the cloud control plane fails]]></title>
<description><![CDATA[Not long ago, I worked with an enterprise that believed it had done everything right. The company had spread workloads across multiple regions, replicated key data stores, documented failover procedures, and invested heavily in automation. On paper, it looked like a mature cloud deployment. Then ...]]></description>
<link>https://tsecurity.de/de/3702689/ai-nachrichten/when-the-cloud-control-plane-fails/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702689/ai-nachrichten/when-the-cloud-control-plane-fails/</guid>
<pubDate>Tue, 04 Aug 2026 11:15:19 +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">Not long ago, I worked with an enterprise that believed it had done everything right. The company had spread workloads across multiple regions, replicated key data stores, documented failover procedures, and invested heavily in automation. On paper, it looked like a mature cloud deployment. Then a control-plane issue hit one of its core providers. The infrastructure itself was not entirely gone, but the management layer became unstable enough that teams could not make timely changes, trigger the recovery actions they expected, or trust the environment’s state in real time. What failed was not simply compute or storage. What failed was the company’s assumption that the cloud’s control mechanisms would always be there.</p>



<p class="wp-block-paragraph">That experience gets to the heart of a growing problem. Cloud reliability is under renewed scrutiny because more outages are now being tied to control-plane failures rather than isolated infrastructure faults. An <a href="https://www.infoworld.com/article/4181964/the-causes-of-cloud-outages-are-changing.html" data-type="link" data-id="https://www.infoworld.com/article/4181964/the-causes-of-cloud-outages-are-changing.html">Uptime Institute report</a> recently highlighted that shift, and it should get the attention of every serious architect. When the management layer becomes the problem, the blast radius can be much broader than most organizations anticipate.</p>



<p class="wp-block-paragraph">For years, the industry has talked about resilience primarily in terms of infrastructure. We focus on zones, regions, backups, and service redundancy. Those things still matter, of course. However, they do not tell the whole story anymore. The cloud is not just a collection of servers, storage systems, and networks. It is also a massive operating model built around APIs, orchestration layers, identity systems, policy engines, service controllers, and automation frameworks. When that higher-order control structure breaks or becomes impaired, your recovery plans can unravel very quickly.</p>



<h2 class="wp-block-heading">Another architecture problem</h2>



<p class="wp-block-paragraph">To begin with, architects need to accept that the control plane is no longer some invisible layer they can safely assume will remain stable under all conditions. It is now part of the architecture problem because it is part of the failure domain. If your workloads, scaling logic, network policies, failover actions, service permissions, and operational decisions all depend on that layer functioning normally, then a control-plane failure can compromise much more than a single application or regional deployment.</p>



<p class="wp-block-paragraph">I have seen many organizations convince themselves they are resilient simply because they have redundancy in place. That is not enough. Redundancy below the control plane does not fully protect you from a failure above it. You may have healthy infrastructure underneath and still find yourself unable to make the necessary adjustments to keep critical systems operating correctly. That is the architectural blind spot, and it is becoming more obvious as these incidents gain visibility.</p>



<h2 class="wp-block-heading">Multiregion design is not enough</h2>



<p class="wp-block-paragraph">One of the most common reactions is that multiregion architecture is the answer. It is part of the answer, but it is not the complete answer. If both regions remain dependent on the same provider control mechanisms, the same identity systems, or the same operational APIs, then you still have a shared dependency that can become a common point of failure.</p>



<p class="wp-block-paragraph">This is where architects need to become much more precise. Geographic separation is useful, but it is not the same thing as operational independence. A design that survives a local infrastructure problem may not survive a management-layer disruption. A design that can replicate data between regions may still fail if the orchestration required to redirect traffic or re-establish service health depends on the same impaired control systems.</p>



<p class="wp-block-paragraph">I keep pushing architects to think beyond the usual checklist. Do not just ask whether your workloads are distributed. Ask whether your recovery assumptions remain valid when the provider’s management plane is unstable. That is a harder question and, in many cases, the answer is uncomfortable.</p>



<h2 class="wp-block-heading">Assume degraded control</h2>



<p class="wp-block-paragraph">Most failover plans are written as though the environment will remain manageable during a crisis. They assume the dashboards will be available, the APIs will function, the automation scripts will still execute, and the service states will stay reliable enough to support rapid decisions. Those are fine assumptions during normal operations. They are dangerous during a control-plane event.</p>



<p class="wp-block-paragraph">I have worked with teams that had detailed <a href="https://www.networkworld.com/article/967679/what-is-disaster-recovery-how-to-ensure-business-continuity.html">disaster recovery plans</a> that looked excellent in review meetings and failed under real pressure because too much of the recovery logic still depended on the platform that was affected. This is more common than many organizations want to admit. They mistake documentation for resilience. They mistake automation for independence. They mistake configuration complexity for architectural maturity.</p>



<p class="wp-block-paragraph">If you want a realistic failover strategy, you need to plan for degraded control. That means pre-positioned recovery paths, simpler decision trees, fewer dependencies on real-time reconfiguration, and clearer operational boundaries. It also means testing for scenarios where you cannot rely on the provider management layer the way you normally do. Until you test that, you do not really know your recovery capability.</p>



<h2 class="wp-block-heading">Should you go multicloud?</h2>



<p class="wp-block-paragraph">I am not arguing that every organization should rush into multicloud. In many cases, that would add cost and complexity without delivering enough value. However, I am arguing that dependence on a single provider’s management layer should now be treated as a strategic risk, not just an implementation detail.</p>



<p class="wp-block-paragraph">If your observability, policy enforcement, deployment controls, identity dependencies, and recovery workflows are all deeply tied to one provider’s management model, then you need to understand the implications clearly. You may have concentrated far more risk than you realize. This does not always require abandoning the provider. Often it means designing with more independence, more external visibility, and more realistic assumptions about what can fail.</p>



<p class="wp-block-paragraph">Architects have spent years optimizing for speed, convenience, and service richness. Now we need to rebalance around control, resilience, and recovery realism. That is not a step backward. It is a sign that cloud architecture is finally maturing.</p>



<h2 class="wp-block-heading">Resilience above the platform</h2>



<p class="wp-block-paragraph">The old belief was that once you deployed correctly inside a major cloud, the platform would absorb most of the complexity for you. In many ways, that is still true. The large providers deliver incredible engineering and operational discipline. But that does not remove the need to design for shared dependencies that sit above the infrastructure layer.</p>



<p class="wp-block-paragraph">Control-plane failures remind us that cloud reliability is no longer just about where workloads run. What coordinates them? What manages them? What are your options when that coordination layer becomes unreliable? This topic matters so much right now because it forces architects to rethink resilience.</p>



<p class="wp-block-paragraph">If there is one takeaway here, it is this: Stop assuming your management layer is always outside the scope of failure planning. It is not. It is central to it. Once you understand that, your approach to multiregion design, failover planning, and provider dependency starts to change in the right ways.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[BINDCLOAK Steals Windows User and Process Tokens to Run Malware With Higher Privileges]]></title>
<description><![CDATA[A newly uncovered Windows backdoor is giving an East Asia-linked espionage operation a quiet way to deepen control inside targeted networks. Named BINDCLOAK, the modular implant is deployed after initial access and can run malware using more powerful user or process accounts. The campaign targete...]]></description>
<link>https://tsecurity.de/de/3702659/it-security-nachrichten/bindcloak-steals-windows-user-and-process-tokens-to-run-malware-with-higher-privileges/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702659/it-security-nachrichten/bindcloak-steals-windows-user-and-process-tokens-to-run-malware-with-higher-privileges/</guid>
<pubDate>Tue, 04 Aug 2026 11:08:50 +0200</pubDate>
<content:encoded><![CDATA[<p>A newly uncovered Windows backdoor is giving an East Asia-linked espionage operation a quiet way to deepen control inside targeted networks. Named BINDCLOAK, the modular implant is deployed after initial access and can run malware using more powerful user or process accounts. The campaign targeted government entities in the Middle East, with a particular focus […]</p>
<p>The post <a href="https://cybersecuritynews.com/bindcloak-steals-windows-tokens/">BINDCLOAK Steals Windows User and Process Tokens to Run Malware With Higher Privileges</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Minnesota attackers may hold a better backup of your plant than you do]]></title>
<description><![CDATA[More than 30 Minnesota community water systems were hit by coordinated cyber activity against their operational technology on July 26 and 27; several lost remote control or deliberately cut it while operators contained the intrusion. The reporting since — including CSO’s own news analysis — has r...]]></description>
<link>https://tsecurity.de/de/3702657/it-security-nachrichten/the-minnesota-attackers-may-hold-a-better-backup-of-your-plant-than-you-do/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702657/it-security-nachrichten/the-minnesota-attackers-may-hold-a-better-backup-of-your-plant-than-you-do/</guid>
<pubDate>Tue, 04 Aug 2026 11:08: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">More than 30 Minnesota community water systems were hit by coordinated cyber activity against their operational technology on July 26 and 27; several lost remote control or deliberately cut it while operators contained the intrusion. The reporting since — including <a href="https://www.csoonline.com/article/4203638/a-coordinated-attack-hit-30-minnesota-water-systems-who-did-it-and-what-does-a-rockwell-notice-add-to-the-picture.html">CSO’s own news analysis</a> — has rightly chased two open questions: Who did it, and whether a shared weakness in Rockwell Automation MicroLogix 1400 controllers tied dozens of small utilities together. Both questions matter. Neither changes what operators must do this week. Attribution is the investigators’ problem. Exposure is yours — and the advisories published since July 30 contain considerably more actionable detail than most coverage has extracted from them.</p>



<h2 class="wp-block-heading">Key takeaways</h2>



<ul class="wp-block-list">
<li><strong>Assume the attackers have your control logic. </strong>CISA’s advisory AA26-097A documents exfiltration of PLC project files. Rockwell’s recovery notice for locked-out MicroLogix 1400s requires a current offline project file to restore operations — an artifact many small utilities cannot produce. Where both are true, the adversary may hold the only current copy of the plant’s logic.</li>



<li><strong>You cannot Shodan your own cellular exposure. </strong>Researchers found little internet-facing Minnesota water infrastructure precisely because these utilities connect over cellular. The same opacity blinds defenders’ self-assessments. Enumerate SIM-equipped OT devices from carrier invoices, not from network scans.</li>



<li><strong>Your integrator is part of your attack surface. </strong>If a shared systems integrator or communications architecture connected the victims, the unit of compromise is not the utility — it is the integrator’s customer fleet. Ask yours which other customers share your remote-access design.</li>



<li><strong>Recovery is not resilience. </strong>Braham was back in roughly two hours; Plymouth ran manually while cellular links were rebuilt. Time-to-manual is a testable metric, not an assumption. Test it.</li>



<li><strong>The first hardening steps are configuration, not procurement. </strong>RUN mode at the keypad, the strongest password protection the firmware supports, HTTP server off, no public IP. The gap exposed in Minnesota is not knowledge. It is execution order under pressure.</li>
</ul>



<h2 class="wp-block-heading">The asymmetry nobody is naming</h2>



<p class="wp-block-paragraph">The most consequential sentence of the past week is buried in <a href="https://www.rockwellautomation.com/en-us/trust-center/security-advisories/advisory.SD1790.html">Rockwell’s July 30 notice SD1790</a>. It is not a vulnerability disclosure — there is no CVE. The attackers did not exploit a flaw; they used the controller’s intended functionality. Changing an IP address is an administrative operation, and setting a password is a security feature — the malicious element was never the command, only who issued it, from where and against which physical process. What SD1790 actually is, is a recovery procedure for operators locked out of their own MicroLogix 1400s: Power the controller off, disconnect the battery, power-cycle into a fault state, reconnect. That sequence erases the program, the data and the IP configuration. Then, the notice says, redownload your project file.</p>



<p class="wp-block-paragraph">That instruction presumes you have one. Current. Offline. Matching what actually runs in the field after fifteen years of undocumented tweaks by three generations of technicians and two integrators. In my project work across energy and manufacturing, that assumption fails more often than any firewall — in one plant assessment, the only person who could have restored a controller had left the integrator two years earlier, and the project file left with him.</p>



<p class="wp-block-paragraph">Now cross-reference the federal advisory. <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa26-097a">AA26-097A</a> has tracked this campaign since March; its July 22 update expanded the target set beyond Rockwell to Schneider Electric and Siemens devices, documented exfiltration of PLC project files for the first time and added detection guidance for manipulated reusable code modules embedded in PLC programs. No one has publicly confirmed exfiltration at the Minnesota utilities themselves — which is exactly why it belongs in your planning assumptions rather than your press statements. Read those two documents together and the strategic picture inverts: An adversary who may be able to study — or quietly modify — control logic that the owner cannot even restore.</p>



<p class="wp-block-paragraph">The countermeasure costs nothing but discipline. Treat control logic like source code. Every controller gets an offline, versioned, hash-verified project archive. Verification means uploading the running program and comparing it against the archive — not assuming the file on the engineering laptop is current. And widen the definition of backup: A rebuild-ready package includes firmware versions, HMI configuration, I/O lists, the vendor software with valid licenses, the right cable and a record of the last authorized change. <a href="https://doi.org/10.6028/NIST.SP.1339">NIST’s OT Backup Quick Start Guide, SP 1339</a>, published in June, makes the same point in two pages: Create, test and review backups inside change management — otherwise they are storage, not capability. Schedule it like instrument calibration, not like an IT backup job, because that is the operational category it belongs to.</p>



<h2 class="wp-block-heading">You can’t Shodan a SIM</h2>



<p class="wp-block-paragraph">One detail from the investigation deserves more attention than it received: Researchers scanning Minnesota’s public IP space found little obviously exposed water infrastructure. One plausible explanation, offered by researchers quoted in the initial coverage, is that many of these utilities communicate over cellular links — Plymouth’s disconnection of cellular-connected equipment confirms at least part of that picture — and cellular paths are far harder to enumerate from outside than internet-facing systems.</p>



<p class="wp-block-paragraph">Operators have drawn comfort from the wrong conclusion. Cellular opacity did not protect the victims; it merely hid the exposure from everyone, including themselves. If a security researcher cannot see your cellular attack surface, neither can your own assessment — and that is precisely the population that got hit.</p>



<p class="wp-block-paragraph">There is a mundane fix, and it is the one I run in my own asset-inventory workshops: Pull the carrier bill. Every modem generates an invoice line whether or not it appears on any diagram, and the invoice regularly surfaces devices that three network revisions missed. Reconcile every SIM against a named device, a named owner and a documented purpose. <a href="https://www.cisa.gov/news-events/alerts/2026/07/30/cisa-urges-water-and-wastewater-systems-sector-protect-ot-against-activity-targeting-plcs">CISA’s July 30 alert</a> told water utilities to check for undocumented cellular modems installed by operators, vendors or system integrators — and the word undocumented is the tell: The agency assumes your architecture diagram is wrong. Then move what remains behind a private APN or VPN termination, strip every public IP and port-forwarding rule and restrict management access to known engineering workstations.</p>



<h2 class="wp-block-heading">Your integrator is your blast radius</h2>



<p class="wp-block-paragraph">The distributed character of this campaign is its most important feature. Dozens of geographically clustered utilities, hit in a two-day window, with neighboring infrastructure apparently untouched, points toward some common technical thread — a shared systems integrator, a shared communications architecture, a shared remote-access design.</p>



<p class="wp-block-paragraph">If that hypothesis holds, the defensive unit is no longer the individual utility. It is the integrator’s customer fleet. A standing vendor tunnel, replicated with the same design across forty small customers, converts one compromised contractor into forty compromised water systems.</p>



<p class="wp-block-paragraph">Here are the three questions I put to integrators in my own projects — ask yours this week: Which of your other customers share my remote-access architecture? Who at your firm can reach my controllers today, and are those individual identities or a shared account? Can I pull the session logs myself? Then change the model: Replace standing tunnels with just-in-time access — request-scoped, time-boxed, individually authenticated with a second factor, brokered through a jump host you control, recorded. And put a notification clause in the contract: If the integrator is compromised, you hear about it in hours, not from the FBI.</p>



<h2 class="wp-block-heading">Minnesota’s fast recoveries were earned, not lucky</h2>



<p class="wp-block-paragraph">Braham’s water plant was back under operator control in roughly two hours, with no boil-water order. Plymouth’s operators switched to manual operation and disconnected the compromised cellular equipment at two water towers and fourteen lift stations, keeping service running until communications were restored. None of that was produced by a security product; it was produced by operating capability that existed before the attack needed it. Restoring the screens is not the finish line, either: After an unauthorized hand has changed a controller’s configuration, the first recovery question is not whether the HMI is back online but whether you can trust what it is telling you — which means verifying levels, pressures and pump states against local indicators before the display regains its authority.</p>



<p class="wp-block-paragraph">Manual operation is a designed capability, not a folk memory. It requires procedures that exist on paper — literally on paper, because the HMI may be what you just lost — people trained on them, and decision rights assigned in advance. The sector had, in fact, just rehearsed this: <a href="https://www.epa.gov/cyberwater/epa-2026-national-cyber-drill">EPA’s 2026 National Cyber Drill</a> on July 8 — 18 days before Minnesota — put utilities through precisely that scenario, operating with SCADA remote connectivity, cloud services and communications degraded or unavailable. Whether that capability actually exists at your site is testable: I’ve published a free, browser-based <a href="https://sabinefroemling-tech.github.io/island-mode-72h-stresstest/?lang=en">Island Mode 72-hour stress test</a> — one of six no-signup companion tools I maintain openly on GitHub — that walks a site through exactly this question, from credential caches to offline backups. Joint guidance issued by CISA with its Australian, British and Canadian counterparts in late July makes the same point at doctrine level: Maintain isolation and recovery plans so essential services continue under degraded conditions, through manual or alternative SCADA paths.</p>



<p class="wp-block-paragraph">The decision-rights half is the part most plans skip. Which systems may a SOC or an MSSP isolate unilaterally, and which require the operator who understands the process? That is <a href="https://www.csoonline.com/article/4200141/the-containment-paradox-why-your-ransomware-playbook-has-the-wrong-people-in-charge.html">the containment paradox</a> I wrote about in these pages two weeks ago, and the water-sector version is identical: The artifact is one page, the conversation that produces it takes an afternoon, and the absence of it is what turns a two-hour incident into a two-day one.</p>



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



<p class="wp-block-paragraph"><strong>Within 72 hours:</strong> Kill every direct external path and public IP, pull the carrier bill and flag every SIM you cannot map to a device, preserve gateway and engineering-workstation logs, verify the physical process against local indicators and upload the running logic from each critical controller to compare against your archive.</p>



<p class="wp-block-paragraph"><strong>Within 30 days:</strong> Finish the SIM-to-asset reconciliation, rotate every credential that ever traveled through an exposed path, give every third party an individual identity with session logging and assemble a rebuild-ready package — project file, firmware version, HMI configuration, software, cable — for each critical controller.</p>



<p class="wp-block-paragraph"><strong>Within one quarter:</strong> Run a factory-reset recovery drill on a representative controller, measure time-to-manual in a live exercise, replace the last standing vendor tunnel with just-in-time access, put the notification clause into integrator contracts and get the containment matrix — who may isolate what — signed.</p>



<h2 class="wp-block-heading">5 numbers to know by Friday</h2>



<ol class="wp-block-list">
<li>SIM-equipped OT endpoints on your carrier invoice versus devices in your asset register. Any delta is unmanaged attack surface.</li>



<li>Controllers still running default, blank or shared passwords. After this month, that number is a decision, not an oversight.</li>



<li>Days since the last verified offline project-file backup, per controller. Verified means uploaded and compared — not assumed.</li>



<li>Tested time-to-manual, per site. Measured in a drill, with the people actually on shift, not estimated in a workshop.</li>



<li>Third parties with standing access paths into your OT. The target is zero. Everything else becomes just-in-time.</li>
</ol>



<p class="wp-block-paragraph">Attribution may firm up, or the ambiguity may itself be the point — it serves the attacker either way. The five numbers above will not tell you who attacked Minnesota. They tell you how much room the next attacker has inside your plant. The next campaign gets to learn from this one. Attribution can wait. Your exposure math cannot.</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[The Death of Trust:  AI, Espionage, and the Hybrid Threat]]></title>
<description><![CDATA[AI agents are already closing tickets and running triage inside forward-looking MSPs. The governance conversation is no longer theoretical, it’s operational.
The post The Death of Trust:  AI, Espionage, and the Hybrid Threat first appeared on Teramind.]]></description>
<link>https://tsecurity.de/de/3702587/it-security-nachrichten/the-death-of-trust-ai-espionage-and-the-hybrid-threat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702587/it-security-nachrichten/the-death-of-trust-ai-espionage-and-the-hybrid-threat/</guid>
<pubDate>Tue, 04 Aug 2026 10:47:25 +0200</pubDate>
<content:encoded><![CDATA[<p>AI agents are already closing tickets and running triage inside forward-looking MSPs. The governance conversation is no longer theoretical, it’s operational.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.teramind.co/podcasts/msp/the-death-of-trust-ai-espionage-and-the-hybrid-threat/">The Death of Trust:  AI, Espionage, and the Hybrid Threat</a> first appeared on <a rel="nofollow" href="https://www.teramind.co/">Teramind</a>.&lt;/p&gt;</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tabubruch: BMW zeigt im Auto Werbung mit Spider-Man]]></title>
<description><![CDATA[BMW zeigt seit dem 27. Juli 2026 in seinen Fahrzeugen eine Animation zum neuen Spider-Man-Film Spider-Man: Brand New Day an. Der bayerische Autohersteller verklärt den Werbefilm, den ein BMW-Fahrer hier auf Reddit veröffentlicht hat und der auf dem Control Display oberhalb der Mittelkonsole des B...]]></description>
<link>https://tsecurity.de/de/3702547/it-nachrichten/tabubruch-bmw-zeigt-im-auto-werbung-mit-spider-man/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702547/it-nachrichten/tabubruch-bmw-zeigt-im-auto-werbung-mit-spider-man/</guid>
<pubDate>Tue, 04 Aug 2026 10:45:06 +0200</pubDate>
<content:encoded><![CDATA[<div>
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>BMW zeigt seit dem 27. Juli 2026 in seinen Fahrzeugen eine Animation zum neuen Spider-Man-Film <a href="https://de.wikipedia.org/wiki/Spider-Man:_Brand_New_Day"><em>Spider-Man: Brand New Day</em></a> an. Der bayerische Autohersteller verklärt den Werbefilm, den ein BMW-Fahrer <a href="https://www.reddit.com/r/BMW/comments/1v802of/got_this_commercial_in_my_car_today_as_part_of/">hier auf Reddit veröffentlicht hat</a> und der auf dem Control Display oberhalb der Mittelkonsole des BMWs als “BMW and Spider-Man BRAND NEW DAY Exclusively in cinemas” zu sehen ist, als “moderne Mobilität”. Oder um die Marketingabteilung von BMW zu <a href="https://www.press.bmwgroup.com/deutschland/article/detail/T0459621DE/bmw-bringt-moderne-mobilitaet-in-den-sony-pictures-film-%E2%80%9Espider-man%E2%84%A2:-brand-new-day%E2%80%9C?language=de">zitieren</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>BMW setzt im neuen Sony-Pictures-Film „Spider-Man: Brand New Day“ moderne Mobilität in Szene. Dieses Engagement verbindet die Marke BMW mit einer der weltweit erfolgreichsten Filmreihen. In bewegenden Rollen: der BMW iX3 als erstes Modell der Neuen Klasse und die BMW 5er Limousine mit ihren fortschrittlichen Technologien. BMW Fahrerinnen und Fahrer können in zahlreichen Märkten – die entsprechende Ausstattung vorausgesetzt – ab der Film-Premiere bis zum 10. August eine spezielle Spider-Man-Animation im Control Display abrufen.</p>
</blockquote>



<p>Mit anderen Worten: Bis zum 10. August 2026 sehen Sie den Werbefilm auf dem Fahrzeugdisplay. Sowohl der BMW iX3 als auch die BMW-5er-Limousine sind in dem neuen Spider-Man-Film zu sehen. Da passt es natürlich bestens, wenn BMW daran in seinen Fahrzeugen mit einem kleinen Werbefilm erinnert. BMW <a href="https://www.theautopian.com/bmw-is-showing-commercials-on-their-cars-dash-screens-and-they-want-you-to-think-its-a-treat/">versucht</a> diese Werbung als “Teil einer umfassenderen Markenpartnerschaft mit dem Film” schön zu reden, aber faktisch ist es nun einmal Werbung, die auf dem Control Display erscheint.</p>


<div class="wp-block-embed-reddit">
					<blockquote class="reddit-card">
						<a href="https://www.reddit.com/r/BMW/comments/1v802of/got_this_commercial_in_my_car_today_as_part_of/"></a>
					</blockquote>
				</div>


<p>Beim Starten eines BMW erscheint auf dem Control Display ein Banner mit der Frage, ob man die Animation sehen möchte. Entscheidet man sich für Ja, startet der Film zusammen mit Hintergrundmusik und einer angepassten Ambientebeleuchtung. Zudem können Sie den Film als App jederzeit noch einmal starten.</p>



<p>Obwohl es scheinbar die Möglichkeit gibt, die Anzeige zu überspringen, fallen <a href="https://www.reddit.com/r/BMW/comments/1v802of/got_this_commercial_in_my_car_today_as_part_of/">die Kommentare auf Reddit dazu überwiegend negativ aus.</a> Noch vor einigen Jahren hatte BMW <a href="https://www.bmwblog.com/2023/12/15/bmw-no-ads-inside-cars/">versprochen</a>, keine Werbung im Auto anzeigen zu wollen.</p>



<h2 class="wp-block-heading">Das sind die technischen Voraussetzungen</h2>



<p>Damit Sie den kurzen Werbefilm auf dem Control Panel eines BMW sehen können, muss Ihr BMW mit der entsprechenden Sonderausstattung und dem BMW Operating System 7, 8, 8.5, 9 oder dem BMW Operating System X ausgestattet sein sowie ein Produktionsdatum nach Juli 2020 aufweisen. Diese “festlichen Animationen” (O-Ton BMW!) sind weltweit in mehr als 70 Ländern für Fahrzeuge verfügbar.</p>



<p><a href="https://www.pcwelt.de/article/3167469/bmw-ix3-50-xdrive-test.html" target="_blank" rel="noreferrer noopener">BMW iX3 50 xDrive im Test: Extreme Reichweite und Fahrspaß</a></p>

<img class="vgwort" src="https://ssl-idgmagazine.met.vgwort.de/na/dd1ce16d8bfa45b797d6552e8bee8289" width="1" height="1" alt="vgwort"></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘Fortnite on steroids’: the virtual gaming worlds transformed to train British soldiers]]></title>
<description><![CDATA[Inside Skyral, part of a consortium that won a £2bn MoD contract to help forces game out complex decisionsOn a sunny July day in Riga, Latvia, a Nato convoy drives down a street lined with kebab shops and a pharmacy. At a downtown intersection, there is the sound of an explosion and the lead tank...]]></description>
<link>https://tsecurity.de/de/3702503/it-nachrichten/fortnite-on-steroids-the-virtual-gaming-worlds-transformed-to-train-british-soldiers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702503/it-nachrichten/fortnite-on-steroids-the-virtual-gaming-worlds-transformed-to-train-british-soldiers/</guid>
<pubDate>Tue, 04 Aug 2026 09:29:44 +0200</pubDate>
<content:encoded><![CDATA[<p>Inside Skyral, part of a consortium that won a £2bn MoD contract to help forces game out complex decisions</p><p>On a sunny July day in Riga, Latvia, a Nato convoy drives down a street lined with kebab shops and a pharmacy. At a downtown intersection, there is the sound of an explosion and the lead tank bursts into flame.</p><p>These are real streets in Riga – Lāčplēša iela and the downtown corridor of Tērbatas iela. The kebab shops and the pharmacy are on them. The pedestrians who flee after the tank explodes and huddle at a distance are modelled after the population of Riga: some old, some young, some friendly to Nato, others less so.</p> <a href="https://www.theguardian.com/uk-news/2026/aug/04/fortnite-on-steroids-the-virtual-gaming-worlds-transformed-to-train-british-soldiers">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[North Korean Hackers Are Hiding Malware Servers Inside Empty Crypto Transfers]]></title>
<description><![CDATA[North Korean-linked attackers are using a new way to hide the servers that control malware. The method places a command server address inside an empty Ethereum transaction, making the activity look like a normal crypto transfer rather than a malware signal. The technique was found in two maliciou...]]></description>
<link>https://tsecurity.de/de/3702466/it-security-nachrichten/north-korean-hackers-are-hiding-malware-servers-inside-empty-crypto-transfers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702466/it-security-nachrichten/north-korean-hackers-are-hiding-malware-servers-inside-empty-crypto-transfers/</guid>
<pubDate>Tue, 04 Aug 2026 09:17:01 +0200</pubDate>
<content:encoded><![CDATA[<p>North Korean-linked attackers are using a new way to hide the servers that control malware. The method places a command server address inside an empty Ethereum transaction, making the activity look like a normal crypto transfer rather than a malware signal. The technique was found in two malicious npm packages, bianira-ui version 1.27.0 and fluid-type-ui version 2.0.8. Both packages […]</p>
<p>The post <a href="https://cybersecuritynews.com/north-korean-hackers-hiding-malware/">North Korean Hackers Are Hiding Malware Servers Inside Empty Crypto Transfers</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[DPRK NullReceiver Malware Hides C2 IPs in Zero-Value Ethereum Transactions]]></title>
<description><![CDATA[Researchers have identified a new DPRK-linked npm malware technique that hides command-and-control (C2) infrastructure inside ordinary Ethereum transactions. Named NullReceiver, the method was found in two trojanized npm packages, bianira-ui@1.27.0 and fluid-type-ui@2.0.8, which impersonate legit...]]></description>
<link>https://tsecurity.de/de/3702386/it-security-nachrichten/dprk-nullreceiver-malware-hides-c2-ips-in-zero-value-ethereum-transactions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702386/it-security-nachrichten/dprk-nullreceiver-malware-hides-c2-ips-in-zero-value-ethereum-transactions/</guid>
<pubDate>Tue, 04 Aug 2026 08:37:34 +0200</pubDate>
<content:encoded><![CDATA[<p>Researchers have identified a new DPRK-linked npm malware technique that hides command-and-control (C2) infrastructure inside ordinary Ethereum transactions. Named NullReceiver, the method was found in two trojanized npm packages, bianira-ui@1.27.0 and fluid-type-ui@2.0.8, which impersonate legitimate Tailwind CSS plugins. The packages are linked to the DPRK’s Contagious Interview campaign. Instead of embedding a malicious domain or […]</p>
<p>The post <a href="https://cyberpress.org/nullreceiver-hides-ethereum-c2/">DPRK NullReceiver Malware Hides C2 IPs in Zero-Value Ethereum Transactions</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 27,82ms -->