<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Celery - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/celery/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Sat, 17 Oct 2026 15:43:33 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/celery/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Shell Execution via Celery Worker Processes</title><link>https://feed.craftedsignal.io/briefs/2026-10-celery-worker-shell/</link><pubDate>Sat, 17 Oct 2026 15:43:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-celery-worker-shell/</guid><description>Detection of system shell spawning from Celery worker processes indicates potential command or prompt injection exploitation within Python-based AI agent task frameworks.</description><content:encoded><![CDATA[<p>This threat brief addresses the detection of unauthorized shell execution originating from Celery worker processes, a common pattern observed in recent AI-agent prompt injection attacks. When Celery - a popular distributed task queue for Python - is utilized to power LLM-based agents, malicious input passed as tasks can trigger the evaluation of raw strings in a shell context. This vulnerability typically arises when developers utilize insecure methods like <code>os.system</code> or <code>shell=True</code> in subprocess calls while processing untrusted LLM outputs. This activity is critical to monitor as it represents a post-exploitation phase where an attacker upgrades a prompt injection vulnerability into arbitrary code execution on the worker infrastructure, enabling data exfiltration or internal network pivoting.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious prompt targeting an LLM-powered agent application.</li>
<li>The LLM processes the input and returns a string containing shell metacharacters intended for system execution.</li>
<li>The agent backend receives the untrusted output and passes it as an argument to a Celery task.</li>
<li>The Celery worker process picks up the task from the message broker (e.g., Redis or RabbitMQ).</li>
<li>The Python task function executes the untrusted string via <code>os.system</code>, <code>subprocess.call</code> with <code>shell=True</code>, or similar insecure APIs.</li>
<li>A child shell process (e.g., <code>/bin/bash</code> or <code>/bin/sh</code>) is spawned directly from the Python worker process.</li>
<li>The attacker executes arbitrary commands within the spawned shell to maintain persistence or exfiltrate environment variables.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in full remote code execution on the worker infrastructure. Depending on the environment, this can lead to the exfiltration of sensitive LLM credentials, access to internal APIs, and further movement within the organization's cloud or container environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Deploy the provided Sigma rule to identify unauthorized shell spawning from Python-based Celery worker processes.</li>
<li>Audit codebases for the use of <code>shell=True</code> or <code>os.system</code> within task functions, ensuring that task arguments are properly sanitized or passed as command lists to avoid shell interpretation.</li>
<li>Implement strict network segmentation and apply the principle of least privilege to the service accounts running the Celery workers.</li>
<li>Enable system-level process monitoring (e.g., Auditd or eBPF-based agents) to capture the full command-line arguments of spawned shells.</li>
</ol>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>celery</category><category>python</category><category>command-injection</category><category>execution</category><category>linux</category></item></channel></rss>