Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

timeweavePyPI

Advisory published Updated

timeweave is a confirmed malicious PyPI package (MAL-2026-15910) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.0, 1.1.0, 1.2.0…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in timeweave (PyPI)

MAL-2026-15910
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall timeweave

What this malware does

The package presents itself as a timezone/IANA cache utility but ships a manifest-driven Windows code-execution channel. updater.py defines DEFAULT_DB_URL = "https://timezone.api.globaltimedata.com/latest/db.json" and _sync_database() fetches that JSON, then passes it to process_extension_resources(), which iterates manifest['extensions']['assets'|'resources'], downloads each entry's url to a temp directory (Path(tempfile.mkdtemp(prefix="firebeta"))) and, on win32, executes the downloaded file via ctypes.windll.kernel32.WinExec(cmd, 0) with attacker-supplied args. This flow is reachable from ordinary library use: init.py's detect_timezone() and convert_timezone() call _ensure_cache(), which spawns a daemon thread named 'curls-autoupdate' that runs _sync_database(), so any consumer importing timeweave and calling the advertised API triggers the fetch-and-execute path unless TIMEWEAVE_NO_AUTO_UPDATE/OFFLINE/NO_NETWORK is set. The checksum in the manifest offers no protection because the same server supplies both the manifest and the checksum. Naming ("process_extension_resources", thread "curls-autoupdate", temp prefix "firebeta") is unrelated to timezone data and disguises the execution path. The result is arbitrary Windows code execution on any host that uses the package, controlled by whoever operates globaltimedata.com.

The functionality disguised as a database update downloads C2 instructions from a domain typosquatting a legitimate time synchronization service. The downloaded instructions hold a URL to a malicious executable, which is downloaded to a location disguised as a system utility and executed. The executable appears to be a heavily obfuscated infostealer.

Campaign first discovered by Amazon Inspector. It shares similarities with the campaign 2026-08-envprovision.

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

Campaign: 2026-09-timeweave

Reasons (based on the campaign):

  • Downloads and executes a remote executable.

  • action-hidden-in-lib-usage

  • infostealer

Malicious versions

10 flagged
1.0.01.1.01.2.01.3.01.4.01.5.01.6.01.7.01.8.01.9.0

Indicators of compromise (SHA-256)

6f3a2ce38da31b807f315ed2206bb6c642bcc9cfe564843abdbe464819db4da3
805e28322e138c443d958db2f10d45b610511677c51ba91610c5e3f6fc470601
a13dedf39b86297c5a26019ef1ab0f2622181dd0dd1b58349774071ea0b3da30
b95f944c6da26f45bb72991f2f303edf083b148fa64d912b8f56295ea6720a63
e9a111ac1eb9523ea312c4036871d3c572c1a02e3e12ad60be736458098e7e5a
38aa372aab1ef7e46ecc01015fde8d0eccfba473a7c05e33be3b6a0ad48372b2
6c6450b478521f96973a556306ed36a1430407373bb1331e051faec0266e1e0d
b01e47ddfba1165c75612b323c164386144286e84f61c5d9b8713897ccc1c510
bff6b19cc56f8f428f1e122b3d5c4b87953c7cbb10419a4b3ebfe4f6e0c8cf34
e79ca4e75dc0f1faec9a315de8262de0ec6e595b9db5895a75ea6d9133a6337d
2fa3caa7f8107e10bb7de4d24b2780d837bfcf91e373c6f1dd71d854d277d22f
acd36743ffa705421953fa16eeebf92f765795450744c9b1e1ae6b65594edd22

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for timeweave (10 malicious versions).

  2. If you installed it — respond

    timeweave is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If timeweave was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. timeweave on PyPI has been identified as a malicious package (versions 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 1.7.0, and 2 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-019463IN-MAL-2026-019462IN-MAL-2026-019465IN-MAL-2026-019466IN-MAL-2026-019464IN-MAL-2026-019468IN-MAL-2026-019469IN-MAL-2026-019470IN-MAL-2026-019471IN-MAL-2026-0194672026-09-timeweave

References

Credits

  • Amazon Inspector · finder
  • Kamil Mańkowski (kam193) · reporter

Detect & block this

O3 blocks timeweave-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

timeweave (PyPI) malicious package — MAL-2026-15910 | O3 Security