elastic

supply-chain-monitor: Flag Suspicious PyPI and npm Releases

Monitors popular PyPI and npm packages, compares new releases with their predecessors, and uses Cursor Agent CLI to assess suspicious changes. Fits teams that can run the monitor with Cursor authentication and want optional Slack alerts.

View on GitHub Compare
Stars
531
Forks
58
Stars, last 30 days
+2
Last commit
today
Contributors
2

Our take

Quietno commits in the last 90 days and no release in a year

Health score

20/100

How it is scored
Activity
19
Community
20
Issues
21
Pull requests
20

+2 stars in the last 30 days

  • Fewer contributors than 86% of the projects we track

This is a focused monitoring tool with a practical registry-to-alert workflow, but its quiet measured activity and reliance on one main contributor are important adoption considerations.

Good fit if

  • You want an additional, automated review signal for releases on PyPI, npm, or both.
  • Your team can provide an authenticated Cursor Agent CLI and, if needed, Slack credentials.
  • You are comfortable maintaining a Python tool whose measured activity is quiet and concentrated among two contributors, with most code from one person.

Look elsewhere if

  • You need analysis that does not depend on Cursor Agent CLI or an active Cursor authentication.
  • You need a guarantee of complete release coverage: the README says the npm monitor can skip releases when it falls too far behind, and high release volume can create a backlog.
  • You require a project with recent releases or evidence of recent issue and pull-request handling; measured data shows no release in over a year and no recent issue closures or merged pull requests.
All health signals
Last commit2026-10-10 (today)
Commits, last 90 days0
Releases, last 12 months0
Contributors2 (top contributor: 89% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days0
Project age6 months

Checked on 2026-10-11 with the GitHub API.

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

533

Forks

57

Change since Nov 13, 2026: 0 stars·0 forks

Overview

supply-chain-monitor watches selected popular packages on PyPI and npm for new releases. It downloads each release and its predecessor, creates a diff, and asks Cursor Agent CLI to classify the changes as benign, malicious, or unknown. Malicious findings can be sent to Slack.

It is intended for teams that want an automated signal about suspicious changes in dependencies they may use, rather than a replacement for package security review. The tool monitors both ecosystems by default and can be configured to monitor either one alone.

Key Features

  • Polls PyPI release events and npm's registry change feed in separate threads.
  • Filters releases against top-package watchlists, with configurable list sizes.
  • Downloads and compares prior and new PyPI distributions or npm tarballs directly from their registries.
  • Uses Cursor Agent CLI in read-only ask mode to assess diffs for suspicious behaviors such as obfuscation, unexpected network access, persistence, and credential theft.
  • Can post malicious verdicts to Slack, including package details and an analysis summary.
  • Saves polling state so it can resume after a restart, and logs to the console and daily files.
  • Includes standalone commands for package diffs and PyPI polling.

Use Cases

  • A security team wants a supplementary alert when a watched dependency publishes a release with suspicious code changes.
  • A platform or dependency-maintenance team wants to monitor popular PyPI and npm packages without running pip or npm to fetch archives.
  • A package maintainer or security researcher wants to inspect differences between two published versions using the included diff tool.
  • A team already using Slack for incident notifications wants malicious-release findings delivered to a channel.

What you need

Detected in the repository

  • Python (from requirements.txt)
  • Automated checks on GitHub Actions

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

Install Python 3.9+ dependencies, install and authenticate Cursor Agent CLI, then run:

python monitor.py --once

See the README for continuous monitoring, Slack setup, and ecosystem-specific options.

Considerations

  • Analysis depends on the external Cursor Agent CLI and an authenticated Cursor account or API key. Without it, the core LLM verdict workflow is unavailable.
  • The README notes that the monitor processes releases sequentially within each ecosystem, so high release volume may produce a backlog. Watchlists are loaded at startup and need a restart to refresh.
  • If the saved npm sequence is more than 10,000 changes behind the registry head, the monitor resets to the head to avoid a long catch-up, potentially missing releases during the gap.
  • On Windows, the agent runs in read-only ask mode without OS-level sandboxing. The README says filesystem sandbox mode is available only on macOS and Linux.
  • Measured project health is marked Quiet: no commits in the last 90 days and no release in a year. The project has two contributors, with most code attributed to one; measured recent issue closures and merged pull requests are also absent.
  • The repository uses the MIT License. Review its license and preserve required notices when redistributing the software.

Found this useful?

Share it with someone who would like supply-chain-monitor.