Skip to main content

UBEL ( Unified Bill / Enforced Law ) – Multi‑Ecosystem Security & Policy Enforcement CLI

Ubel is a fast, cross‑ecosystem security engine that resolves dependencies, generates PURLs, scans them through OSV.dev, and enforces security policies during installation. It works with:

  • PyPI (via ubel-pip)
  • npm (via ubel-npm)
  • Linux distributions (Ubuntu, Debian, RHEL, AlmaLinux)

Ubel runs in CLI, automation scripts, and CI/CD pipelines, producing clean JSON and PDF reports.


✨ Features

  • Full dependency resolution across ecosystems
  • OSV.dev vulnerability scanning (batch API)
  • Policy engine (block/allow by severity & infection)
  • Checking linux-package or node/python dependency or entire project (check mode)
  • Install‑time enforcement (install mode)
  • Project‑level/Host-level scanning (health mode)
  • Catches Non-CVEs
  • It is a supply-chain protection tool
  • Automatic report generation (JSON + PDF)
  • Extremely fast (seconds per scan)

📦 Installation

pip install ubel

Ubel exposes three binaries:

  • ubel (Linux package scanning and OS-level operations: Ubuntu , Debian, Red Hat, Almalinux )
  • ubel-pip (Python ecosystem)
  • ubel-npm (Node.js ecosystem)

🚀 Usage Overview

Main CLI

usage: ubel [-h] {check,install,health,init,allow,block} [extra_args ...]

PyPI CLI

usage: ubel-pip [-h] {check,install,health,init,allow,block} [extra_args ...]

npm CLI

usage: ubel-npm [-h] {check,install,health,init,allow,block} [extra_args ...]

🧠 Commands Explained

check

Resolve dependencies/linux-packages → generate report → exit.

Python example:

ubel-pip check

If no extra arguments are passed, Ubel will:

  • Detect requirements.txt
  • Resolve all packages
  • Scan them
  • Output PDF + JSON

npm example:

ubel-npm check flask==3.1.0

If no args are passed, it will detect package.json automatically.


install

Same as check, but enforces policies and either blocks or allows installation.

Python example:

ubel-pip install flask==3.1.0

Or auto-detect project requirements:

ubel-pip install

npm example:

ubel-npm install express@5.0.0

Or simply:

ubel-npm install

(uses package.json automatically)


health

Scan the entire machine or running project, including:

  • Installed PyPI packages
  • Installed npm global packages
  • OS-level packages (Ubuntu/Debian/RHEL/AlmaLinux)

Example: ( for linux )

ubel health

or ( for node.js app )

ubel-npm health

or ( for python app )

ubel-pip health

This mode produces large, detailed inventories and vulnerability matrices.


init

Initialize a policy file for the project or system.

Example:

ubel init

Creates default policy:

infections: block
severity:
  critical: block
  high: block
  medium: allow
  low: allow
  unknown: allow

allow / block

Override Ubel's decision from CI/CD or scripted pipelines.

The arguments can be: "low", "medium", "high", "critical".

Example:

ubel block high critical

📁 Automatic Project Detection

For npm and PyPI, when running:

  • install
  • check

without arguments:

Ubel automatically loads:

  • package.json (for npm)
  • requirements.txt (for pip)

This makes it ideal for CI/CD workflows.


📤 Output

Ubel generates:

1. JSON report

Machine‑readable, includes:

  • dependency list
  • purls
  • vulnerabilities
  • severity
  • infection state
  • policy decision
  • Generate complete SBOM-like machine inventory

2. PDF report

Human‑readable, includes:

  • summary statistics
  • per‑dependency vulnerability details
  • fix recommendations
  • tables
  • OSV reference links
  • Generate complete SBOM-like machine inventory

🧩 Ecosystem Tools

  • ubel → system packages, Linux distros
  • ubel-pip → PyPI projects, virtual environments\
  • ubel-npm → Node.js, npm, package.json projects

Ubel – Secure every dependency, before it reaches production.

Metadata

Release files for python-ubel 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-ubel 0.1.0
File Size Uploaded Provenance
python_ubel-0.1.0.tar.gz 17.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for python-ubel 0.1.0
File Interpreter ABI Platform
python_ubel-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.9 kB

Release files / python_ubel-0.1.0.tar.gz

Download URL python_ubel-0.1.0.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
92bbe646dac4b398ec910d9bf0d61b05f9cf09d20669232317754c3abfa8e1ff
BLAKE2b-256 checksum
How to use checksums
0e2fafc0c6e0dcad3afa83c8fd3decd4300c37fae5f0a809bbbada8d306c35f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / python_ubel-0.1.0-py3-none-any.whl

Download URL python_ubel-0.1.0-py3-none-any.whl
Size 21.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9d06dc938d9785c0fc6f6cdfe6452f00563dede3ba7b3a151d24beab5f43506
BLAKE2b-256 checksum
How to use checksums
7a934bf5e564ccc16e0845c5dba5de20fafa4a2662a1f6962ad96e81e45ce0b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Security for python-ubel 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page