Repository navigation
Releases
Universal Dev Security 1.0.1
A small maintenance release focused on first-time users.
Added
- Getting started guide — from installation to a protected project in about ten minutes, with real example output.
- README links now work on the PyPI project page.
Changed
uds hooks installnow embeds the Python interpreter that installed UDS (withudson PATH as fallback). Previously, hooks that relied only on PATH blocked every commit made without the virtual environment activated — for example from an editor's Git panel. Git hooks are never committed, so the machine-specific path is safe. Use--path-onlyfor the previous behavior.
Already using Git hooks from 1.0.0? Re-run uds hooks install --apply to update them.
Install or upgrade
python -m pip install --upgrade universal-dev-securityPyPI and this release carry identical files.
Checksums (SHA-256)
fb2d706c5b4317974e9e0a66808b013621efcf0b6dfe36f52b58a6adfedcd68a universal_dev_security-1.0.1-py3-none-any.whl
da8233d48420f9f08b6398bcbdd06d620d4b4acf345b5b5629215ec119280596 universal_dev_security-1.0.1.tar.gz
Full details: CHANGELOG.md
Universal Dev Security 1.0.0
First stable release of Universal Dev Security.
UDS runs Gitleaks, Semgrep, OSV-Scanner and Trivy on any project, normalizes their results, enforces a central security policy for Git and AI coding agents, and produces JSON, SARIF and an offline dark HTML dashboard.
Highlights
- Central policy engine (allow / ask / deny); global rules cannot be weakened by project configuration or AI tools
- Four scanner adapters with explicit states: clean, findings, not_installed, not_applicable, skipped, error
- Severity only from scanners or the CVSS scale — never invented; no fake security score
- Fail-closed Git pre-commit / pre-push secret hooks
- Claude Code PreToolUse hook, verified in live Claude Code sessions: denies
--no-verifyand secret writes; requires approval for push, recursive deletes and.envreads - Dashboard with history, scan comparison, filters and exports; secrets marked "in Git" vs "local only"
- Reversible fixes verified by your test suite; recovery checkpoints and rollback
- CI green on Windows, Linux and macOS × Python 3.11–3.14, including real-scanner integration
Changes since 1.0.0rc1
- Framework caches (
.next/cache,.next/dev,.turbo, …) excluded from secret scanning — on a real Next.js project, noise dropped from 708 to 29 findings - Secrets distinguished as committed (urgent) or local-only; findings ordered by priority
- Scan comparisons warn when the scan scope changed instead of reporting excluded findings as resolved
- Scanners that did not run show
—instead of0
Install (Python 3.11+)
Download the wheel and SHA256SUMS into the same folder, then:
# Windows
.\scripts\install.ps1 -Wheel .\universal_dev_security-1.0.0-py3-none-any.whl# Linux / macOS
sh scripts/install.sh --wheel ./universal_dev_security-1.0.0-py3-none-any.whlOr directly: python -m pip install "universal-dev-security @ git+https://github.com/jet1x/Universal-Dev-Security.git@v1.0.0"
Then run uds doctor for scanner installation instructions.
Checksums (SHA-256)
d257478f346351fa19d9f23e70ac692c8fdbf5b9778501aed3574b06ae3bbcdf universal_dev_security-1.0.0-py3-none-any.whl
184feae6bff3fe609fb2ff2c94c9bd39819f113694dee7b95f3e0f15b2f55f55 universal_dev_security-1.0.0.tar.gz
Known limitations
- Claude Code runs project hooks only in trusted workspaces.
- Local hooks are defense in depth; keep CI scanning and GitHub push protection enabled.
Full details: CHANGELOG.md · DEVELOPMENT_STATUS.md
Universal Dev Security 1.0.0rc1
Release candidate — not yet the final 1.0.0. Please test and report issues.
UDS runs Gitleaks, Semgrep, OSV-Scanner and Trivy on any project, normalizes their results, enforces a central security policy for Git and AI coding agents (Claude Code hooks, uds guard), and produces JSON, SARIF and an offline dark HTML dashboard.
Highlights
- Central policy engine (allow / ask / deny); global rules cannot be weakened by project configuration or AI tools
- Four scanner adapters with explicit states: clean, findings, not_installed, not_applicable, skipped, error
- Severity only from scanners or the CVSS scale — never invented; no fake security score
- Fail-closed Git pre-commit / pre-push secret hooks; Claude Code PreToolUse integration
- Dashboard with history, scan comparison, filters and exports; hash-based CSP
- Reversible fixes verified by your test suite; recovery checkpoints
- CI green on Windows, Linux and macOS × Python 3.11–3.14, including real-scanner integration
Install (Python 3.11+)
Download the wheel and SHA256SUMS into the same folder, then:
# Windows
.\scripts\install.ps1 -Wheel .\universal_dev_security-1.0.0rc1-py3-none-any.whl# Linux / macOS
sh scripts/install.sh --wheel ./universal_dev_security-1.0.0rc1-py3-none-any.whlOr directly: python -m pip install "universal-dev-security @ git+https://github.com/jet1x/Universal-Dev-Security.git@v1.0.0rc1"
Then run uds doctor for scanner installation instructions.
Checksums (SHA-256)
674b412e51308729f8b0b148781411fc046086818765c363eb1159fb23574893 universal_dev_security-1.0.0rc1-py3-none-any.whl
5c3c97da02e8f16297c747638fc67122066cec9f545cbfc5eb8d22d50f504ace universal_dev_security-1.0.0rc1.tar.gz
Known limitations
- The Claude Code hook has not yet been exercised in a live Claude Code session.
- Upgrading from 0.4.x:
uds scanoutput and exit codes changed; seedocs/installation.md.
Full details: CHANGELOG.md · DEVELOPMENT_STATUS.md