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
- Sie klicken am Befund auf Fix-PR erstellen. Oder Sie lassen Secupipe für alle offenen Befunde ab einem Schweregrad selbst Aufträge anlegen.
- Ein Job in Ihrer Pipeline holt die Aufträge ab, zum Beispiel einmal pro Stunde.
- Je Paket legt er einen Branch an, hebt die Abhängigkeit auf die korrigierte Version und lässt Build und Tests laufen.
- 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
| Modus | Was passiert |
|---|---|
| Nur Versions-Update | Update, Build und Tests. Bei Fehlern ein Pull Request als Entwurf mit Protokoll. Ohne KI. |
| Update, KI bei Fehlern | Wie oben. Bricht das Update etwas, passt der KI-Agent den Code an. |
| KI-Agent zuerst | Der 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
- Er merged nie. Jeder Fix ist ein Pull Request. Ihr Team prüft und entscheidet.
- Er verlässt Ihren Runner nicht. Update, Build, Tests und KI-Agent laufen in Ihrer Pipeline. Secupipe erhält nur Status, Link und das Ende des Protokolls.
- Er versteckt keine Fehler. Wird der Build nicht grün, entsteht ein Pull Request als Entwurf, mit dem Protokoll des Fehlers.
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