Produkt
Archito NeuLernt aus Ihren Merge Requests, zeigt, was hängt Integrationen 25
Lösungen
Nach Rolle
Warum AppArch
Ressourcen
Kunden Preise Kontakt
Sprache
Kontakt aufnehmen

Die Fehler, an die Ihre Tests nicht gedacht haben, vom Request bis zur Datenbank verfolgt.

SmartScan verfolgt jeden Einstiegspunkt - eine Web-Action, einen Job, einen Message-Consumer, einen Screen in einer App - über Services und Handler bis zur Datenbank oder zum ausgehenden Request und markiert, was unterwegs brechen kann: eine Abfrage, die leer zurückkommen kann, zwei Schreibvorgänge, die halb gelingen können, eine Spalte, die die Eingabe überlaufen kann. Jedes Risiko kommt mit der Kette, die dorthin führt.

Bildschirme aus einer laufenden Installation

Wonach es sucht

Vier Arten von Risiko, jede auf einem echten Pfad durch Ihren Code gefunden - nicht an einem Muster, das jemand aufgeschrieben hat.

Datensatz nicht gefunden

Eine Abfrage mit Request-Daten kann leer zurückkommen, und der Code nutzt das Ergebnis ungeprüft: 500 statt 404 oder eine irreführende Meldung.

Halber Schreibvorgang

Zwei getrennte Commits in einem Ablauf ohne Transaktion darum: Scheitert der zweite, bleibt der erste geschrieben.

Vertragslücken

Der Request kann mehr enthalten, als die Spalte fasst, eine Pflichtspalte wird unterwegs nicht geprüft, oder eine eindeutige Spalte wird ohne Eindeutigkeitsprüfung geschrieben.

Frontend und Mobil

Ein Request, dessen Fehler niemand behandelt, ein Fehler, der als Erfolg gilt, eine Antwort, die ungeprüft genutzt wird: Der Screen stürzt ab oder bleibt stumm.

Was SmartScan in einer einzigen Anfrage sieht

Eine Bestellung entsteht über sechs Stationen. Jede ist ein echter Aufruf im Code; SmartScan folgt ihnen und hält dort an, wo etwas brechen kann.

  1. Einstiegspunkt POST /api/orders OrdersController.Create
  2. Mediator-Anfrage mediator.Send(CreateOrderCommand)
  3. Handler CreateOrderHandler.Handle
  4. Interface zur Implementierung ICustomerRepository.FindAsync CustomerRepository Nicht gefunden: Das Ergebnis wird ohne Prüfung verwendet
  5. Schreibvorgänge SaveChangesAsync() ×2 Teilweises Schreiben: zwei Commits, keine Transaktion
  6. Datenbank orders · order_lines

So funktioniert es

Die Einheit ist eine Kette: vom Eintritt eines Requests bis dorthin, wo er Daten berührt.

  1. 01

    Bei jedem Einstiegspunkt beginnen

    Web-Actions, geplante Jobs und Message-Consumer; in Frontends und Apps Events, Effects, Routen und Screens.

  2. 02

    Der Kette folgen

    Vom Interface zur Implementierung, Overrides, Mediator-Requests zu ihren Handlern - bis zum ORM oder HTTP-Aufruf.

  3. 03

    Abgesichertes verwerfen

    Eine Prüfung, eine Abfrage, die eine Ausnahme wirft, ein Validator mit der richtigen Grenze - auf dem eigenen Pfad des Schreibvorgangs - zählt. Eine Kette ohne Risiko wird nicht gemeldet.

  4. 04

    Den Pfad zeigen

    Jedes Risiko listet seine Schritte mit Datei und Zeile, vom Einstiegspunkt bis zur Spalte.

Eine Warnung, kein Gate

SmartScan ist kein Regelwerk: Es senkt nie einen Score und lässt nie eine Pipeline scheitern. Jedes Risiko lässt sich wie jeder Befund einzeln schließen. Es wird pro Projekt eingeschaltet, ist standardmäßig aus und läuft nur bei vollständigen Scans - Merge-Request-Prüfungen bleiben schnell.

In allen neun Collector-Sprachen

.NET Java Python Go PHP Ruby TypeScript Kotlin Swift

Eine Regel und ein SmartScan-Risiko sind nicht dasselbe

Beide erscheinen im selben Panel, beantworten aber andere Fragen und verhalten sich anders.

RegelbefundSmartScan-Risiko
Wonach es suchtEin bekanntes, festgeschriebenes MusterEinen Pfad durch Ihren eigenen Code
ScoreSenkt ihn, nach Schweregrad gewichtetBerührt ihn nie
PipelineKann sie per Fail-on-Schwelle stoppenStoppt sie nie
Wann es läuftMerge-Request-Reviews und vollständige ScansNur vollständige Scans, pro Projekt aktiviert
Was Sie bekommenDatei, Zeile und die Begründung der RegelDie ganze Kette, Schritt für Schritt, mit Datei und Zeile

Fragen zu SmartScan

Ist das ein weiteres Regelwerk?
Nein. Ein Regelwerk wächst mit jedem Szenario, das sich jemand ausdenkt; SmartScan folgt stattdessen den Pfaden des Codes. Es warnt, senkt nie einen Score und lässt nie eine Pipeline scheitern.
Wie werden Fehlalarme vermieden?
Eine Absicherung zählt nur auf dem eigenen Pfad des Schreibvorgangs: eine explizite Prüfung, eine Abfrage, die bei leerem Ergebnis eine Ausnahme wirft, ein Validator mit der richtigen Grenze. Jede Risikoart wurde vor dem Release von Hand an echten Codebasen geprüft.
Verlangsamt es Merge-Request-Prüfungen?
Nein. SmartScan läuft nur bei vollständigen Repository-Scans; Merge-Request-Prüfungen behalten ihren schnellen Weg.
Welche Sprachen und Frameworks?
Alle neun Collector-Sprachen: .NET, Java, Python, Go, PHP, Ruby, TypeScript (inklusive React- und Next.js-Frontends), Kotlin (Android und Spring) und Swift (iOS).

So sieht es im Produkt aus

Alle Screenshots

Finden Sie die Fehler, bevor Ihre Nutzer es tun

Schalten Sie SmartScan im PoC für ein Projekt ein; der nächste vollständige Scan zeigt jede gefährdete Kette.