Live › package › MAL-2026-15827
Go to dashboardNot triaged yet. The sources’ own description is below.
First seen by InfraStack 2026-10-26 20:51 UTC. All times on this page are UTC.
| Product | Ecosystem | Affected | Fixed in |
|---|---|---|---|
| company-sdk | pypi | = 0.0.1 | – |
Unknown from the sources.
Unknown from the sources.
Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
-= Per source details. Do not edit below this line.=-
company_sdk.py executes credential-harvesting code at module import time. It walks the installer's home directory reading SSH keys (/.ssh), cloud credentials (/.aws, ~/.azure, /.config/gcloud), package manager tokens (/.npmrc, ~/.pypirc, ~/.netrc, ~/.pgpass), Docker/Kube configs,.env files, Vault/Terraform tokens, and shell history, and enumerates process environment variables whose names match credential keywords (TOKEN, SECRET, KEY, PASSWORD, AWS_, GITHUB_, etc.). The collected material is gzip-compressed, XOR-encrypted with a keystream derived via PBKDF2-HMAC-SHA256 from a hardcoded 32-byte hex passphrase, HMAC-tagged, and base64-encoded. The drop() function then POSTs the encrypted blob to https://api.github.com/gists using a hardcoded ghp-prefixed GitHub Personal Access Token as the Bearer credential, with TLS verification explicitly disabled (ssl.CERT_NONE). The upload runs unconditionally on import inside a bare try/except so failures are silent. Using GitHub Gist as the drop channel routes the exfiltration through a domain that typically bypasses egress filtering, and encrypting the payload with an author-only key conceals contents from network inspection.
During import, package exfiltrates sensitive files, credentials and env variables to a private GitHub Gist.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-09-company-sdk
Reasons (based on the campaign):
exfiltration-env-variables
files-exfiltration
exfiltration-credentials
exfiltration-ssh-keys
This page as .md · .json · in your agent: get_signal("MAL-2026-15827")