Venv-Audit: uv-venvs haben kein pip - Inspektion via Audit-venv pip --path
Erstlauf-Befund: mem0-/voice-venvs sind uv-erstellt (kein bin/pip, kein pip-Modul). Das Audit-venv prueft deren site-packages jetzt von aussen (pip list --outdated/--format=freeze --path) - Dienst-venvs bleiben unberuehrt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,14 +39,18 @@ CVES_GESAMT=0
|
|||||||
|
|
||||||
for EINTRAG in "${VENVS[@]}"; do
|
for EINTRAG in "${VENVS[@]}"; do
|
||||||
VENV="${EINTRAG%%:*}"; NAME="${EINTRAG##*:}"
|
VENV="${EINTRAG%%:*}"; NAME="${EINTRAG##*:}"
|
||||||
if [ ! -x "$VENV/bin/pip" ]; then
|
# uv-venvs haben KEIN eigenes pip (Befund Erstlauf 17.07.) → das Audit-venv
|
||||||
ZEILEN+=("$NAME: venv fehlt unter $VENV — bitte prüfen")
|
# inspiziert deren site-packages von außen (pip --path); Dienst-venvs bleiben unberührt.
|
||||||
|
SP="$("$VENV/bin/python" -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])' 2>/dev/null || true)"
|
||||||
|
if [ -z "$SP" ] || [ ! -d "$SP" ]; then
|
||||||
|
ZEILEN+=("$NAME: venv fehlt/unlesbar unter $VENV — bitte prüfen")
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
# Veraltete Pakete (Anzahl reicht fürs Lagebild)
|
# Veraltete Pakete (Anzahl reicht fürs Lagebild)
|
||||||
ALT_N="$("$VENV/bin/pip" list --outdated 2>/dev/null | tail -n +3 | grep -c '' || echo 0)"
|
ALT_N="$("$AUDIT_VENV/bin/pip" list --outdated --path "$SP" 2>/dev/null | tail -n +3 | grep -c '' || echo 0)"
|
||||||
# CVE-Prüfung gegen den eingefrorenen Stand (lokale Pfade/Editables ausfiltern)
|
# CVE-Prüfung gegen den eingefrorenen Stand (lokale Pfade/Editables ausfiltern)
|
||||||
"$VENV/bin/pip" freeze 2>/dev/null | grep -vE ' @ |^-e |^#' > "$TMP/$NAME.txt" || true
|
"$AUDIT_VENV/bin/pip" list --format=freeze --path "$SP" 2>/dev/null \
|
||||||
|
| grep -vE ' @ |^-e |^#' > "$TMP/$NAME.txt" || true
|
||||||
CVE_N=0
|
CVE_N=0
|
||||||
if [ -x "$AUDIT_VENV/bin/pip-audit" ] && [ -s "$TMP/$NAME.txt" ]; then
|
if [ -x "$AUDIT_VENV/bin/pip-audit" ] && [ -s "$TMP/$NAME.txt" ]; then
|
||||||
AUDIT_OUT="$("$AUDIT_VENV/bin/pip-audit" -r "$TMP/$NAME.txt" --progress-spinner off 2>&1 || true)"
|
AUDIT_OUT="$("$AUDIT_VENV/bin/pip-audit" -r "$TMP/$NAME.txt" --progress-spinner off 2>&1 || true)"
|
||||||
|
|||||||
Reference in New Issue
Block a user