
Google ADK Agent Hijacking: Prompt Injection Exploits GitHub Workflows for Credential Exfiltration
A critical prompt injection vulnerability in Google's Agent Development Kit (ADK) GitHub repository allowed researchers to hijack AI agents, achieving arbitrary code execution and exfiltrating sensitive credentials by exploiting trusted bot identities. Client-side PII scrubbing prevents such credential exposure.

Published: · Updated: · 3 min read
Zero-Trust Data Sanitization
Watch PrivacyScrubber's local engine transform sensitive Security data instantly in your browser, without any API calls.
The Agentjacking Mechanism: Exploiting Trust in AI Workflows
Google has recently addressed a critical security vulnerability within its Agent Development Kit (ADK) GitHub repository, following a disclosure by Pillar Security. The firm demonstrated an 'agentjacking' attack where a malicious GitHub issue was designed to prompt-inject a triage AI agent. This agent, operating with trusted 'collaborator' status, was manipulated into triggering a privileged code-fixing agent. This allowed for arbitrary code execution on the continuous integration (CI) runner, leading to the unauthorized exfiltration of sensitive credentials including the bot's Personal Access Token (PAT), a Google API key, and a Google Cloud service-account credential. The incident highlights a growing concern in AI Security Strategy, where the interplay of agent autonomy and privileged access can create novel attack vectors.
Data Exposure Risks and Supply Chain Vulnerabilities
The core of this vulnerability lay in the improper authorization gates that checked *who* posted a command rather than verifying if the trusted account had been manipulated by untrusted input. This enabled the AI agent to act on broad repository credentials, posing significant data exposure risks within the development pipeline. Had this been exploited maliciously in the wild, the potential for intellectual property theft or further lateral movement within Google's cloud infrastructure would have been substantial. The event serves as a stark reminder of the sophisticated threats AI agents can introduce into the software supply chain, a challenge echoed in other recent incidents like the Anthropic Claude AI Breaches Three Companies. Such incidents underscore the need for robust security controls beyond traditional perimeter defenses.
PrivacyScrubber's Role in Mitigating Agent-on-Agent Attacks
PrivacyScrubber provides a powerful, client-side solution to prevent such prompt injection and credential exfiltration attacks. By performing 100% client-side scrubbing, PrivacyScrubber intercepts and redacts sensitive data, including API keys, PATs, and other PII/credentials, before they ever leave the user's browser or device. This local processing within secure WASM browser RAM ensures 0ms network latency for scrubbing operations, eliminating the window for network interception or manipulation. Utilizing sophisticated Named Entity Recognition (NER), PrivacyScrubber can accurately identify and mask sensitive tokens, ensuring that AI agents only receive sanitized prompts. This protects against unauthorized access to critical systems and helps organizations maintain strict local log sanitization, preventing the leakage of sensitive data that could lead to GDPR Article 28 violations risking fines up to 4% of global annual turnover.
PrivacyScrubber's zero-server architecture ensures that sensitive prompts and data mappings, managed in a tab-isolated sessionMap, never touch external servers, dramatically reducing the attack surface. Furthermore, our implementation of robust cryptographic primitives like XChaCha20-Poly1305 (via libsodium-wrappers-sumo) provides end-to-end encryption for any transient data, offering an unparalleled layer of security against advanced AI-driven threats. By adopting PrivacyScrubber, organizations can harden their AI agent pipelines against agentjacking and other injection attacks, ensuring that sensitive internal credentials remain secure and untampered.
How to Protect Data for Google ADK Agent Hijacking
PrivacyScrubber operates entirely client-side. Whether using the copy-paste dashboard or the browser extension, your sensitive records stay on your local device. Follow these instructions to safely use ChatGPT & Enterprise LLMs:
1 Method A: Zero-Trust Web Workspace (Copy-Paste)
Best for manual prompt sanitization without installing plugins:
- Open the PrivacyScrubber Web App dashboard in your browser.
- Paste the raw prompt or text containing sensitive details of Google ADK Agent Hijacking.
- Click Protect PII. Sensitive data is instantly swapped for secure placeholders (e.g.,
[NAME_1]). - Submit the sanitized prompt to ChatGPT & Enterprise LLMs.
- Paste the AI's answer into the Reveal Originals box to instantly restore the original values.
2 Method B: Chrome Extension (In-Context Redaction)
For automated, inline de-identification within chat interfaces:
- Install the free PrivacyScrubber Chrome Extension from the Web Store.
- Navigate to your AI chat interface. A PrivacyScrubber shield button will appear inline.
- Paste your raw prompt. Click the shield button to sanitize all identifiers instantly in-place.
- Send the prompt to the AI chatbot.
- The extension automatically intercepts and detokenizes the response, displaying raw values to you.
Local Redaction & Risk Matrix for Security
| Detection Entity | Token Placeholder | Risk Level | Security Action |
|---|---|---|---|
| User / Server IP Addresses | [IP_ADDRESS] | High (DLP / Location footprinting) | IPv4 / IPv6 format strip |
| AWS_KEY Details | [AWS_KEY] | Medium (PII Exposure) | Deterministic local swap |
| INTERNAL_HOSTNAME Details | [INTERNAL_HOSTNAME] | Medium (PII Exposure) | Deterministic local swap |
| MAC_ADDRESS Details | [MAC_ADDRESS] | Medium (PII Exposure) | Deterministic local swap |
| VULN_ID Details | [VULN_ID] | Medium (PII Exposure) | Deterministic local swap |
From Raw Security Data to Clean AI Prompt — 3 Steps, 30 Seconds, Zero Server Hops
Open PrivacyScrubber or the Chrome Extension. Paste your real Google ADK Agent Hijacking text. What reaches ChatGPT looks like this: [NAME_1][EMAIL_1]. Your original data stays local the entire time.
Step 1: Paste Your Real Data
Paste your actual Google ADK Agent Hijacking text into PrivacyScrubber — or click the shield icon directly inside ChatGPT, Claude, or Gemini. No copy-paste workaround. No second tab. It sits right where you already work.
[IP_ADDRESS][AWS_KEY][INTERNAL_HOSTNAME][MAC_ADDRESS][VULN_ID]Step 2: Names Out, Tokens In — Locally
The engine runs inside your browser. Every real name, ID, and email is replaced with a safe token ([NAME_1], [EMAIL_1]) before the prompt is sent. The AI analyzes your actual business logic — but sees zero real identities.
Step 3: Get the AI's Answer Back in Plain Language
Paste the AI's response into Reveal Originals. PrivacyScrubber swaps every token back to the original value — instantly, inside browser RAM. Close the tab and every mapping is gone. Nothing stored, nothing logged, nothing sent.
Enterprise Adoption Use Cases
CISO Security TeamDLP GOVERNANCE
VP of EngineeringENGINEERING
Risk & Audit LeadCOMPLIANCE
Data Protection OfficerGDPR COMPLIANCE
Your Whole Team on Real Client Data. Safely. $99/mo Flat.
No per-seat pricing. No DPA negotiation. No IT portal. Secure your entire organization with client-side PII masking — $99/month flat, unlimited users. SOC 2 & HIPAA ready. Works in Airplane Mode.
Zero-Trust Data Sanitization (ZTDS) — Verified Architecture
Independently auditable facts for Sensitive Data compliance teams
- Data transmission
- 0 bytes sent to any server
- Processing location
- 100% browser RAM (volatile memory)
- Session map persistence
- Destroyed on tab close — never written to disk
- Key derivation
- Argon2id (memory-hard, server-independent)
- Encryption cipher
- XChaCha20-Poly1305 (authenticated encryption)
- Offline verification
- Airplane Mode Standard — full function without network
- BAA / DPA required
- No — zero PHI/PII reaches PrivacyScrubber servers
- Audit method
- Chrome DevTools → Network tab — zero outbound requests
How to audit: Open PrivacyScrubber, enable Airplane Mode, paste any sensitive data text, click Protect PII. Open Chrome DevTools → Network tab. Zero outbound requests will confirm 100% local execution. The session token map ([NAME_1], [EMAIL_1]…) lives only in browser tab memory and is permanently destroyed when the tab is closed.