---
id: "MAL-2026-18124"
kind: "package"
aliases: ["MAL-2026-18124"]
title: "Malicious code in journey-test-helloshell (PyPI)"
severity: "critical"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "journey-test-helloshell", "fixed": [], "affected": "= 0.2.0", "ecosystem": "pypi"}]
ecosystems: ["pypi"]
tags: ["malicious", "package"]
not_affected_if: []
published_at: "2026-10-21T18:30:25+00:00"
first_seen_at: "2026-10-26T20:52:00+00:00"
updated_at: "2026-10-26T21:05:48+00:00"
sources: [{"source": "osv-malicious", "url": "https://osv.dev/vulnerability/MAL-2026-18124", "first_seen_at": "2026-10-26T20:52:00+00:00"}]
---

# Malicious code in journey-test-helloshell (PyPI)

## Affected

- pypi:journey-test-helloshell affected = 0.2.0 fixed ?

## Timeline

- 2026-10-26T20:52:00+00:00 osv-malicious https://osv.dev/vulnerability/MAL-2026-18124

## From the sources

---
_-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (0203fffc73ebe748d6defab0472b648408b29c959a9c6813f966df48cfafb21b)
setup.py registers a custom install command (cmdclass install hook) and also fires at module import that connects to the hardcoded bare-IP endpoint 137.131.233.62:8080 and bridges a /bin/bash -i subprocess over the socket, giving the operator interactive shell access on the installer's host. Before opening the shell, the code POSTs host identifiers (hostname, uid, JCX_ENVIRONMENT) over plaintext HTTP to http://137.131.233.62:443/shell-beacon. The install hook double-forks, calls setsid, redirects stdio to /dev/null, and enters an infinite reconnect loop with a 60-second sleep, persisting the backdoor beyond the pip install process. A /tmp/.jcx_channel.done guard file is used to coordinate the channel. Destination is a bare IP unrelated to any publisher domain.

## Source: kam193 (bdf4549e34df1c1c7dfd704454011cf0a26ea5807948e917d7bc65f130182fc9)
In specific environments, package starts a reverse shell during installation.


---

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.


Campaign: 2026-10-journey-test-helloshell


Reasons (based on the campaign):


 - The package contains code to create a reverse shell, allowing an attacker to execute any commands on the victim's machine.


 - The package overrides the install command in setup.py to execute malicious code during installation.


 - targetted-attack

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
