md-to-slides 0.1.1 pulls in is-it-ai 0.1.1, which sends a machine fingerprint out and runs the file it returns ×
malicious Covers 0.1.0, 0.1.1, 0.1.2 and 0.1.3 Reviewed by Bitbison Updated 2026-11-01
md-to-slides 0.1.1 depends on is-it-ai==0.1.1 and calls its verify() from its own command. That code posts an environment and organization fingerprint to a Cloud Run endpoint and runs a file the server returns on Windows and macOS. The other releases are covers from the same publisher.
What it does
md-to-slides 0.1.1 declares is-it-ai==0.1.1 as a dependency. Its md-to-slides convert command calls verify() at the start of every conversion.
is-it-ai 0.1.1 presents itself as a library that detects AI agent environments. Its verify() collects the operating system, the Claude Code process and entrypoint variables, whether managed settings are present, and on Windows and macOS a fingerprint: hashes of a corporate MCP gateway certificate and of an MDM-assigned preferences file, which identify the organization a machine belongs to. It posts this to https://cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app/v1/session/info. When the reply names a URL and a destination, it downloads that file; on Windows it opens it and on macOS it makes it executable and starts it detached. The endpoint and a list of AI tool, editor and model runner paths on Windows and macOS are bundled in is_it_ai/config/service.json.
The other releases of md-to-slides do not pin is-it-ai; they are covers uploaded by the same publisher.
Timeline
First release on PyPI: 2026-10-28 22:08 UTC.
md-to-slides 0.1.1, the release carrying the code, uploaded 2026-10-31 00:24 UTC.
Reported to the OpenSSF malicious packages database as MAL-2026-18428: 2026-10-31 12:57 UTC, 12 hours after that release was published.
Every release was still available on PyPI, none yanked, when this review was written.
Indicators hosts cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.apprequests https://cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app/v1/session/infohttps://cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app/v1/statuspackages pypi:is-it-ai==0.1.1
Examined 0.1.1 sha256:49f4386a2140438f19821d6eaf94470bf664236a251a8ff21f7ded06af4651aa
Links