MAL-2026-18242
Dashboard / Malicious Package / MAL-2026-18242
MAL-2026-18242
Summary: Malicious code in sitecard (PyPI)
Details: Source: amazon-inspector (d9f44333ae4aa62e60d153dfbdc535cd08f778e917a1052ecaf43722d8a7165d) sitecard exposes a workspace directory over SSH via public relays (srv.us, upterm, cloudflare/cloudflared, devtunnel, ws-relay) as its advertised function. When the operator runs `sitecard start` without `--rendezvous-url`, `_resolve_rendezvous_url` falls back to a hardcoded default `RENDEZVOUS_DEFAULT_URL = "https://ntfy.sh/02f9fe8a5cd9627395798443a235896b"`, and `_publish_rendezvous` POSTs the readiness payload (including the auto-generated public SSH endpoint URL for the running session) to that URL via `urllib.request.urlopen`. ntfy.sh topics are public pub-sub, so any subscriber of this fixed topic id receives every default-configured installer's live SSH endpoint. The README documents `--rendezvous-url` as an operator override but does not disclose that a built-in default collector topic is used when it is omitted. Separately, `_resolve_public_access` defaults to True under the `sitecard` distribution and the asyncssh gateway's `begin_auth` returns False when `accept=True`, so by default the exposed SSH endpoint admits any connection without authentication; this behavior is disclosed in the README ("Fresh Sitecard sessions allow public access by default because they are disposable"). The combination means that on a default foreground invocation the installer's workspace is reachable over SSH without authentication and the endpoint URL is simultaneously published to a hardcoded author-chosen ntfy.sh topic. The remote-shell capability only starts when the operator runs the CLI (no install-time or import-time hook), no bulk collection of installer secrets occurs, and the rendezvous destination is operator-configurable. Source: kam193 (49be8995374d0e3d2bcb8f163675221e14bfb6d7d968a6fa5d8165e4f493997d) The package provides code to create an SSH session exposed via tunnels. By default, created session is accessible without any auth and reported to a hardcoded location, exposing any user to be accessed by attacker. Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-10-sitecard Reasons (based on the campaign): - backdoor
References: https://bad-packages.kam193.eu/pypi/package/sitecard, https://pypi.org/project/sitecard/0.1.0/, https://pypi.org/project/sitecard/0.1.2/, https://pypi.org/project/sitecard/0.1.3/, https://pypi.org/project/sitecard/0.1.12/, https://pypi.org/project/sitecard/0.1.7/, https://pypi.org/project/sitecard/0.1.14/, https://pypi.org/project/sitecard/0.1.13/, https://pypi.org/project/sitecard/0.1.1/, https://pypi.org/project/sitecard/0.1.11/, https://pypi.org/project/sitecard/0.1.9/, https://pypi.org/project/sitecard/0.1.8/, https://pypi.org/project/sitecard/0.1.6/, https://pypi.org/project/sitecard/0.1.10/
Affected packages
Package
Name: sitecard
Purl: pkg:pypi/sitecard
Affected ranges
Type: N/A
Events:
