Supply Chain Monitor: Automated Detection of Package Compromises

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Supply Chain Monitor: Automated Detection of Package Compromises

Summary

Supply Chain Monitor is a powerful tool by Elastic designed to automatically detect supply chain compromises in popular PyPI and npm packages. It polls registries for new releases, diffs them against predecessors, and uses an LLM via Cursor Agent CLI to classify changes as benign or malicious. Malicious findings trigger immediate Slack alerts, enhancing security for your software dependencies.

Repository Information

Analyzed by OSRepos on May 23, 2026

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

The Supply Chain Monitor by Elastic offers an automated solution for safeguarding your software dependencies against supply chain attacks. This Python-based tool continuously monitors the top PyPI and npm packages for new releases. When a new version is detected, it performs a detailed diff against the previous release and leverages an LLM (via Cursor Agent CLI) to analyze the changes. The LLM is specifically prompted to identify suspicious patterns, classifying diffs as either benign or malicious. If a malicious change is identified, the system automatically triggers a Slack alert, providing early warning of potential compromises.

The monitor is designed to look for various indicators of compromise, including obfuscated code, unexpected network calls, file system writes to sensitive locations, process spawning, credential exfiltration, and typosquatting.

Installation

To get started with Supply Chain Monitor, you'll need Python 3.9+ and the Cursor Agent CLI.

Prerequisites

  • Python 3.9+: Install runtime dependencies using pip install -r requirements.txt. The requirements.txt file is located in the repository.
  • Cursor Agent CLI: This is the standalone agent binary, not the IDE.

Installing Cursor Agent CLI

Windows (PowerShell):

irm 'https://cursor.com/install?win32=true' | iex

macOS / Linux:

curl https://cursor.com/install -fsS | bash

Verify your installation with:

agent --version

You must also authenticate with Cursor using agent login or by setting the CURSOR_API_KEY environment variable.

Slack Configuration

For receiving alerts, configure Slack by placing your bot token in etc/slack.json:

{
    "url": "https://hooks.slack.com/services/...",
    "bot_token": "xoxb-...",
    "channel": "C01XXXXXXXX"
}

Ensure your bot has chat:write scope on the target channel, and channel is set to the Slack channel ID where alerts should be posted.

Examples

The monitor.py script is the main orchestrator. Here are some quick start commands:

  • One-shot analysis: Analyze releases from the last approximately 10 minutes, then exit.
    python monitor.py --once
    
  • Continuous monitoring: Monitor the top 1000 packages from both ecosystems, polling every 5 minutes.
    python monitor.py --top 1000 --interval 300
    
  • Production setup: Monitor the top 15000 packages, polling every 5 minutes, with Slack alerts enabled.
    python monitor.py --top 15000 --interval 300 --slack
    
  • npm only: Monitor the top 5000 npm packages.
    python monitor.py --no-pypi --npm-top 5000
    
  • PyPI only: Monitor PyPI packages exclusively.
    python monitor.py --no-npm
    

Why Use It

Supply Chain Monitor provides crucial benefits for maintaining the security of your software projects:

  • Proactive Threat Detection: It continuously monitors popular package registries, identifying potential compromises before they can impact your systems.
  • LLM-Powered Analysis: By leveraging an LLM, the tool can intelligently analyze code differences, detecting sophisticated obfuscation, malicious network calls, and other advanced attack techniques that might evade traditional static analysis.
  • Real-time Alerts: Immediate Slack notifications for malicious findings enable rapid response to security incidents.
  • Broad Coverage: Monitors both PyPI and npm, covering a vast array of open-source dependencies.
  • Lightweight Operation: Designed to be efficient, making only a few API calls per poll interval and per new release, minimizing overhead.

Links

Related repositories

Similar repositories that may be relevant next.

webassets: Asset Management for Python Web Development

webassets: Asset Management for Python Web Development

July 26, 2026

webassets is a robust library designed for asset management in Python web development. It simplifies the process of merging and compressing JavaScript and CSS files, enhancing application performance. This tool is essential for developers looking to optimize their frontend assets efficiently.

PythonWeb DevelopmentAsset Management
requests-html: Pythonic HTML Parsing with JavaScript Support

requests-html: Pythonic HTML Parsing with JavaScript Support

July 25, 2026

requests-html is a Python library designed to simplify HTML parsing and web scraping. It extends the familiar Requests experience with powerful parsing capabilities, including full JavaScript support via Chromium, CSS selectors, and XPath. This makes it an ideal tool for developers needing to interact with dynamic web content.

PythonWeb ScrapingHTML Parsing
Grab: A Powerful Python Web Scraping Framework

Grab: A Powerful Python Web Scraping Framework

July 24, 2026

Grab is a robust Python web scraping framework designed to simplify complex data extraction tasks. It provides comprehensive tools for handling network requests, processing scraped content, and managing asynchronous operations through its powerful Spider component. Developers can leverage features like automatic cookie support, HTTP/SOCKS proxies, and XPath queries for efficient web data collection.

PythonWeb ScrapingFramework
Awesome Django: A Curated List of Essential Django Resources and Packages

Awesome Django: A Curated List of Essential Django Resources and Packages

July 24, 2026

Awesome Django is a comprehensive curated list of outstanding Django apps, projects, and resources. It focuses on mature, well-maintained packages with good documentation and active user bases. This repository serves as an invaluable guide for developers looking for high-quality tools and examples within the Django ecosystem.

DjangoAwesome ListPython

Source repository

Open the original repository on GitHub.

7 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️