Change
c3dd99d
c3dd99d82a3cff7ba354cce71b8ef280b62e5200 · commit on GitHub
gcloud-blog-feed: changed (551728 bytes, HTTP 200)
raw/gcloud-blog-feed/response.xml modified
- Source
- gcloud-blog-feed
- Lines added
- +280
- Lines removed
- -245
- Stored bytes at this commit
- 551,728
- Timestamp
- observed
- Raw artifact at this commit
- raw/gcloud-blog-feed/response.xml
Recorded headers
| observed_at | 2026-09-17T04:53:31.538Z |
|---|---|
| origin_date | null |
| status | 200 |
| final URL | https://cloudblog.withgoogle.com/products/ai-machine-learning/rss/ |
| etag | null |
| last-modified | null |
| date | Thu, 17 Sep 2026 04:53:31 GMT |
| age | null |
| cache-control | max-age=600 |
| cf-cache-status | null |
| content-encoding | gzip |
| content-length | null |
@
@@ -1,5 +1,259 @@<?xml version="1.0" encoding="utf-8"?>-
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>AI & Machine Learning</title><link>https://cloud.google.com/blog/products/a…+
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>AI & Machine Learning</title><link>https://cloud.google.com/blog/products/a…+
<div class="block-aside"><dl>+
<dt>aside_block</dt>+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Get vital board insights with Google Cloud&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0ed4f69d0&gt;), (&#x27;btn_text&#x27;, &#x27;Visit the hub&#x27…+
</dl></div>+
<div class="block-paragraph"><h3 data-block-key="hswvv"><b>‘Spellcheck for cybersecurity’ and beyond: How Google monitors AI threats and advances AI defenses</b></h3><p data-block-key="61crd"><i>By Sandra Joyce, VP, Google Threat Intelligence</i></p…+
<div class="block-paragraph_with_image"><div class="article-module h-c-page">+
<div class="h-c-grid uni-paragraph-wrap">+
<div class="uni-paragraph+
h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6+
h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3">+
+
+
+
+
+
+
+
+
+
+
<figure class="article-image--wrap-small+
+
"+
>+
+
+
+
+
<img+
src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2022_S_Joyce_Headshot.max-1000x1000.jpg"+
+
alt="Sandra Joyce">+
+
</a>+
+
<figcaption class="article-image__caption "><p data-block-key="nj7d4">Sandra Joyce, VP, Google Threat Intelligence</p></figcaption>+
+
</figure>+
+
+
+
+
+
+
+
<p data-block-key="0jyqm">Anyone operating in security knows that speculation is a major liability during periods of technological disruption. While there is plenty of hype and understandable concern around how threats might use and target AI, a CISO’s AI security strategy has to be anch…+
</div>+
</div>+
</div>+
+
</div>+
<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">When we strip away the noise and look at the telemetry, the real threat landscape boils down to three structural shifts that CISOs must address:</span></p>+
<ol>+
<li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">AI is reshaping how software is built. </span></p>+
</li>+
<li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">AI is expanding the attack surface.</span></p>+
</li>+
<li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">AI is enhancing threat capabilities. </span></p>+
</li>+
</ol>+
<p><span style="vertical-align: baseline;">Today, we’re sharing details on Google’s visibility into these three challenges, and our approach for solving them.</span></p>+
<p><strong style="vertical-align: baseline;">Building securely in the AI era </strong></p>+
<p><span style="vertical-align: baseline;">AI has fundamentally altered software development velocity. Across the industry, autonomous agents and AI workflows now push code into production at unprecedented speed. This creates exciting opportunities for innovation, yet CISOs are faced wit…+
<p><span style="vertical-align: baseline;">We’re seeing threat actors turn our greatest engineering shortcut against us by contaminating upstream packages that AI assistants are trained to suggest and trust. GTIG believes that malicious contamination of AI-assisted coding practices has b…+
<div class="block-pull_quote"><div class="uni-pull-quote h-c-page">+
<section class="h-c-grid">+
<div class="uni-pull-quote__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6+
h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3">+
<div class="uni-pull-quote__inner-wrapper h-c-copy h-c-copy">+
<q class="uni-pull-quote__text">The solution to a machine-speed threat landscape isn&#x27;t slowing developers down — it’s building security natively into the AI pipeline. Part of this process involves in-editor guardrails for developers that create a real-time &#x27;spellcheck…+
+
+
</div>+
</div>+
</section>+
</div>+
+
</div>+
<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">We’re also monitoring adversaries targeting agents. The financially-motivated threat actor TeamPCP (UNC6780) has implemented more than half a dozen methods to exploit AI tools and open-source software …+
<p><span style="vertical-align: baseline;">The solution to a machine-speed threat landscape isn't slowing developers down — it’s building security natively into the AI pipeline. Part of this process involves in-editor guardrails for developers that create a real-time “spellcheck for cybe…+
<p><span style="vertical-align: baseline;">Just as word processors underline typos without forcing the writer to stop, security controls must sit natively inside the developer’s editor and agentic workflows, instantly flagging poisoned packages, toxic prompts, and misconfigured toolkits.…+
<p><span style="vertical-align: baseline;">Crucially, this can’t stop at the editor. Traditional security suffers from context blindness: Code editors can’t see cloud configurations, delivery pipelines miss runtime exposure, and production teams can’t easily patch root-cause blueprints. …+
<p><span style="vertical-align: baseline;">Bridging this gap requires an integrated code-to-cloud approach — the exact design principle behind platforms like </span><a href="https://www.wiz.io/platform/wiz-code" rel="noopener" target="_blank"><span style="text-decoration: …+
<p><span style="vertical-align: baseline;">When organizations think about AI-driven code analysis, the default assumption is to pick one frontier model and point it at their repository. However, our research and telemetry show that single-model security creates a dangerous monoculture: N…+
<div class="block-pull_quote"><div class="uni-pull-quote h-c-page">+
<section class="h-c-grid">+
<div class="uni-pull-quote__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6+
h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3">+
<div class="uni-pull-quote__inner-wrapper h-c-copy h-c-copy">+
<q class="uni-pull-quote__text">To secure this expanding attack surface, CISOs should avoid the trap of managing AI through disconnected silos... The future of cloud and AI defense needs to be built on a unified and dynamic graph that connects your code, your models, your data lineage,…+
+
+
</div>+
</div>+
</section>+
</div>+
+
</div>+
<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">To solve this, Google takes a </span><a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-next-26-why-we-re-multicloud-and-multi-ai"><span style="tex…+
<p><strong style="vertical-align: baseline;">Securing AI </strong></p>+
<p><span style="vertical-align: baseline;">Securing the development lifecycle is only half the battle. We also need to prevent adversaries from exploiting AI attack surfaces and weaponizing over-privileged agents. Threat actors are targeting AI workloads with techniques that include: <…+
<ul>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><strong style="vertical-align: baseline;">LLMJacking</strong><span style="vertical-align: baseline;">: Cybercriminals and state-sponsored groups target GPU access to support running their AI models and agentic workflows. In one notable intrusion Mandian…+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><strong style="vertical-align: baseline;">Targeting of AI data and access</strong><span style="vertical-align: baseline;">: Cybercriminals now recognize that your custom prompts, agent instructions, and fine-tuned models represent high-value crown jewel…+
</li>+
</ul>+
<p><span style="vertical-align: baseline;">To secure this expanding attack surface, CISOs should avoid the trap of managing AI through disconnected silos. Don’t treat agent access policies, model inventories (AI-BOMs) and shadow AI as separate challenges because these risks are deeply co…+
<p><span style="vertical-align: baseline;">Pioneered by the </span><a href="https://www.wiz.io/lp/wiz-security-graph" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Wiz Security Graph</span></a><span sty…+
<p><strong style="vertical-align: baseline;">Defending against AI threats</strong></p>+
<p><span style="vertical-align: baseline;">Threat actors are rapidly moving beyond simple prompt generation toward fully-automated, multi-agent attack pipelines.</span></p></div>+
<div class="block-pull_quote"><div class="uni-pull-quote h-c-page">+
<section class="h-c-grid">+
<div class="uni-pull-quote__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6+
h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3">+
<div class="uni-pull-quote__inner-wrapper h-c-copy h-c-copy">+
<q class="uni-pull-quote__text">To take advantage of your deep context, it’s imperative to shift from manual, human-scale incident response to machine-speed security operations. We can no longer rely on human analysts manually triaging endless backlogs of static alerts.</q>+
+
+
</div>+
</div>+
</section>+
</div>+
+
</div>+
<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">In one notable intrusion investigated by Mandiant, a financially-motivated actor compromised an organization's cloud infrastructure and deployed an autonomous agent framework. The threat actor used an …+
<p><span style="vertical-align: baseline;">We’re also tracking adversaries using AI as an intelligent orchestrator across the entire attack lifecycle. GTIG recently observed a PRC-nexus espionage group experimenting with a tool called CC Switch to cycle across multiple accounts and swap …+
<p><span style="vertical-align: baseline;">While these machine-speed attacks sound daunting, defenders actually hold an asymmetric advantage. Even when armed with autonomous AI, an attacker operates from the outside with limited context — probing in the dark, guessing connections, and ho…+
<p><span style="vertical-align: baseline;">Defenders, on the other hand, </span><a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-how-ai-leverages-deep-context-defenders-advantage"><span style="text-decoration: underline; vertical-al…+
<p><span style="vertical-align: baseline;">To take advantage of your deep context, it’s imperative to shift from manual, human-scale incident response to machine-speed security operations. We can no longer rely on human analysts manually triaging endless backlogs of static alerts. </s…+
<p><span style="vertical-align: baseline;">By codifying our frontline threat intelligence directly into these AI models, these autonomous agents can continuously monitor for, investigate, prioritize, and remediate attacks.</span></p>+
<p><strong style="vertical-align: baseline;">How Google is helping defend the ecosystem</strong><span style="vertical-align: baseline;"> </span></p>+
<p><span style="vertical-align: baseline;">As adversaries adopt AI, we have a unique opportunity to disrupt them at the source. As a major security and AI provider, we take this responsibility seriously, using multiple levers to stay ahead.</span></p>+
<ul>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><strong style="vertical-align: baseline;">Disabling malicious infrastructure</strong><span style="vertical-align: baseline;">. If you use Google tools to facilitate an attack, you lose access to those tools. We proactively disable the projects, accounts…+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><strong style="vertical-align: baseline;">Hardening our AI models and classifiers</strong><span style="vertical-align: baseline;">. We operate a continuous feedback loop for our AI models. By feeding threat intelligence directly back into product develo…+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><strong style="vertical-align: baseline;">Automating vulnerability hunting and patching also disrupt adversaries</strong><span style="vertical-align: baseline;">. We are moving from manual patching to AI-driven hunting. Tools like </span><a hre…+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><strong style="vertical-align: baseline;">Developing advanced defenses and threat models</strong><span style="vertical-align: baseline;">. Our teams at Google DeepMind are building specialized defenses for generative AI — deploying active monitoring acr…+
</li>+
</ul>+
<p><span style="vertical-align: baseline;">Securing the AI era can’t be achieved with the disconnected, manual tools of the past, and you can only defend against an AI-powered threat with an AI-powered defense. To tip the scales back in favor of defenders, we must transition to a continu…+
<p><span style="vertical-align: baseline;">To learn more about our approach to securing the AI era, please check out our new </span><a href="https://cloud.google.com/security/resources/ai-risk-and-resilience-2026"><span style="text-decoration: underline; vertical-align: ba…+
<div class="block-aside"><dl>+
<dt>aside_block</dt>+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Learn something new&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0ed4f6f10&gt;), (&#x27;btn_text&#x27;, &#x27;Watch now&#x27;), (&#x27;href&#x2…+
</dl></div>+
<div class="block-paragraph"><h3 data-block-key="4bd61"><b>In case you missed it</b></h3><p data-block-key="cvt34">Here are the latest updates, products, services, and resources from our security teams so far this month:</p><ul><li data-block-key="7…+
<div class="block-aside"><dl>+
<dt>aside_block</dt>+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Join the Google Cloud CISO Community&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0ed4f5d90&gt;), (&#x27;btn_text&#x27;, &#x27;Learn more&#x27;), (&…+
</dl></div>+
<div class="block-paragraph"><h3 data-block-key="29tyz"><b>Threat Intelligence news</b></h3><ul><li data-block-key="2prfo"><b>AI Threat Tracker: From prompting to autonomy</b>: In the newest Google Threat Intelligence Group (GTIG) report on the a…+
<div class="block-paragraph"><h3 data-block-key="rcfc5"><b>Now hear this: Podcasts from Google Cloud</b></h3><ul><li data-block-key="d67qn"><b>Cloud Security Podcast: Patching browsers with AI, agents, Rust, and your tabs</b>: Jasika Bawa and Dou…+
<p><span style="vertical-align: baseline;">Orange calls these FinOps Clean Days. Together with gamified hackathons, they've earned the company's 100-plus person FinOps community a Net Promoter Score within the organization that’s above 70.</span></p>+
<p><span style="vertical-align: baseline;">Those numbers point at something the wider industry is wrestling with. Recent State of FinOps reports identify getting engineers to take action as one of the top challenges organizations face. Moving from awareness to action means finding ways t…+
<p><span style="vertical-align: baseline;">That makes FinOps a business change problem. And business change problems have known solutions. We spoke with Camille Marini, the FinOps lead at Orange, to get a deeper understanding of how the company overcame these hurdles to accelerate AI ado…+
<h2><span style="vertical-align: baseline;">Why the Clean Days work</span></h2>+
<p><span style="vertical-align: baseline;">Orange has held two principles since it set up its FinOps team. First, Cloud FinOps is a shared responsibility, with every stakeholder in a project involved in their own way. And the only path to that shared responsibility runs through communica…+
<p><span style="vertical-align: baseline;">“We insisted on the concept of shared responsibility across the organization for our FinOps practices,” Marini told us. “It’s very similar to how we approach cloud security. We needed to make teams understand that every single stakeholder in a p…+
<p><span style="vertical-align: baseline;">Those principles led Orange to create a FinOps Community of Practice, with support from Google Cloud Consulting. The team ran it on standardized communication channels so the methodology reached well beyond the central group, and kept the meetin…+
<p><span style="vertical-align: baseline;">The Clean Days came from a clear-eyed reading of how agile teams actually operate. In agile environments with deployment running constantly, optimization work rarely wins against the sprint. Delivery priorities, backlogs, and daily operations ta…+
<p><span style="vertical-align: baseline;">McKinsey's four building blocks of change explain why this approach lands. Any large organizational change, the framework holds, requires action across four areas:</span></p>+
<ul>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">Conviction and understanding: "I know what is expected of me and I agree with it."</span></p>+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">Formal mechanisms: "The structures, processes, and systems reinforce the change."</span></p>+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">Role modeling: "I see my leaders and colleagues behaving differently."</span></p>+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">Talent and skills: "I have the skills and opportunities to behave in a new way."</span></p>+
</li>+
</ul>+
<p><span style="vertical-align: baseline;">Map Orange's practice onto those blocks and the pattern is visible. Gamification and rewards give engineers colleagues to emulate: The leaderboard makes different behavior visible, and sponsors see the quick wins for themselves. Experienced prac…+
<div class="block-image_full_width">+
+
+
+
+
+
+
+
<div class="article-module h-c-page">+
<div class="h-c-grid">+
+
+
<figure class="article-image--large+
+
+
h-c-grid__col+
h-c-grid__col--6 h-c-grid__col--offset-3+
+
+
"+
>+
+
+
+
+
<img+
src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_m5giQlH.max-1000x1000.jpg"+
+
alt="image2">+
+
</a>+
+
<figcaption class="article-image__caption "><p data-block-key="j87xi">FinOps activities mapped to the four building blocks of change, with the points where AI agents can reinforce them.</p></figcaption>+
+
</figure>+
+
+
</div>+
</div>+
+
+
+
+
+
</div>+
<div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">What happens beyond 100 people</span></h2>+
<p><span style="vertical-align: baseline;">A community of 100 engaged people is an achievement. But in an organization with thousands of engineers, no central FinOps team can reach everyone directly. The question for leaders is how to extend what a community like Orange's creates — the a…+
<p><span style="vertical-align: baseline;">This is where AI agents extend the capabilities of a FinOps team with two core benefits. They take on complex, time-intensive activities that previously needed a human, and they reduce friction around FinOps for individuals across the business.&…+
<p><span style="vertical-align: baseline;">Getting teams to adopt them takes a strategy aimed at your own organization's pain points, which often come from high cognitive load, unclear accountability, or competing priorities. Start by finding where engagement drops off in your FinOps lif…+
<ul>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">An awareness gap: If teams are unsure of their spend impact, an insight agent can push real-time cost data into their daily tools.</span></p>+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">A bandwidth gap: If engineers are too busy with backlogs, a remediation agent can identify quick wins and present them as ready-to-merge code changes.</span></p>+
</li>+
<li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">+
<p role="presentation"><span style="vertical-align: baseline;">A complexity gap: If reporting feels like a manual chore, an orchestration agent can gather the data and simplify the process.</span></p>+
</li>+
</ul>+
<h2><span style="vertical-align: baseline;">Start with trust, then add autonomy</span></h2>+
<p><span style="vertical-align: baseline;">The sensible path runs in sequence. Establish the community practice, the way Orange did. Then introduce read-only agents that inform and suggest. Only once those are established across the community should you build agents that execute changes.…+
<p><span style="vertical-align: baseline;">How you build depends on who's building. For teams that want to deploy quickly with minimal code, the </span><a href="https://cloud.google.com/gemini-enterprise"><span style="text-decoration: underline; vertical-align: baseline;"&…+
<p><span style="vertical-align: baseline;">Cloud FinOps is moving beyond centralized reporting toward action that happens where the work does. The organizations getting there start with the culture, then use agents to carry it further than any one team could reach. </span></p>…+
<p><span style="vertical-align: baseline;">Orange's numbers came out of the community work. Building that foundation is the part worth copying first. When you're ready to extend it, </span><a href="https://cloud.google.com/consulting" rel="noopener" target="_blank"><span s…<p><span style="vertical-align: baseline;">Gemini Enterprise helps organizations bring helpful, secure AI directly into the daily work of their employees. It moves teams past basic chat interactions to automating multi-step, end-to-end workflows with AI agents. It connects with the tools…<p><span style="vertical-align: baseline;">We see this recognition from Gartner as validation of our goal: creating a unified platform where everyone — from business users to developers — can work alongside AI agents to accomplish more together.</span></p></div><div class="block-image_full_width">@
@@ -377,7 +631,7 @@<p><span style="vertical-align: baseline;">Instead of embedding raw Spanner table names and column assignments directly inside core DAO business logic, we isolate Spanner schema translation into dedicated converter units:</span></p></div><div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;// Example of the standardized pattern generated by our pipeline\r\n\r\ntype BpcTransferAmountsMutationConverter interface {\r\n ToInsertMutation(entity *model.BpcTransferAmount) (*spanner.Mutation, error)\r\n …+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;// Example of the standardized pattern generated by our pipeline\r\n\r\ntype BpcTransferAmountsMutationConverter interface {\r\n ToInsertMutation(entity *model.BpcTransferAmount) (*spanner.Mutation, error)\r\n …</dl></div><div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">By establishing a rigid, deterministic contract between the DAO and the Spanner SDK (</span><span style="vertical-align: baseline;">spanner.Mutation</span><span style="vertical-ali…<h3><span style="vertical-align: baseline;">Why use Antigravity</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">CLI in headless mode?</span></h3>@
@@ -442,7 +696,7 @@</ul></div><div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;git clone https://github.com/google/mantis.git&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fb6a4151a00&gt;)])]&a…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;git clone https://github.com/google/mantis.git&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0edb34450&gt;)])]&a…</dl></div><div class="block-paragraph_advanced"><ul><li aria-level="1" style="list-style-type: disc; vertical-align: baseline;">@
@@ -502,7 +756,7 @@<p><span style="vertical-align: baseline;">Stay tuned for monthly updates on Google Cloud’s AI announcements, news, and best practices. For a deeper dive into the latest from Google Cloud customers, read our monthly recap, </span><a href="https://cloud.google.com/blog/topics/cus…<div class="block-aside"><dl> <dt>aside_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud AI and ML&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fb696843100&gt;), (&#x27;btn_text&#x27;, &#x27;Start building …+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud AI and ML&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0ed411810&gt;), (&#x27;btn_text&#x27;, &#x27;Start building …</dl></div><div class="block-paragraph_advanced"><hr/><h2 style="text-align: center;"><span style="vertical-align: baseline;">July</span></h2>@
@@ -2045,7 +2299,7 @@<p><span style="vertical-align: baseline;"><a href="https://cloud.google.com/ai/financial-services"><span style="text-decoration: underline; vertical-align: baseline;">Gemini Enterprise for Financial Services</span></a><span style="vertical-align: baseline;">…<div class="block-aside"><dl> <dt>aside_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Get vital board insights with Google Cloud&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fb6977ca190&gt;), (&#x27;btn_text&#x27;, &#x27;Visit the hub&#x27…+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Get vital board insights with Google Cloud&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0ed77af50&gt;), (&#x27;btn_text&#x27;, &#x27;Visit the hub&#x27…</dl></div><div class="block-paragraph"><h3 data-block-key="hswvv"><b>How to stay strong with security fundamentals in the AI era</b></h3><p data-block-key="eoh1k"><i>By Chris Betz, CISO, Google Cloud</i></p></div><div class="block-paragraph_with_image"><div class="article-module h-c-page">@
@@ -2126,12 +2380,12 @@<p><span style="vertical-align: baseline;">To learn more about building and maintaining strong security foundations in the AI era, read our newest </span><a href="https://cloud.google.com/security/resources/cyber-snapshot-reports"><span style="text-decoration: underline; v…<div class="block-aside"><dl> <dt>aside_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Learn something new&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fb6977ca310&gt;), (&#x27;btn_text&#x27;, &#x27;Watch now&#x27;), (&#x27;href&#x2…+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Learn something new&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0edfc0dd0&gt;), (&#x27;btn_text&#x27;, &#x27;Watch now&#x27;), (&#x27;href&#x2…</dl></div><div class="block-paragraph"><h3 data-block-key="4bd61"><b>In case you missed it</b></h3><p data-block-key="5tvtn">Here are the latest updates, products, services, and resources from our security teams so far this month:</p><ul><li data-block-key="4…<div class="block-aside"><dl> <dt>aside_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Join the Google Cloud CISO Community&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fb6977ca9d0&gt;), (&#x27;btn_text&#x27;, &#x27;Learn more&#x27;), (&…+
<dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Join the Google Cloud CISO Community&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x7fc0edba1cd0&gt;), (&#x27;btn_text&#x27;, &#x27;Learn more&#x27;), (&…</dl></div><div class="block-paragraph"><h3 data-block-key="29tyz"><b>Threat Intelligence news</b></h3><ul><li data-block-key="cm2sc"><b>Staying ahead of adversarial AI through agentic source code review</b>: To help defenders implement agentic approaches s…<div class="block-paragraph"><h3 data-block-key="rcfc5"><b>Now hear this: Podcasts from Google Cloud</b></h3><ul><li data-block-key="drbpp"><b>Cloud Security Podcast: All about Project Atlas, Wiz's AI vulnerability research</b>: Near Orfeld, head…@
@@ -2534,7 +2788,7 @@<p><span style="vertical-align: baseline;">The unified </span><a href="https://github.com/googleapis/python-genai" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">google-genai</span></a><span style="verti…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Prototype: Google AI Studio, raw API key\r\nfrom google import genai\r\nclient = genai.Client(api_key=&quot;YOUR_AI_STUDIO_KEY&quot;)\r\n\r\n# Production: GEAP, no key — uses Application Default Credentials…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Prototype: Google AI Studio, raw API key\r\nfrom google import genai\r\nclient = genai.Client(api_key=&quot;YOUR_AI_STUDIO_KEY&quot;)\r\n\r\n# Production: GEAP, no key — uses Application Default Credentials…</dl></div><div class="block-paragraph_advanced"><h3><span style="vertical-align: baseline;">#2 How do I set up a Google Cloud project without becoming an IAM expert?</span></h3><p><span style="vertical-align: baseline;">The biggest reason startups stall on the migration to Agent Platform isn't the code, it's the operational leap from "here's an API key" to a cloud project with folders, service accounts, org policies, logging, and IAM bindings. If your team does…@
@@ -2552,7 +2806,7 @@</ol></div><div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# One-shot: create a Vertex-ready project and turn on the services a\r\n# typical AI startup uses.\r\ngcloud projects create my-startup-prod --name=&quot;My Startup (prod)&quot;\r\ngcloud config set project m…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# One-shot: create a Vertex-ready project and turn on the services a\r\n# typical AI startup uses.\r\ngcloud projects create my-startup-prod --name=&quot;My Startup (prod)&quot;\r\ngcloud config set project m…</dl></div><div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Sources: </span><a href="https://cloud.google.com/sdk/gcloud/reference/services/enable"><span style="text-decoration: underline; vertical-align: baseline;">gcloud services enable refe…<p><span style="vertical-align: baseline;">If you're a solo founder, resist the urge to build in your personal GCP account. Create a proper organization or self-owned org first, then create the project </span><span style="font-style: italic; vertical-align: baseline;">inside&…@
@@ -2572,11 +2826,11 @@<p><span style="vertical-align: baseline;">The pattern you're aiming for is one where your </span><span style="font-style: italic; vertical-align: baseline;">code never sees a key at all</span><span style="vertical-align: baseline;">. It just calls the </span&g…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# On a developer laptop\r\ngcloud auth application-default login\r\n\r\n# On a server (Cloud Run, GKE, etc.) — no login, no key file.\r\n# Attach a service account with just the roles the app needs.\r\ngcloud run dep…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# On a developer laptop\r\ngcloud auth application-default login\r\n\r\n# On a server (Cloud Run, GKE, etc.) — no login, no key file.\r\n# Attach a service account with just the roles the app needs.\r\ngcloud run dep…</dl></div><div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Application code — notice: no keys, no secrets.\r\nfrom google import genai\r\n\r\nclient = genai.Client(\r\n vertexai=True,\r\n project=&quot;my-startup-prod&quot;,\r\n location=&quot;us-centr…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Application code — notice: no keys, no secrets.\r\nfrom google import genai\r\n\r\nclient = genai.Client(\r\n vertexai=True,\r\n project=&quot;my-startup-prod&quot;,\r\n location=&quot;us-centr…</dl></div><div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Do one last favor to your future self: give that service account the </span><span style="font-style: italic; vertical-align: baseline;">minimum</span><span style="vertical-align: b…<h3><span style="vertical-align: baseline;">#4 When should I actually stop procrastinating and migrate from AI Studio's API key to Agent Platform's IAM model?</span></h3>@
@@ -2600,7 +2854,7 @@<p><span style="vertical-align: baseline;">Practical checklist for cutover day:</span></p></div><div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# 1. Revoke every existing AI Studio key that has ever left a laptop.\r\n# (Go to https://aistudio.google.com/apikey and delete them.)\r\n\r\n# 2. Confirm your production code has no api_key= arguments.\r\ngrep -r…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# 1. Revoke every existing AI Studio key that has ever left a laptop.\r\n# (Go to https://aistudio.google.com/apikey and delete them.)\r\n\r\n# 2. Confirm your production code has no api_key= arguments.\r\ngrep -r…</dl></div><div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">If step 3 prints a response, you're on Agent Platform.</span></p><h3><span style="vertical-align: baseline;"><span style="vertical-align: baseline;">Scale: get more capacity without paying a premium.</span></span></h3>@
@@ -2618,19 +2872,19 @@<p><strong style="vertical-align: baseline;">Pin to a regional endpoint.</strong><span style="vertical-align: baseline;"> Over half of startup traffic on Agent Platform defaults to global routing. Pinning to a specific region (say </span><strong style="vertical-align…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;from google import genai\r\n\r\n# Global (default): competes against worldwide demand.\r\n# Regional: routes only to the regional cluster, less contention.\r\nclient = genai.Client(\r\n vertexai=True,\r\n proje…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;from google import genai\r\n\r\n# Global (default): competes against worldwide demand.\r\n# Regional: routes only to the regional cluster, less contention.\r\nclient = genai.Client(\r\n vertexai=True,\r\n proje…</dl></div><div class="block-paragraph_advanced"><p><strong style="vertical-align: baseline;">Add real retry and backoff.</strong><span style="vertical-align: baseline;"> A 429 is a retryable signal, not a fatal error. Any production client should have exponential backoff with jit…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;from google import genai\r\nfrom google.genai import types\r\n\r\nclient = genai.Client(\r\n vertexai=True, project=&quot;my-startup-prod&quot;, location=&quot;us-central1&quot;,\r\n http_option…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;from google import genai\r\nfrom google.genai import types\r\n\r\nclient = genai.Client(\r\n vertexai=True, project=&quot;my-startup-prod&quot;, location=&quot;us-central1&quot;,\r\n http_option…</dl></div><div class="block-paragraph_advanced"><p><strong style="vertical-align: baseline;">How do you see this coming? </strong><span style="vertical-align: baseline;">Preferably not from a user telling you. Agent Platform publishes serving metrics to Cloud Monitoring, and the…<p><span style="vertical-align: baseline;">The metric to actually alert on is </span><code style="vertical-align: baseline;">aiplatform.googleapis.com/publisher/online_serving/model_invocation_count</code><span style="vertical-align: baseline;">. It carries an <…<p><span style="vertical-align: baseline;">One thing worth internalizing, because it trips people up: you cannot build a "warn me at 80% of my quota" alert for Standard PayGo. Under Dynamic Shared Quota there is no fixed per-project number to be at 80% of. A 429 means transient contentio…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;gcloud monitoring policies create --policy-from-file=capacity-alert.yaml&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;gcloud monitoring policies create --policy-from-file=capacity-alert.yaml&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x…</dl></div><div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Sources: </span><a href="https://cloud.google.com/monitoring/api/metrics_gcp_a_b"><span style="text-decoration: underline; vertical-align: baseline;">Agent Platform metrics list</s…<p><span style="vertical-align: baseline;">Follow the </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/quotas"><span style="text-decoration: underline; vertical-align: baseline;">Agent Platform rate limits documentation</span></a><spa…@
@@ -2719,7 +2973,7 @@</ol></div><div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Priority PayGo request: use the global endpoint + two extra headers.\r\nfrom google import genai\r\nfrom google.genai import types\r\n\r\nclient = genai.Client(vertexai=True, project=&quot;my-startup-prod&q…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Priority PayGo request: use the global endpoint + two extra headers.\r\nfrom google import genai\r\nfrom google.genai import types\r\n\r\nclient = genai.Client(vertexai=True, project=&quot;my-startup-prod&q…</dl></div><div class="block-paragraph_advanced"><p role="presentation"><span style="vertical-align: baseline;">3. </span><strong style="vertical-align: baseline;">Once you can predict your baseline TPM,</strong><span style="vertical-align: baseline;"> buy PT to cover …<p><span style="vertical-align: baseline;"> Sources: </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo"><span style="text-decoration: underline; vertical-align: baseline;">Priority PayGo docs</span></a><span style="verti…@
@@ -2740,7 +2994,7 @@<p><span style="vertical-align: baseline;">Batch prediction on Agent Platform runs in a completely separate queue, does not consume your interactive DSQ, and is typically about half the price of on-demand inference. That's a rare double win: faster live traffic </span><span styl…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Kick off a batch prediction job from a JSONL file in Cloud Storage.\r\n# Each line is one prompt; results land in another Cloud Storage prefix.\r\nfrom google import genai\r\nfrom google.genai import types\r\n\r\nc…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Kick off a batch prediction job from a JSONL file in Cloud Storage.\r\n# Each line is one prompt; results land in another Cloud Storage prefix.\r\nfrom google import genai\r\nfrom google.genai import types\r\n\r\nc…</dl></div><div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Common candidates: nightly document summarization, background classification of new signups, bulk translation, embedding backfills, evaluation runs against your test set. If any of those are on your li…<h3><span style="vertical-align: baseline;">Govern: Keep costs, keys, and agents under control.</span></h3>@
@@ -2770,7 +3024,7 @@<p role="presentation"><span style="vertical-align: baseline;">2. </span><strong style="vertical-align: baseline;">A billing budget with a Pub/Sub trigger that disables billing</strong><span style="vertical-align: baseline;">. Still the right tool when you need bl…<div class="block-code"><dl> <dt>code_block</dt>-
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Sketch: create a budget SCOPED TO ONE PROJECT that publishes to Pub/Sub at 50%, 90%, 100%.\r\ngcloud billing budgets create \\\r\n --billing-account=012345-6789AB-CDEF01 \\\r\n --display-name=&quot;my-startup…+
<dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;# Sketch: create a budget SCOPED TO ONE PROJECT that publishes to Pub/Sub at 50%, 90%, 100%.\r\ngcloud billing budgets create \\\r\n --billing-account=012345-6789AB-CDEF01 \\\r\n --display-name=&quot;my-startup…Diff display stops at 400 lines. The line counts above are from the whole diff. 111 lines shown here cut at 300 characters. The raw artifact at this commit is linked above.