-= Per source details. Do not edit below this line.=-
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.
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):
{
"malicious-packages-origins": [
{
"id": "pypi/2026-10-sitecard/sitecard",
"import_time": "2026-10-23T17:15:33.206654697Z",
"modified_time": "2026-10-23T16:30:56.396384Z",
"sha256": "49be8995374d0e3d2bcb8f163675221e14bfb6d7d968a6fa5d8165e4f493997d",
"source": "kam193",
"versions": [
"0.1.0",
"0.1.1",
"0.1.2",
"0.1.3",
"0.1.6",
"0.1.7",
"0.1.8",
"0.1.9",
"0.1.10",
"0.1.11",
"0.1.12",
"0.1.13",
"0.1.14"
]
},
{
"id": "IN-MAL-2026-021968",
"import_time": "2026-10-29T13:37:18.272903467Z",
"modified_time": "2026-10-29T13:31:36Z",
"sha256": "800ca56da042abfa6ec71645a0e153fd8adf11eef4078de031c66279656675f3",
"source": "amazon-inspector",
"versions": [
"0.1.0"
]
},
{
"id": "IN-MAL-2026-021963",
"import_time": "2026-10-29T13:37:18.101615235Z",
"modified_time": "2026-10-29T13:30:56Z",
"sha256": "9cdc69c2b591bc77571deeedcf1d80587c6f54a97c27f4fa5657d86bf67c2009",
"source": "amazon-inspector",
"versions": [
"0.1.2"
]
},
{
"id": "IN-MAL-2026-021991",
"import_time": "2026-10-29T13:37:18.942225466Z",
"modified_time": "2026-10-29T13:34:45Z",
"sha256": "d45f68bda10777d700cc046f1af83eb2c67dd69a0a18daebd210da277888f30c",
"source": "amazon-inspector",
"versions": [
"0.1.3"
]
},
{
"id": "IN-MAL-2026-021947",
"import_time": "2026-10-29T13:37:17.598640648Z",
"modified_time": "2026-10-29T13:28:44Z",
"sha256": "2d7963321797b3920632c6f6fbed91bf96861b3fbbf34fc6f09a7e7067c7be45",
"source": "amazon-inspector",
"versions": [
"0.1.12"
]
},
{
"id": "IN-MAL-2026-021960",
"import_time": "2026-10-29T13:37:18.012485953Z",
"modified_time": "2026-10-29T13:30:33Z",
"sha256": "5824dd33e8689f63b2d4f19f3d9b3d2715e59e51dabe41b2a4e1522f2f3a42bc",
"source": "amazon-inspector",
"versions": [
"0.1.7"
]
},
{
"id": "IN-MAL-2026-021958",
"import_time": "2026-10-29T13:37:17.950397907Z",
"modified_time": "2026-10-29T13:30:15Z",
"sha256": "d9f44333ae4aa62e60d153dfbdc535cd08f778e917a1052ecaf43722d8a7165d",
"source": "amazon-inspector",
"versions": [
"0.1.14"
]
},
{
"id": "IN-MAL-2026-021896",
"import_time": "2026-10-29T13:37:15.567568785Z",
"modified_time": "2026-10-29T13:22:12Z",
"sha256": "da4c02f24310af43bc6800ef935dc6b8eb8746c95aa9518f95ff086d40f79e52",
"source": "amazon-inspector",
"versions": [
"0.1.13"
]
},
{
"id": "IN-MAL-2026-021989",
"import_time": "2026-10-29T13:37:18.880513988Z",
"modified_time": "2026-10-29T13:34:32Z",
"sha256": "47c43a486076eda22f0e92f498784af0f1cf5eca33b32af1a83c82562cb68e83",
"source": "amazon-inspector",
"versions": [
"0.1.1"
]
},
{
"id": "IN-MAL-2026-021987",
"import_time": "2026-10-29T13:37:18.797845325Z",
"modified_time": "2026-10-29T13:34:18Z",
"sha256": "56166fc1bb18bf4736dbd4148aaf7728a7a55b8409833745338c3ec13c68d3a8",
"source": "amazon-inspector",
"versions": [
"0.1.11"
]
},
{
"id": "IN-MAL-2026-022132",
"import_time": "2026-10-29T14:14:28.521117917Z",
"modified_time": "2026-10-29T13:53:01Z",
"sha256": "7786b9a7e09164c653513db6475bd78aa97ac7d7602827ccdc82cd796387d0e7",
"source": "amazon-inspector",
"versions": [
"0.1.9"
]
},
{
"id": "IN-MAL-2026-022347",
"import_time": "2026-10-29T14:37:05.174552714Z",
"modified_time": "2026-10-29T14:21:04Z",
"sha256": "0183dc1d32cc6d018103c044977224ff89b348618cb7a2a124e8af9e9a731734",
"source": "amazon-inspector",
"versions": [
"0.1.8"
]
},
{
"id": "IN-MAL-2026-022357",
"import_time": "2026-10-29T14:37:05.580633661Z",
"modified_time": "2026-10-29T14:22:26Z",
"sha256": "94971d428eef53c1b554684f42b95a8351c0f44ff41b1f179cebeecd68202e03",
"source": "amazon-inspector",
"versions": [
"0.1.6"
]
},
{
"id": "IN-MAL-2026-022345",
"import_time": "2026-10-29T14:37:05.103609195Z",
"modified_time": "2026-10-29T14:20:50Z",
"sha256": "f8c134e2cddb7533a3e7fe98a1e25b754d56f1cacd217976af5b3e8940449da4",
"source": "amazon-inspector",
"versions": [
"0.1.10"
]
}
]
}[
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
},
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
}
]
{
"evidence_files": [
{
"path": "src/sitecard/gateway.py",
"sha256": "a4070098bc39f68bb1f8b2262407c9ec6fee6e30e027cf19ab3761b0a7f0f1c7",
"tlsh": "def2d802d91d5aa3e3c3e6688863f0136615ed431e0538747aace25c2f5e279c5f2bed"
}
],
"package_integrity": [
{
"filename": "sitecard-0.1.0-py3-none-any.whl",
"hashes": {
"blake2b_256": "7df0567d5ad04731ea4d716deb9d20c2afcde74c33322b2262da928ca290506f",
"md5": "7079984fad39c1e3039a82ec47117dee",
"sha256": "f9dfe626b377efe8eb5d1443b3ffeb0f3b57133e1960e79dfc093779264fc3af"
}
},
{
"filename": "sitecard-0.1.0.tar.gz",
"hashes": {
"blake2b_256": "448789c51561a57d3275fc4724d4754ed59fc5daafe4f37e2a7edb9ca33e5554",
"md5": "66a465cdf751d85c904927cd5b4a298c",
"sha256": "ea79e18cf22cc323e6f726ef7d4d8c0e6eda8e232f4d3ed3cd45c2255468d332"
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/sitecard/MAL-2026-18242.json"