← Alle Beiträge

Sicherheitslücke gefunden, Pull Request geöffnet: automatisches Beheben

Die meisten Werkzeuge hören auf, wenn die Arbeit anfängt: Sie melden eine Sicherheitslücke und überlassen den Rest Ihrem Team. Secupipe geht einen Schritt weiter. Zu einem Befund gibt es den Fix gleich dazu, als Pull Request in Ihrem Repository, gebaut und getestet. Bricht das Update etwas, passt ein KI-Agent den Code an.

Vom Befund zum Pull Request

  1. Sie klicken am Befund auf Fix-PR erstellen. Oder Sie lassen Secupipe für alle offenen Befunde ab einem Schweregrad selbst Aufträge anlegen.
  2. Ein Job in Ihrer Pipeline holt die Aufträge ab, zum Beispiel einmal pro Stunde.
  3. Je Paket legt er einen Branch an, hebt die Abhängigkeit auf die korrigierte Version und lässt Build und Tests laufen.
  4. Sind sie grün, öffnet er den Pull Request (GitHub) oder Merge Request (GitLab). Status und Link erscheinen in Secupipe am Befund.

Automatisch aktualisiert werden npm-Pakete (direkte und transitive), Go-Module und feste Versionen in requirements.txt. Andere Ökosysteme übernimmt der KI-Agent.

Wenn das Update den Build bricht

Ein Sicherheitsupdate ist oft ein Sprung über mehrere Versionen, und dann ändert sich die Schnittstelle der Bibliothek. Genau hier bleiben Updates in der Praxis liegen. Mit dem Modul KI übernimmt ein KI-Agent: Er liest die Fehlermeldung, sieht in der neuen Version der Bibliothek nach, was sich geändert hat, und passt Ihren Code an, bis Build und Tests wieder durchlaufen. Tests abschalten oder Prüfungen abschwächen darf er nicht.

Ein Beispiel aus unserem Testlauf

Ein kleines Projekt nutzt die Markdown-Bibliothek marked in Version 0.3.19, die mehrere bekannte Lücken hat. Das Update auf 4.0.10 bricht den Code: TypeError: marked is not a function, weil die Bibliothek ihre Funktion seit Version 4 anders exportiert. Der Agent hat die Ursache in rund 15 Sekunden gefunden und eine Zeile geändert:

- const marked = require('marked');
+ const { marked } = require('marked');

Danach liefen die Tests wieder durch. Im Pull Request steht eine kurze Zusammenfassung des Agenten: was er geändert hat und warum.

Drei Stufen, Sie wählen

ModusWas passiert
Nur Versions-UpdateUpdate, Build und Tests. Bei Fehlern ein Pull Request als Entwurf mit Protokoll. Ohne KI.
Update, KI bei FehlernWie oben. Bricht das Update etwas, passt der KI-Agent den Code an.
KI-Agent zuerstDer Agent prüft jeden Auftrag: Wo wird das Paket genutzt, ist die Lücke überhaupt erreichbar? Er passt den Code an und fasst seine Prüfung im Pull Request zusammen.

Im dritten Modus kann der Agent auch zu dem Schluss kommen, dass Ihr Projekt gar nicht betroffen ist, weil der verwundbare Code nie aufgerufen wird. Dann öffnet er keinen Pull Request, sondern schlägt in Secupipe die Bewertung „nicht betroffen“ mit Begründung vor. Gültig wird sie erst, wenn ein Mensch sie freigibt.

Was der Fix nicht tut

So richten Sie es ein

Fix-PRs gibt es ab dem Plan Team, die KI-Stufen mit dem Modul KI und einem eigenen Schlüssel beim KI-Anbieter. In GitHub Actions:

jobs:
  autofix:
    runs-on: ubuntu-latest
    container: ghcr.io/costa-chown/secupipe-autofix:1
    steps:
      - uses: actions/checkout@v5
      - run: secupipe-autofix
        env:
          SECUPIPE_TOKEN: ${{ secrets.SECUPIPE_TOKEN }}
          GITHUB_TOKEN: ${{ github.token }}
          REPO: ${{ github.repository }}
          AUTO: hoch
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

Mit AUTO: hoch legt der Job selbst Aufträge für alle offenen Befunde ab „hoch“ an. Ohne diese Zeile arbeitet er nur ab, was Sie in Secupipe angeklickt haben. Nach dem nächsten SBOM-Upload gilt der Befund als behoben.

Lücken im eigenen Code findet der KI-Code-Scan; mehr dazu im Beitrag Der eigene Code als Schwachstelle.

Kostenlos starten Preise ansehen

Quellen