
Härten Sie Ihre Paketmanager-Konfigurationen gegen Lieferkettenangriffe ab.
```text
_ _
| | ___ _ __ ___ __ _ _ _ __ _ _ __ | |
/
|/ _ \ '_ \/ __|/ _ | | | |/ | '__/ _ |
| (| | __/ |) _ \ (| | || | (| | | | (| |
_,_|_| ./|/_, |_,|_,|| _,|
|| |___/
Schützen Sie Ihre Abhängigkeiten vor Angriffen auf die Lieferkette. **Einzelne statische Binärdatei, null Rust-Crate-Abhängigkeiten.**
Von **[[arnica](https://arnica.io?utm_source=depsguard&utm_medium=referral&utm_campaign=community)]**
## Inhaltsverzeichnis
- [Übersicht](#overview)
- [Installation](#install)
- [Verwendung](#usage)
- [Was wird überprüft](#what-gets-checked)
- [Konfigurationsdateipfade](#config-file-locations)
- [Dringende Sicherheitskorrektur](#urgent-security-fix)
- [Sicherungen und Wiederherstellung](#backups-and-restore)
- [Funktionsweise](#how-it-works)
- [Fehlerbehebung](#troubleshooting)
- [Hilfe & Feedback](#help--feedback)
- [Anleitungen](#guides)
- [Siehe auch](#see-also)
- [Lizenz](#license)
## Übersicht
DepsGuard sucht auf Ihrem Rechner nach **npm**, **pnpm**, **yarn**, **bun**, **uv**, **pip**, **poetry** und **aube**, liest deren Konfigurationsdateien, vergleicht sie mit empfohlenen Einstellungen für die Lieferkette und kann **Korrekturen interaktiv anwenden**. Es scannt außerdem nach **Renovate**- und **Dependabot**-Konfigurationen in Ihren Repos. Es führt niemals Paketinstallationen durch; es bearbeitet nur von Ihnen genehmigte Konfigurationsdateien und erstellt vor jeder Änderung **Sicherungen**.
### Hauptmerkmale
- Interaktive TUI: scannen, prüfen, Korrekturen umschalten, anwenden
- `scan`-Unterbefehl für schreibgeschützte Berichte
- `restore`-Unterbefehl zum Auswählen einer Sicherung und Wiederherstellen einer Datei
- Plattformübergreifend: Linux, macOS, Windows
- Keine gebündelten Drittanbieter-Rust-Crates (stdlib + geringe Menge an plattformspezifischem FFI für das Terminal)
### Technologie-Stack
| Bereich | Details |
|---------|---------|
| Sprache | Rust (MSRV **1.74**, siehe `Cargo.toml`) |
| CLI / TUI | `src/main.rs`, `src/ui.rs`, `src/term.rs` |
| Konfigurationslogik | `src/manager.rs`, `src/fix.rs` |
| Website | Statische Seite unter `docs/` (getrennt von der Binärdatei) |
## Installation
### Vorgefertigte Binärdateien
Jede [GitHub-Version](https://github.com/arnica/depsguard/releases) enthält Archive für:
- Linux: `x86_64` (glibc), `x86_64` (musl), `aarch64` (glibc)
- macOS: Intel und Apple Silicon
- Windows: `x86_64` ZIP mit `depsguard.exe`
Laden Sie das Archiv für Ihre Plattform herunter, entpacken Sie es und legen Sie die Binärdatei in Ihren `PATH`.
Überprüfen Sie die Integrität mit der passenden `.sha256`-Datei neben jedem Asset auf der Veröffentlichungsseite.
### Installation nach Plattform
#### Linux (Debian/Ubuntu über APT)```bash
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://depsguard.com/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/depsguard.gpg
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/depsguard.gpg] https://depsguard.com/apt stable main" | sudo tee /etc/apt/sources.list.d/depsguard.list >/dev/null
sudo apt update
sudo apt install depsguard
brew install depsguard
DepsGuard ist in [homebrew-core](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/d/depsguard.rb) enthalten, daher ist kein benutzerdefiniertes Tap erforderlich.
> **Migrieren vom alten `arnica/depsguard`-Tap?** Wechseln Sie einmalig zur Core-Formel:
>
> ```bash
> brew uninstall depsguard
> brew untap arnica/depsguard
> brew update
> brew install depsguard
> ```
#### Windows```powershell
# WinGet
winget install Arnica.DepsGuard
# Scoop
scoop bucket add depsguard https://github.com/arnica/depsguard
scoop install depsguard
Oder manuell über PowerShell herunterladen:```powershell $zip = "$env:TEMP\depsguard.zip" Invoke-WebRequest -Uri "https://github.com/arnica/depsguard/releases/latest/download/depsguard-x86_64-pc-windows-msvc.zip" -OutFile $zip Expand-Archive -LiteralPath $zip -DestinationPath "$env:TEMP\depsguard" -Force Copy-Item "$env:TEMP\depsguard\depsguard.exe" "$HOME\AppData\Local\Microsoft\WindowsApps\depsguard.exe" -Force depsguard.exe --help
### crates.io```bash
cargo install depsguard
Erfordert eine Rust-Toolchain mit cargo.
Falls Ihre Organisation DepsGuard über Homebrew, Scoop oder WinGet ausliefert, folgen Sie deren Anweisungen. Das Einrichten oder Automatisieren dieser Kanäle (Homebrew-Core-PRs, Buckets, WinGet-PRs, CI-Secrets) ist Dokumentation für Maintainer; siehe AGENTS.md unter Release & Distribution.
Verwenden Sie den Kanal, mit dem Sie installiert haben:
Überprüfen Sie Ihre installierte Version jederzeit mit depsguard --version und sehen Sie die Releases-Seite für die neueste Version.
git clone https://github.com/arnica/depsguard.git cd depsguard cargo build --release
Das Binärprogramm ist `target/release/depsguard` (`.exe` unter Windows). Rust **1.74+** ist erforderlich.
## Verwendung```bash
depsguard # interactive: scan, choose fixes, apply
depsguard scan # report only; no writes (exits 1 if action is needed)
depsguard --no-search # skip recursive file search, check local configs only
depsguard restore # restore from a previous backup
depsguard --help # CLI help
depsguard, um die interaktive TUI zu starten. Es scannt Ihr System und zeigt eine Tabelle mit Ergebnissen. Drücken Sie eine beliebige Taste, um zum Fix-Auswahlmenü zu gelangen. Die Konfigurationserkennung auf Repository-Ebene beginnt im aktuellen Verzeichnis und sucht abwärts. Verwenden Sie depsguard scan für einen schreibgeschützten Bericht oder depsguard --no-search, um die rekursive Dateisuche zu überspringen und nur Benutzerkonfigurationen zu prüfen.
Hinweis: Einige Einstellungen erfordern eine Mindestversion. Wenn Ihre Version zu alt ist, sehen Sie:
ℹ min-release-age – erfordert npm ≥ 11.10 (vorhanden: 10.2.0). Führen Sie ein Upgrade mitnpm install -g npm@latestdurch und führen Sie den Vorgang erneut aus.
↑ ↓, um sich durch die Liste zu bewegen (^u ^d zum Blättern). Drücken Sie Space, um einen Fix ein- oder auszuschalten. Verwenden Sie die Schnellfiltertasten, um bulk nach Dateien auszuwählen: für alle, für .npmrc, für uv.toml usw. – einmal drücken zum Auswählen, erneut zum Abwählen, ein drittes Mal zum Löschen des Filters. Drücken Sie , um nur aktuell ausgewählte Fixes anzuzeigen.Benutzer-Konfigurationsdateien werden von ihren Standardorten gelesen (einschließlich XDG-basierter Pfade, sofern vom Tool unterstützt). Repository-Konfigurationen werden durch Abwärtssuche ab dem aktuellen Verzeichnis gefunden, wobei bekannte große Verzeichnisse (node_modules, .git, target, Library, .cache und andere) übersprungen werden, damit Scans schnell bleiben. Repository-weite .npmrc, .yarnrc.yml, pnpm-workspace.yaml, Renovate-Konfigurationen und Dependabot-Konfigurationen werden alle durchsucht. pnpm-Einstellungen können in ~/.npmrc (nur pnpm <= 10; pnpm >= 11 liest nur Auth-/Registry-Einstellungen aus .npmrc), der globalen pnpm-Konfigurationsdatei (rc bei pnpm <= 10, config.yaml bei pnpm >= 11) oder pnpm-workspace.yaml vorhanden sein; DepsGuard prüft alle drei Orte unabhängig. Für pip, uv und poetry löst DepsGuard die einzige effektive Benutzer-Konfiguration auf und meldet nur diese Datei, anstatt verdeckte Dateien separat zu markieren. pip und poetry führen ihre Konfigurationsdateien nach Priorität zusammen (die Datei mit der höchsten Priorität, die die Abkühlzeit setzt, gewinnt, oder der bevorzugte Ort, falls keine sie setzt); uv liest eine einzelne Benutzerdatei ( wenn gesetzt ist, andernfalls ) anstatt beide zusammenzuführen. Für bun, falls mehrere Benutzer-Konfigurationsdateien existieren (z. B. sowohl ein XDG-Pfad als auch ein Home-Verzeichnispfad), scannt DepsGuard jede vorhandene Datei separat. aube liest dieselbe wie npm/pnpm (, in Minuten) und wird ebenfalls auf gefundenen Repository-weiten -Dateien geprüft; pip und poetry werden auf ihrer Benutzer-Konfiguration ( / ) gescannt.
Wenn die gepatchte Version neuer ist als Ihr Abkühlungsfenster, fügen Sie eine enge Ausnahme hinzu, installieren Sie den Fix und entfernen Sie dann die Ausnahme.
Bevorzugen Sie eine paketspezifische Ausnahme gegenüber einer Senkung der globalen Abkühlzeit. Dadurch bleibt die Verzögerung für alle anderen Abhängigkeiten erhalten.
Bevor Sie die Abkühlzeit umgehen:
Vor dem Ändern einer Datei schreibt DepsGuard ein Backup nach ~/.depsguard/backups/.
Führen Sie depsguard restore aus, um Backups aufzulisten und eines wiederherzustellen.
src/ main.rs CLI args, run loop term.rs Raw mode + input (Unix termios / Windows console FFI) manager.rs Detection, scanning, recommendations fix.rs Read/write .npmrc, TOML, YAML; backup/restore ui.rs Banner, tables, selector
- **Zero third-party crates**: bewusst für ein kleines sicherheitsnahes Tool; siehe `AGENTS.md`, wenn Sie diese Richtlinie ändern.
- **Farben** verwenden ANSI-Sequenzen; moderne Terminals auf Windows (z. B. Windows Terminal) werden unterstützt.
## Troubleshooting
| Symptom | Was zu tun ist |
|---------|-------------|
| `depsguard: command not found` | Stellen Sie sicher, dass das Installationsverzeichnis im `PATH` ist, oder verwenden Sie den vollständigen Pfad zur Binärdatei. |
| Berechtigungsfehler beim Schreiben der Konfiguration | DepsGuard bearbeitet nur Dateien in Ihrem Benutzerprofil; führen Sie es als normaler Benutzer aus, nicht mit erhöhten Rechten, es sei denn, diese Dateien gehören dem Administrator. |
| Tasten funktionieren unter Windows nicht | Verwenden Sie **Windows Terminal** oder ein anderes VT-fähiges Terminal; das alte `cmd.exe` unterstützt möglicherweise nicht alle Tasten. |
| pnpm-Workspaces fehlen | Stellen Sie sicher, dass sich `pnpm-workspace.yaml` in Ihrem Home-Verzeichnisbaum befindet; sehr ungewöhnliche Layouts werden möglicherweise nicht erkannt. |
| `cargo install` schlägt fehl | Installieren Sie Rust über [rustup](https://rustup.rs/) und verwenden Sie Rust **≥ 1.74**. |
## Hilfe & Feedback
- [Einen Fehler melden oder eine Funktion anfordern](https://github.com/arnica/depsguard/issues)
- [Eine Sicherheitslücke melden](https://github.com/arnica/depsguard/security/advisories/new) (siehe [`SECURITY.md`](https://github.com/arnica/depsguard/blob/HEAD/SECURITY.md))
- Der Entwicklungsablauf für Mitwirkende befindet sich in [`AGENTS.md`](https://github.com/arnica/depsguard/blob/HEAD/AGENTS.md).
## Anleitungen
Ausführliche Anleitungen auf [depsguard.com](https://depsguard.com) erklären jede Härtungseinstellung und die Lieferkettenangriffe, gegen die sie schützen:
- [So schützen Sie sich vor npm-Lieferkettenangriffen](https://depsguard.com/guide/) (die vollständige Härtungsanleitung)
- [Abkühlphase für Abhängigkeiten (Mindestveröffentlichungsalter)](https://depsguard.com/cooldown/)
- [Installationsskripte mit ignore-scripts blockieren](https://depsguard.com/ignore-scripts/)
- [Nicht vertrauenswürdige transitive Abhängigkeiten blockieren (block-exotic-subdeps)](https://depsguard.com/block-exotic-subdeps/)
- [Bei nicht überprüften Build-Skripten fehlschlagen (strict-dep-builds)](https://depsguard.com/strict-dep-builds/)
- [Herabstufungen der Herkunft blockieren (trust-policy)](https://depsguard.com/trust-policy/)
- Vorfallberichte: [axios](https://depsguard.com/axios-npm-attack/) · [Shai-Hulud](https://depsguard.com/shai-hulud/) · [TanStack](https://depsguard.com/tanstack-npm-attack/)
## Siehe auch
- [**Dependency Cooldowns** (`cooldowns.dev`)](https://cooldowns.dev/): ein Referenzleitfaden und begleitender Shell-Helfer (`cooldowns.sh`), der sich speziell auf **Abkühlphasen für Mindestveröffentlichungsalter** konzentriert. Ergänzt DepsGuard: Es deckt eine breitere Palette von Ökosystemen auf der Abkühlachse ab (pip, uv, npm, pnpm, Yarn, Bun, Deno, Cargo), während DepsGuard npm/pnpm/yarn/bun/aube/uv/pip/poetry sowie Renovate/Dependabot abdeckt und zusätzliche Härtungseinstellungen (`ignore-scripts`, `block-exotic-subdeps`, `trust-policy`, `strict-dep-builds`) mit einem interaktiven TUI, Diff-Vorschau und Backup/Wiederherstellung bietet.
## License
MIT
---
**Links:** [Repository](https://github.com/arnica/depsguard) · [Dokumentationsseite](https://depsguard.com)
| Kanal | Linux | macOS | Windows | Installationsbefehl |
|---|
| APT (benutzerdefiniertes Repo) | ja | nein | nein | sudo apt install depsguard (nach Einrichtung des Repos oben) |
| crates.io | ja | ja | ja | cargo install depsguard |
| Homebrew (homebrew-core) | ja | ja | nein | brew install depsguard |
| Scoop (eigenes Bucket) | nein | nein | ja | scoop bucket add depsguard https://github.com/arnica/depsguard ; scoop install depsguard |
| WinGet | nein | nein | ja | winget install Arnica.DepsGuard |
| Kanal | Upgrade-Befehl |
|---|
| Homebrew | brew update && brew upgrade depsguard |
| APT (benutzerdefiniertes Repo) | sudo apt update && sudo apt install --only-upgrade depsguard |
| crates.io | cargo install --force depsguard (installiert die neueste Version neu) |
| Scoop | scoop update && scoop update depsguard |
| WinGet | winget upgrade Arnica.DepsGuard |
anufd, um einen Diff zu sehen, was sich ändern wird, bevor Sie sich festlegen.Enter, um die ausgewählten Fixes anzuwenden. Vor dem Schreiben einer Datei wird ein Backup mit Zeitstempel erstellt.depsguard restore aus, um aus der Backup-Liste zurückzusetzen. Drücken Sie q oder Esc, um zu beenden.| Manager | Konfiguration | Einstellung | Ziel | Grund |
|---|
| npm | ~/.npmrc | min-release-age | 7 (Tage) | Verzögert brandneue Veröffentlichungen (erfordert npm >= 11.10) |
| npm/pnpm | ~/.npmrc | ignore-scripts | true | Reduziert Risiko durch Installationsskripte (npm beachtet dies in .npmrc; pnpm >= 11 liest es aus pnpm-workspace.yaml / globalem config.yaml, nicht aus .npmrc) |
| pnpm | ~/.npmrc | minimum-release-age | 10080 (Minuten) | Verzögert neue Versionen um 7 Tage (pnpm 10.16–10.x nur; pnpm >= 11 ignoriert .npmrc; verwenden Sie pnpm-workspace.yaml) |
| pnpm | global rc (pnpm <= 10) | minimum-release-age | 10080 (Minuten) | Verzögert neue Versionen um 7 Tage (erfordert pnpm >= 10.16) |
| pnpm | global rc (pnpm <= 10) | block-exotic-subdeps | true | Blockiert nicht vertrauenswürdige transitive Abhängigkeiten (erfordert pnpm >= 10.26) |
| pnpm | global rc (pnpm <= 10) | trust-policy | no-downgrade | Blockiert Herkunfts-Downgrades (erfordert pnpm >= 10.21) |
| pnpm | global rc (pnpm <= 10) | strict-dep-builds | true | Fehler bei nicht geprüften Build-Skripten (erfordert pnpm >= 10.3) |
| pnpm | global rc (pnpm <= 10) | ignore-scripts | true | Blockiert bösartige Installationsskripte |
| pnpm | global config.yaml (pnpm >= 11) | minimumReleaseAge | 10080 (Minuten) | Verzögert neue Versionen um 7 Tage |
| pnpm | global config.yaml (pnpm >= 11) | blockExoticSubdeps | true | Blockiert nicht vertrauenswürdige transitive Abhängigkeiten |
| pnpm | global config.yaml (pnpm >= 11) | trustPolicy | no-downgrade | Blockiert Herkunfts-Downgrades |
| pnpm | global config.yaml (pnpm >= 11) | strictDepBuilds | true | Fehler bei nicht geprüften Build-Skripten |
| pnpm | global config.yaml (pnpm >= 11) | ignoreScripts | true | Blockiert bösartige Installationsskripte |
| yarn | .yarnrc.yml | npmMinimalAgeGate | 7d | Verzögert neue Versionen um 7 Tage (erfordert yarn >= 4.10) |
| pnpm | pnpm-workspace.yaml | minimumReleaseAge | 10080 (Minuten) | Verzögert neue Versionen um 7 Tage (erfordert pnpm >= 10.16) |
| pnpm | pnpm-workspace.yaml | strictDepBuilds | true | Fehler bei nicht geprüften Build-Skripten (erfordert pnpm >= 10.3) |
| pnpm | pnpm-workspace.yaml | trustPolicy | no-downgrade | Blockiert Herkunfts-Downgrades (erfordert pnpm >= 10.21) |
| pnpm | pnpm-workspace.yaml | blockExoticSubdeps | true | Blockiert nicht vertrauenswürdige transitive Abhängigkeiten (erfordert pnpm >= 10.26) |
| pnpm | pnpm-workspace.yaml | ignoreScripts | true | Blockiert bösartige Installationsskripte (erfordert pnpm >= 10.16) |
| bun | ~/.bunfig.toml | install.minimumReleaseAge | 604800 (Sekunden) | ~7 Tage Verzögerung (erfordert bun >= 1.3) |
| aube | ~/.npmrc | minimumReleaseAge | 10080 (Minuten) | Verzögert neue Versionen um 7 Tage |
| uv | uv.toml | exclude-newer | 7 days | Verzögert neue Veröffentlichungen (erfordert uv >= 0.9.17) |
| pip | pip.conf ([install]) | uploaded-prior-to | P7D (7 Tage) | Verzögert neue Veröffentlichungen (erfordert pip >= 26.1) |
| poetry | config.toml ([solver]) | min-release-age | 7 (Tage) | Verzögert neue Veröffentlichungen (erfordert poetry >= 2.4) |
| renovate | renovate.json usw. | minimumReleaseAge | 7 days | Verzögert Dependency-Update-PRs um 7 Tage |
| dependabot | .github/dependabot.yml | cooldown.default-days | 7 | Verzögert Dependency-Update-PRs um 7 Tage |
| Manager | Linux | macOS | Windows |
|---|
| npm/pnpm/aube | ~/.npmrc | ~/.npmrc | %USERPROFILE%\.npmrc |
| pnpm global (pnpm <= 10) | $XDG_CONFIG_HOME/pnpm/rc oder ~/.config/pnpm/rc | $XDG_CONFIG_HOME/pnpm/rc oder ~/Library/Preferences/pnpm/rc | %LOCALAPPDATA%\pnpm\config\rc |
| pnpm global (pnpm >= 11) | $XDG_CONFIG_HOME/pnpm/config.yaml oder ~/.config/pnpm/config.yaml | $XDG_CONFIG_HOME/pnpm/config.yaml oder ~/Library/Preferences/pnpm/config.yaml | %LOCALAPPDATA%\pnpm\config\config.yaml |
| yarn | ~/.yarnrc.yml | ~/.yarnrc.yml | %USERPROFILE%\.yarnrc.yml |
| pnpm | pnpm-workspace.yaml | pnpm-workspace.yaml | pnpm-workspace.yaml |
| bun | $XDG_CONFIG_HOME/.bunfig.toml oder ~/.bunfig.toml | $XDG_CONFIG_HOME/.bunfig.toml oder ~/.bunfig.toml | %USERPROFILE%\.bunfig.toml |
| uv | $XDG_CONFIG_HOME/uv/uv.toml oder ~/.config/uv/uv.toml | $XDG_CONFIG_HOME/uv/uv.toml oder ~/.config/uv/uv.toml | %APPDATA%\uv\uv.toml |
| pip | $XDG_CONFIG_HOME/pip/pip.conf oder ~/.config/pip/pip.conf | ~/Library/Application Support/pip/pip.conf oder ~/.config/pip/pip.conf (oder $XDG_CONFIG_HOME/pip/pip.conf falls gesetzt) | %APPDATA%\pip\pip.ini |
| poetry | $XDG_CONFIG_HOME/pypoetry/config.toml oder ~/.config/pypoetry/config.toml | $XDG_CONFIG_HOME/pypoetry/config.toml (falls gesetzt) oder ~/Library/Application Support/pypoetry/config.toml | %APPDATA%\pypoetry\config.toml |
| renovate | renovate.json, .renovaterc, .github/renovate.json usw. | (gleich) | (gleich) |
| dependabot | .github/dependabot.yml | (gleich) | (gleich) |
$XDG_CONFIG_HOME/uv/uv.tomlXDG_CONFIG_HOME~/.config/uv/uv.toml~/.npmrcminimumReleaseAge.npmrcpip.confpypoetry/config.toml| Manager | So umgehen Sie die Abkühlzeit |
|---|
| npm | Führen Sie npm install <pkg>@<ver> --min-release-age=0 aus |
| pnpm | Fügen Sie einen Eintrag zu minimumReleaseAgeExclude in pnpm-workspace.yaml hinzu, führen Sie pnpm add <pkg>@<ver> aus und entfernen Sie dann den Eintrag. Das Ausschließen nach Paketnamen funktioniert ab pnpm 10.16+; das Festlegen einer bestimmten Version (<pkg>@<ver>) erfordert zusätzlich pnpm 10.19+. pnpm hat keine dokumentierte CLI-Überschreibung für minimumReleaseAge. |
| yarn | Fügen Sie <pkg> (oder einen Glob) zu npmPreapprovedPackages in .yarnrc.yml hinzu, oder führen Sie YARN_NPM_MINIMAL_AGE_GATE=0s yarn up <pkg>@<ver> für einen einzelnen Befehl aus. npmPreapprovedPackages befreit Treffer von allen Yarn-Paket-Gates, nicht nur vom Alters-Gate. |
| bun | Fügen Sie <pkg> zu install.minimumReleaseAgeExcludes in einer Repository-weiten bunfig.toml oder benutzerweiten ~/.bunfig.toml hinzu, oder führen Sie bun add <pkg>@<ver> --minimum-release-age 0 aus. |
| aube | Fügen Sie <pkg> zu minimumReleaseAgeExclude in .npmrc hinzu, oder setzen Sie AUBE_MINIMUM_RELEASE_AGE=0 (oder npm_config_minimum_release_age=0) für eine einzelne Installation. |
| uv | Fügen Sie "<pkg>" = false zu exclude-newer-package in uv.toml oder pyproject.toml hinzu, führen Sie uv add <pkg>==<ver> aus und entfernen Sie dann den Eintrag. exclude-newer-package ist eine separate paketweise Überschreibung des globalen exclude-newer-Grenzwerts. uv's CLI akzeptiert --exclude-newer-package PACKAGE=DATE, aber nicht PACKAGE=false. |
| pip | Führen Sie pip install <pkg>==<ver> --uploaded-prior-to=P0D für eine einzelne Installation aus. P0D deaktiviert die Abkühlzeit nur für diesen Befehl; pip hat keinen paketweisen Ausschluss in der Konfiguration. |
| poetry | Fügen Sie <pkg> zu solver.min-release-age-exclude (kommagetrennt) in poetry.toml/config.toml hinzu, führen Sie poetry add <pkg>@<ver> aus und entfernen Sie dann den Eintrag. solver.min-release-age-exclude-source befreit stattdessen jedes Paket von einem benannten Index. |
| Renovate | Sicherheitsupdates umgehen minimumReleaseAge bereits. Für ein Versionsupdate fügen Sie einen packageRules-Eintrag mit matchPackageNames: ["<pkg>"] und minimumReleaseAge: null hinzu. |
| Dependabot | Sicherheitsupdates umgehen cooldown bereits. Für ein Versionsupdate fügen Sie <pkg> zu cooldown.exclude hinzu. |