Skip to main content
Ein Code-Scan ist eine Devin-Sitzung samt der von ihr gestarteten untergeordneten Sitzungen, die ein oder mehrere Repositorys liest, Befunde meldet und diese über Pull Requests beheben kann. Sicherheits-Scans werden unter Security Swarm behandelt. Diese Seite beschreibt die übrigen Scan-Typen.
Um einen Scan auszuführen:
  • Sie benötigen die Berechtigung Use Code-Scans sowie die Berechtigung, Devin-Sitzungen zu verwenden. Siehe Zugriff und Berechtigungen.
  • Ihre Organisation muss Zugriff auf das Repository haben, das Sie scannen möchten.

Einen Scan mit /scan starten

  1. Geben Sie im Composer /scan ein, gefolgt von dem, wonach Sie suchen möchten, und erwähnen Sie die zu scannenden Repositorys. Zum Beispiel: /scan find N+1 queries in @acme/api. Repositorys, die Sie im Composer ausgewählt haben, werden ebenfalls einbezogen.
  2. Senden Sie die Nachricht. Devin startet eine neue Sitzung, um den Scan einzurichten, und öffnet sie. Wenn Sie /scan ohne Zusatz gesendet haben, schlägt Devin Beispiel-Scans vor, etwa das Auffinden langsamer Datenbankabfragen oder ungenutzten Codes, und fragt, wonach Sie suchen möchten.
  3. Devin wählt den Scan-Typ anhand Ihrer Anfrage und nennt ihn in einer Zeile, zum Beispiel, dass ein benutzerdefinierter Scan eingerichtet wird, der nur nach camelCase-Variablennamen sucht. Antworten Sie, falls Sie etwas anderes möchten.
  4. Devin zeigt eine Code scan setup-Karte an. Bestätigen Sie die zu scannenden Repositories und fügen Sie optional unter What should the scan focus on? Hinweise hinzu. Wenn Sie kein Repository erwähnt haben, wählt Devin anhand Ihrer letzten Pull Requests dasjenige vor, in dem Sie am meisten gearbeitet haben.
  5. Klicken Sie auf Start scan. Devin erstellt den Scan erst, nachdem Sie die Karte abgeschickt haben, und teilt anschließend einen Link zur Sitzung des Scans. Klicken Sie stattdessen auf Dismiss, um die Einrichtung abzubrechen.
Sie müssen weder einen Scan-Typ auswählen noch den Scan selbst konfigurieren. Anfragen, die einen ganzen Bereich abdecken, etwa ein Performance-Scan eines Repositorys, verwenden den passenden Scan-Typ. Engere oder abweichende Ziele, etwa das Auffinden von Speicherlecks, verwenden einen Custom-Scan, der sich auf Ihre Beschreibung konzentriert. Wenn ein Scan ohne Sicherheitsbezug abgeschlossen ist, sendet Ihnen Devin eine Slack-Direktnachricht mit einer Zusammenfassung der Befunde, sofern Sie keine andere oder gar keine Benachrichtigung angefordert haben. Für Slack-Nachrichten muss die Slack-Integration Ihrer Organisation es Sitzungen erlauben, Direktnachrichten zu senden.
Scans ohne Sicherheitsbezug laufen unbeaufsichtigt mit normalem Aufwand. Die Auswahl des Aufwands und der Interactive mode, bei dem Devin pausiert, damit Sie ein threat model prüfen können, bevor die Untersuchung beginnt, stehen nur für Sicherheits-Scans zur Verfügung.

Scan-Typen

Für Schwachstellen und Angriffsflächen verwendest du einen Security Swarm-Scan.

Befunde prüfen und beheben

Öffnen Sie den Tab Findings in der Sitzung, die den Scan gestartet hat, oder in der Hauptsitzung des Scans, um die Befunde abzuarbeiten. Offene Befunde sind nach Phase gruppiert:
  • Unassigned – Es wurde noch keine Sitzung zur Fehlerbehebung gestartet.
  • Assigned – Eine Sitzung zur Fehlerbehebung läuft, es ist aber noch kein Pull Request offen.
  • PR open – Für den Befund ist ein Pull Request offen.
Für jeden Befund haben Sie folgende Möglichkeiten:
  • Assign to Devin – Startet eine Devin-Sitzung, die den Befund korrigiert und einen Pull Request eröffnet. Über Open session verfolgen Sie den Fortschritt, über Open PR prüfen Sie das Ergebnis.
  • Dismiss – Entfernt einen Befund, der keine Maßnahme erfordert.
Während ein Scan läuft, bietet der Tab Findings in der Hauptsitzung des Scans zusätzlich Pause scan, Resume scan und Kill scan. Diese Funktionen erfordern die Berechtigung Manage Code-Scans.

Scanning skalieren

Scan new commits

Nach Abschluss eines Scans beliebigen Typs klicken Sie im Tab „Findings“ auf Scan new commits, um einen inkrementellen Lauf zu starten, der nur die Commits scannt, die seit dem letzten abgeschlossenen Lauf des Scans hinzugekommen sind. Der Lauf verwendet die bestehende Konfiguration des Scans und fügt dessen Befunde demselben Scan hinzu. Die Schaltfläche wird nicht angezeigt, solange der Scan läuft oder nachdem er archiviert wurde, und sie erfordert Manage Code-Scans. Wenn keine neuen Commits hinzugekommen sind, wird kein Lauf gestartet. Sie können Devin in einer Sitzung auch bitten, die neuen Commits eines bestehenden Scans zu scannen.

Automatisierungen

Automatisierungen können Scans jedes Typs nach einem Zeitplan oder als Reaktion auf ein Ereignis ausführen. Wählen Sie den Agent-Typ Code scan und anschließend unter Scan:
  • Wählen Sie Create a new scan, um bei jedem Auslösen der Automatisierung einen neuen Scan zu starten. Wählen Sie die Repositorys, den Scan-Typ und das Profil aus. Nicht sicherheitsbezogene Scan-Typen erfordern ein Scan-Profil desselben Typs.
  • Wählen Sie einen vorhandenen Scan aus, um bei jedem Auslösen der Automatisierung dessen neue Commits zu scannen. Für den Scan muss bereits ein abgeschlossener Durchlauf vorliegen.
Von Automatisierungen gestartete Scans laufen unbeaufsichtigt. Siehe Scans aus Automatisierungen starten.

API

Mit der Code Scans API lassen sich Scans starten, pollen und Befunde auslesen – ganz ohne Web-App. Wenn Sie über die API einen Scan starten, der nicht vom Typ Security ist, müssen Sie eine profile_id für ein Profil dieses Scan-Typs übergeben; scan_type übernimmt standardmäßig den Typ des Profils. Über die API gestartete Scans sind nicht interaktiv.