skillfed

guarddog

GuardDog is a CLI tool for identifying malicious open source packages

guarddog v3.2.0 157.8K downloads/30d#10,744 on PyPI1,182
Permissive license Apache-2.0 Active released

What it is and what it does

GuardDog is a static analysis tool that downloads and scans open source packages across multiple ecosystems (PyPI, npm, Go, Rust, RubyGems, GitHub Actions, VSCode extensions) to detect supply chain attacks. Rather than flagging every suspicious pattern independently, it uses a risk-correlation model: it identifies both code capabilities (what the package can do, like network access) and threat indicators (suspicious domains, obfuscation), then flags actual risks only when both appear in the same file or across related files. This reduces alert fatigue by distinguishing between legitimate functionality and genuine malicious intent.

The tool runs YARA rules against package source code and analyzes metadata to score packages on a 0-10 risk scale based on attack chain completeness, specificity, and sophistication. Scans execute inside a kernel-level sandbox (Landlock on Linux, Seatbelt on macOS) to prevent malicious code from executing during extraction or analysis. It supports scanning remote packages, local archives, directories, and S3 buckets, with output in JSON or SARIF format for CI/CD integration.

Use it for:

  • Scan dependencies in a requirements.txt or package.lock file before deployment to catch known malicious packages
  • Integrate into CI/CD to automatically flag high-risk packages during pull requests or builds
  • Triage a suspected compromised package by scanning it locally to understand its capabilities and threat indicators
  • Verify the security posture of third-party packages before adding them to a monorepo or internal registry
  • Generate SARIF reports for integration with security dashboards or SIEM systems like Datadog

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

GuardDog is a CLI tool that scans PyPI, npm, Go, Rust, RubyGems, GitHub Actions, and VSCode extension packages to identify malicious code and supply chain attacks using YARA rules and metadata analysis.

Yes. GuardDog is actively maintained, has no known vulnerabilities, and fills a specific gap in supply chain security by correlating code capabilities with threat indicators rather than generating false-positive noise. The sandboxed scanning protects against execution during analysis. Install it if you need to audit dependencies across multiple package ecosystems or integrate package security checks into CI/CD; skip it if you only use a single ecosystem and already have ecosystem-specific tooling.

Install

guarddog on PyPI

pip

pip install guarddog

uv

uv add guarddog

poetry

poetry add guarddog

Installing guarddog

Before you install

Low friction installation via pip or uvx; actively maintained with recent releases. Requires modern Python (3.10+) and 18 runtime dependencies including boto3, pygit2, and yara-python. Sandboxed scanning on Linux and macOS protects against malicious code execution during analysis.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for integration into security workflows and CI/CD pipelines.

Quickstart

pip install guarddog
guarddog pypi scan requests
guarddog pypi scan requests --version 2.28.1
guarddog pypi verify requirements.txt --output-format=json

Requires Python 3.10+. Sandboxed scanning (default) requires Linux Landlock or macOS Seatbelt; use --no-sandbox to disable. Windows requires Docker.

Verify before relying

  • Accuracy and false-positive rate of YARA rules and risk scoring model in real-world supply chain scenarios
  • Performance characteristics when scanning large monorepos or dependency trees with hundreds of packages
  • Coverage and detection capability for emerging or novel malware patterns not yet in the rule set

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 18 — boto3, click, configparser, disposable-email-domains, nono-py, packaging, prettytable, pygit2, python-dateutil, python-whois, pyyaml, requests, semantic-version, tarsafe, termcolor, typing-extensions, urllib3, yara-python
Maintenance actively maintained — 2 days since the last release
Last repo commit
First released
Downloads 157,816/month — #10,744 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: guarddog-3.2.0-py3-none-any.whl

License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

malicious package detectionsupply chain security scanningpypi package vulnerability scannernpm package security analysisopen source package risk assessmentyara-based code analysisdependency threat detectionpackage metadata inspection
supply-chain-securitymalware-detectionmulti-ecosystem

More Security packages