leistungsbilanz-ts/.agents/skills/dependency-vetting/SKILL.md
Grovy311 67476ea59b Add agent security skills for Codex and Claude Code
Same skills in .agents/skills (Codex) and .claude/skills (Claude Code):
codeguard, security-review, dependency-vetting, pre-release-gate,
authz-idor-audit, threat-model-light. Source: cj/claude-skills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 09:40:33 +02:00

1.9 KiB
Raw Blame History

name description
dependency-vetting Neue Pakete (PyPI, npm) vor dem Einbau prüfen: existiert das Paket wirklich, ist es frisch angelegt, ein Typosquat, ungepflegt oder kaum genutzt. TRIGGER WENN eine neue Dependency hinzukommen soll (pip install, npm install, Eintrag in requirements/pyproject/package.json), der User sagt "prüf das Paket", "ist das Paket sicher", "dependency check", "/dependency-vetting", oder ein Diff neue Pakete enthält. Ergebnis: pro Paket ein Urteil OK / WARNUNG / EXISTIERT NICHT mit Gründen.

dependency-vetting

KI-Agenten erfinden Paketnamen („Slopsquatting“). Angreifer registrieren genau diese Namen. Deshalb wird jede neue Dependency vor install geprüft.

Ablauf

  1. Paketnamen exakt so sammeln, wie sie installiert würden (pypi:name, npm:name, npm-Scopes wie npm:@scope/name).
  2. Prüfskript ausführen. Im App-Repo mit Baseline:
    make vet-deps PKGS="pypi:fastapi npm:zod"
    
    Ohne Baseline direkt aus diesem Skill:
    python3 <skill-ordner>/scripts/vet_deps.py pypi:fastapi npm:zod
    
    Exit-Code: 0 = alles OK, 1 = Warnungen, 2 = mindestens ein Paket existiert nicht.
  3. Urteil pro Paket übernehmen und selbst einordnen:
    • EXISTIERT NICHT → nie installieren. Vermutlich halluziniert; richtigen Namen suchen.
    • WARNUNG (jünger als 90 Tage, wenige Releases, kaum Downloads, Name ähnelt einem bekannten Paket, kein Repository-Link) → dem User zeigen, Alternative vorschlagen, nur mit ausdrücklichem OK installieren.
    • OK → installieren, danach make audit (bekannte Lücken).
  4. Braucht man das Paket überhaupt? Für 20 Zeilen Code keine neue Abhängigkeit.

Grenzen

Das Skript prüft Metadaten, keinen Code. Ein gekapertes, populäres Paket fällt nicht auf; dafür sind make audit und gepinnte Lockfiles da. Ohne Netzzugang meldet das Skript „nicht prüfbar“ – das ist kein OK.