Executive Summary
It’s three a.m., do you know what your AI agent is doing? Unit 42 has responded to a growing number of AI token jacking cases resulting in staggering financial losses.
The financial loss comes from criminals gaining access to API keys used by legitimate developers for access to popular AI platforms. These keys are known as tokens, and their theft is called token hijacking, or token jacking for short.
The unrelenting frenzy of AI adoption and soaring costs of model access are converging into an irresistible opportunity for cybercriminals. Premium pricing on scarce AI processing power means stolen access via tokens can generate a quick and easy profit for attackers. Complex, patchwork billing management and limitless scaling by default can lead to massive financial losses in short periods.
Good security hygiene, combined with cutting-edge native AI protection tools, can prevent losses before they begin.
Palo Alto Networks customers are better protected through the following products and services:
- Prisma AIRS AI Gateway
- Idira Agentic Identity Security
- Koi Agentic Endpoint Security
- Cortex XDR and XSIAM
- Cortex Cloud Identity Security
- Advanced URL Filtering
The Unit 42 AI Security Assessment can help empower safe AI use and development.
If you think you might have been compromised or have an urgent matter, contact the Unit 42 Incident Response team.
| Related Unit 42 Topics | AI, LLM, Supply Chain |
How Tokens Work
Token jacking is a new AI-oriented spin on an old technique of stealing access to computing resources.
Establishing a session in service-based computing typically requires authentication, usually involving a username and password, and sometimes a secondary verification method. Many services allow an authenticated user to then generate keys that programs can use on a user's behalf to establish sessions without going through an interactive login to support automated processes. Within a session, the service provider and user have agreed on a structured way to pay to use their service to achieve a pre-defined objective.
AI — in particular, large language models (LLMs) — typically does not have pre-defined objectives. Users can and do carry on long conversations of widely varying complexity, which can consume enormous amounts of the provider’s computing resources. Automated processes also use LLMs to produce iterative content, which they then further process and return to the LLM with additional, related prompts.
To best support this freeform usage, providers typically break both the input prompt and the output data into small chunks called tokens. Regardless of the objective, billing is then based on how many of these tokens are consumed during the session.
Newer and more complex AI models charge more per token, ostensibly because more resources are required to deliver the output. To avoid interruptions in unpredictable workstreams, many providers do not limit the number of tokens an account can consume, instead tallying usage and billing on a cycle.
If an attacker can steal one of these keys, they may find themselves with unlimited programmatic access to tokens that they can then use themselves or resell to other users. Since billing occurs cyclically, the victim might not even be aware of the theft until the attacker has consumed a massive number of tokens.
Transfer Stations
To better understand token jacking, we must understand transfer stations. Skyrocketing token costs for frontier AI models and regional usage restrictions have spawned a massive gray market of fly-by-night vendors selling AI computing capacity at a fraction of the retail cost.
| Indicator | Context |
| Go-http-client/2.0,gzip(gfe) | User Agent associated with malicious API calls |
| 3.235.109[.]125 | Malicious API calls |
| 116.105.166[.]148 | Malicious API calls |
| 172.96.142[.]186 | Malicious API calls |
| 38.46.219[.]166 | Malicious API calls |
| 38.46.219[.]163 | Malicious API calls |
| 38.46.219[.]162 | Malicious API calls |
| 23.237.196[.]170 | Malicious API calls |
| 15.204.106[.]173 | Malicious API calls |
| 104.243.42[.]117 | Malicious API calls |
| 198.255.70[.]210 | Malicious API calls |
| 47.88.103[.]81 | Malicious API calls |
| 47.251.72[.]239 | Malicious API calls |
| 117.72.74[.]48 | Malicious login (Credential Theft) |
| 207.246.106[.]162 | Malicious login (Credential Theft) |
| 23.236.182[.]215 | Malicious login (Credential Theft) |
| 95.214.112[.]26 | Malicious login (Credential Theft) |
| amutes[.]com | Transfer station infrastructure |
| abb1[.]life | Transfer station infrastructure |