Brief IA

Cline: A Prompt Injection Exposes Its Releases

💻 Code & Dev·Tom Levy·

Cline: A Prompt Injection Exposes Its Releases

Cline: A Prompt Injection Exposes Its Releases
Key Takeaways
1Adnan Khan revealed a prompt injection attack targeting the Cline GitHub repository, exploiting automated issue triaging.
2The attack allowed the execution of malicious commands through issue titles, potentially compromising publication workflows.
3A cache contamination enabled the theft of critical secrets, resulting in the unauthorized release of cline@2.3.0.
💡Why it mattersThis vulnerability exposes the risks associated with automating workflows, highlighting the need to secure software development processes.
Le brief IA que lisent les pros

Le brief IA que les pros lisent chaque soir

Les 7 actus IA du jour, décryptées en 5 min. Gratuit.

Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.

Choisis ton rythme

Gratuit · Pas de spam · Désabonnement en 1 clic

📄
Full Analysis

A Sneaky Attack via GitHub

Adnan Khan has highlighted a clever attack method against Cline's GitHub repository, exploiting a vulnerability in automated issue triage. The attack begins with a prompt injection in the title of an open issue, targeting the action anthropics/claude-code-action@v1 used by Cline to manage issues.

This action was configured to execute Claude Code with authorized tools like "Bash, Read, Write, ..." every time an issue was opened. The prompt included the issue title, allowing an attacker to manipulate Claude into executing arbitrary commands.

Exploiting Workflows and Caches

The attack exploited an issue title designed to prompt the execution of malicious commands, such as installing a package via npm install. This package could then execute malicious code through a "preinstall" script in its package.json file.

Although the issue triage workflow did not have access to critical secrets, a flaw in GitHub's cache management was exploited. Caches exceeding 10 GB are evicted, and the attacker used the package cacheract to fill existing caches with 11 GB of useless data, evicting them and creating new caches containing a secret theft mechanism.

Cache Contamination and Unauthorized Release

GitHub Actions caches can share identical names across different workflows. In Cline's case, the issue triage and nightly publication workflows shared the same cache key for their node_modules folder. This allowed a successful prompt injection to contaminate the cache, which was then used by the nightly publication workflow.

Cline failed to promptly address the responsibly disclosed bug report and was exploited. This vulnerability led to the unauthorized release of cline@2.3.0 by an anonymous attacker. Fortunately, the attacker limited themselves to adding the installation of OpenClaw to the package, without taking more dangerous actions.

Brief IA — L'actualité IA en français

L'essentiel de l'actualité de l'intelligence artificielle, décrypté et expliqué chaque jour.