- vet ist ein CLI-Tool, das die Ausführung entfernter Installationsskripte nach dem Muster
curl | bash sicher in einen **„Herunterladen → Prüfen → Ausführung freigeben“*-Prozess umwandelt
- Es bietet mehrstufige Schutzfunktionen wie das Prüfen von Skriptänderungen (diff), auf shellcheck basierende Lint-Prüfung (statische Analyse) und explizite Freigabe durch den Nutzer (nach Prüfung ausführen)
- Mit einem einzigen Befehl (
vet https://example.com/install.sh) lassen sich vor der Ausführung entfernter Skripte potenzielle Risiken, Manipulationen, Tippfehler und Schwachstellen automatisch prüfen
- Auch die Installation selbst unterstützt sowohl den Modus „nach dem Herunterladen prüfen“ als auch
curl | sh, und sogar der Installationscode von vet kann direkt eingesehen werden
- Es ist eine verlässliche Lösung, die Sicherheitsrisiken in Entwicklungs- und Betriebsumgebungen verhindert und gleichzeitig Automatisierung sowie Komfort bietet
Problem: Unbedachtes Ausführen entfernter Installationsskripte
- Viele Open-Source-Projekte und Tools empfehlen die Installation per entferntem Skript wie
curl -sSL https://example.com/install.sh | bash
- Dieser Ansatz birgt kritische Sicherheitsrisiken wie die Ausführung von Schadcode oder unvollständigen Dateien durch Skriptmanipulation, Server-Hacks oder Netzwerkfehler
Die Lösung von vet: sichere interaktive Ausführung
Installation
Empfohlene sichere Methode (Herunterladen → prüfen → ausführen)
- 1. Installationsskript herunterladen:
- 2. Das heruntergeladene Skript direkt im Code prüfen (z. B. mit less, vim):
less install_vet.sh
- 3. Nach der Prüfung direkt ausführen:
sh install_vet.sh
Schnelle Installation (vertrauensbasierter One-Liner)
Merkmale und Vorteile von vet
- Änderungserkennung (diff): Unterschiede zum zuvor ausgeführten Skript lassen sich erkennen
- Automatisches Linting (shellcheck-Integration): Schwachstellen, Tippfehler und verdächtiger Code in Shell-Skripten werden automatisch erkannt
- Explizite Ausführungsfreigabe (Confirm): Die tatsächliche Ausführung lässt sich mit einem Klick/einer Eingabe direkt steuern
- Automatisches Speichern und Verlaufspflege von Skripten: Auch häufig genutzte Installationsskripte lassen sich sicher nachverfolgen
- Gewährleistet auch intern eine sichere Installation und Aktualisierung
Fazit
- vet ist für Entwickler und Administratoren gleichermaßen eine sichere Alternative zu „curl | bash“, die sowohl Installationsautomatisierung als auch Sicherheit ermöglicht
- „Nicht einfach ausführen – erst mit vet prüfen und dann starten!“
1 Kommentare
Hacker-News-Kommentare
# shellcheck disable=-Pragmas einfügt.# shellcheck disable=-Codes. Diese Änderung selbst ist bereits ein Warnsignal.install.shdirekt ansehen..netrc, die UmgebungsvariableVET_TOKENund später sogar die Anbindung an Secret-Manager wie HashiCorp Vault stehen auf der Roadmap. Wenn Interesse besteht, würde ich gern im GitHub-Issue Meinungen dazu hören. Danke für das Feedback.lessoder, falls installiert, in einem optisch schöner hervorgehobenen Pager mitbat), nicht in einem Editor, um versehentliche Änderungen zu verhindern. Wenn ShellCheck Probleme erkennt, werden sie direkt farbig im Terminal ausgegeben. Danach wird man explizit gefragt, ob man die Prüfung trotz der Probleme fortsetzen will, im Format[y/N]. Beispiel: Danke für den guten Vorschlag.curl | bash-Muster. Unter Windows gibt es Funktionen, die Dateien beim Installieren automatisch scannen.curl | bash-Muster immer unwohl gefühlt und wollte ein Tool, das bei Änderungen im Skript einen Diff zeigt, ShellCheck ausführt und vor der Ausführung eine ausdrückliche Zustimmung des Nutzers einholt. Deshalb habe ich vet gebaut. Für die Installation gilt dasselbe Prinzip. Ich empfehle ausdrücklich, das Installationsskript zu lesen. Feedback ist willkommen. Das Repo ist https://github.com/vet-run/vetwget -qO- https://getvet.shtext/htmlzurück). Ich würde eher empfehlen, install.sh direkt zu holen. Und als Feedback im Sinne von „probier es doch so“ hier ein Bash-Tipp: Diese Methode fragt jedes Mal nach Erlaubnis, wenn Bash etwas ausführen will. Bei langen Skripten kann das mühsam werden, daher könnte man das mit einer Whitelist für als sicher betrachtete Befehle oder einer „remember“-Option anpassen. In Bezug aufsudogilt: Malware kann zunächst bei einem harmlos wirkenden Befehlsudoausführen, die Zugangsdaten im Cache halten und später ohne weitere Warnung erneutsudoverwenden. Es ist sicherer, vor dem Ausführen unbekannter Programme mitsudo -kden Session-Cache zu leeren.