Anleitung zur Quellcode-Vorschau · 0.1.0

Wie CodeSecurity zusammenwirkt

Verfolge Quellberechtigungen, dauerhafte Jobs und Scannernachweise durch die lokale Weboberfläche.

Die API-Referenz ist auf Englisch.

CodeSecurity ist eine lokale Sicherheitsarbeitsumgebung mit zwei Clients: Browserdashboard und VS Code-Erweiterung. FastAPI liefert die kompilierte React-Anwendung und die Control-API. PostgreSQL erhält den Anwendungszustand. Ein separater Worker führt dauerhafte Befehle über Scanner, Scannerdaten-Updater und optionalen Advisor-Connector aus.

Verfolge einen Scan von gespeicherten Quellen bis zu aufbewahrten Nachweisen. Jeder Dienst hat eine enge Aufgabe und eine eigene Berechtigungsgrenze.

Verfolge einen Scan durch das System

Lokale Arbeitsumgebung / DienstübersichtDiagramm

Operatorclients

  • Browser

    Gekoppelte Operatorsitzung und Weboberfläche.

  • VS Code

    Ein genehmigtes Editorprofil mit begrenzten Capabilities.

Lokaler Eingang und dauerhafter Zustand

  • Loopback-Relay

    Veröffentlicht den lokalen TCP-Endpunkt ohne Laufzeitgeheimnisse oder dauerhafte Mounts.

  • FastAPI + React

    Liefert die Weboberfläche und prüft Control-Anfragen. Hat keinen Docker-Socket.

  • PostgreSQL

    Speichert Installationszustand, Befehle, Jobs, Befunde und Richtlinien.

  • Jobworker

    Übernimmt dauerhafte Arbeit und koordiniert ihr Ergebnis.

Begrenzte Ausführungsdienste

  • Scanner

    Liest autorisierte Quellen und validierte Daten in einem internen Netzwerk.

  • Updater

    Holt geprüfte Scannerdaten ohne Projektquellmount.

  • Advisor-Connector

    Führt optionale Anbieteranfragen mit genauen Freigaben aus.

Daten und optionaler Anbieter

  • Validierter Scannercache

    Laufzeitleser sehen eine ausgewählte schreibgeschützte Generation.

  • Autorisierter Ollama-Anbieter

    Lokales oder ausdrücklich autorisiertes entferntes Ziel.

Verbindungen

  • Browser zu Loopback-Relay

    Browseranfragen kommen über den Loopback-Endpunkt an.

  • VS Code zu Loopback-Relay

    Editoranfragen nutzen denselben Endpunkt mit eigener Berechtigung.

  • Loopback-Relay zu FastAPI + React

    Das Relay leitet TCP-Verkehr an den Controldienst weiter.

  • FastAPI + React zu PostgreSQL

    Control-Zustand wird über zugelassene Operationen gelesen und geändert.

  • Jobworker zu PostgreSQL

    Jobleases und Ergebnisse werden unabhängig von der Clientseite gespeichert.

  • Jobworker zu Scanner

    Der Worker reicht begrenzte Scanarbeit ein und sammelt Ergebnisse.

  • Jobworker zu Updater

    Vorbereitung läuft getrennt von Quellanalyse.

  • Scanner zu Validierter Scannercache

    Der Scanner liest die ausgewählten validierten Daten.

  • Updater zu Validierter Scannercache

    Der Updater validiert und wählt eine vollständige Generation.

  • Jobworker zu Advisor-Connector

    Advisor-Arbeit erhält eine genaue Anbieterfreigabe.

  • Advisor-Connector zu Autorisierter Ollama-Anbieter

    Nur autorisiertes Ziel und Anfrageumfang werden verwendet.

Browser und VS Code sind Clients einer lokalen Installation. API, dauerhafter Worker und begrenzte Dienste haben unterschiedliche Aufgaben. Optionaler Anbieterverkehr nutzt den Advisor-Connector.
  1. Der Operator autorisiert eine enge Quellwurzel oder liefert eine unterstützte begrenzte Momentaufnahme. Projekterstellung erfasst Quellidentität und gewährt keinen Zugriff auf andere Hostverzeichnisse.
  2. Die Control-API prüft angeforderten Umfang und aktuelle Scannervorprüfung. Sie speichert Scan und dauerhaften Job zusammen.
  3. Der Worker beansprucht den Job mit einer Lease. Der Scanner prüft den Quellzugriff erneut und führt aktivierte Werkzeuge gegen erfasste Quellansicht und validierte Datengeneration aus.
  4. Native Ausgabe wird zu begrenzten, normalisierten und bereinigten Befunden. Der Worker validiert Ergebnismanifest und Seiten und committet zugelassene Nachweise samt Wiederherstellungscheckpoint in PostgreSQL.
  5. Erst danach bestätigt der Worker das genaue Scannerergebnis, damit temporäre Ausgabe entfernt werden kann. Vollständige Nachweise werden anschließend gegen die Projekt-Gate-Richtlinie bewertet.
  6. Clients aktualisieren maßgebliche Ressourcen bei Änderungen an Jobs und Befunden. Optionaler Rat und menschliche Bewertungen sind separate Aktionen; sie ergänzen keine fehlende Scannerabdeckung.

Das Kapitel Jobs und Nachweise verfolgt Fehler- und Wiederherstellungswege dieser Schritte.

Setze Berechtigungen an jede Grenze

Die Compose-Kernkonfiguration veröffentlicht eine Loopback-Adresse über ein unprivilegiertes TCP-Relay. Das Relay leitet zur API weiter und besitzt weder dauerhafte Mounts noch Laufzeitgeheimniskonfiguration. Die API hat keinen Docker-Socket. Browsersitzungen und begrenzte Editor-Capabilities passieren dieselbe Control-Grenze mit unterschiedlichen Authentifizierungsregeln.

Komponente Lese- und Schreibzugriff Aufgabe
Control-API PostgreSQL, begrenzte Quellmomentaufnahmen und zugelassene Artefakte Autorisiert Befehle, liefert Ressourcen und speichert dauerhaften Zustand. Keine gemounteten Projektquellen.
Jobworker PostgreSQL und Artefaktspeicher; Momentaufnahmen schreibgeschützt Verwaltet Ausführung, Leases, Fortschritt, Abbruch und Ergebnisspeicherung.
Scanner Autorisierte Quellen, Momentaufnahmen und validierter Cache schreibgeschützt; privater temporärer Speicher und Artefaktausgabe Führt ausgewählte festgelegte Werkzeuge aus und veröffentlicht ein begrenztes Ergebnisprotokoll.
Scannerdaten-Updater Beschreibbarer Scannercache; geprüfte Downloadquellen Bereitet vollständige Datengenerationen vor und aktiviert sie ohne Projektquellmount.
Advisor-Connector Eigene Anbieterautorisierung und genehmigte Anbieterrouten Führt eng erlaubte lokale oder entfernte Ollama-Arbeit aus. Kein Projektquellmount.

Der Scanner nutzt ein internes Netzwerk. Updater und Advisor-Connector haben getrennte ausgehende Netzwerke. Für lokale und entfernte Modellanfragen ruft der Worker den Connector auf; Prompts gehen nicht direkt an Ollama. Dies sind quellseitig definierte Deploymentgrenzen. Image-Inhalt, wirksame Mounts und tatsächlicher ausgehender Verkehr müssen für die bewertete Installation noch geprüft werden.

Quell- und Clientberechtigungen erklärt die zugrunde liegenden Entscheidungen, interne Dienste ihre Protokolle.

Trenne verschiedene Zustandsarten

Frage Maßgeblicher Zustand Was daraus nicht folgt
Wurde der Befehl angenommen? Dauerhafter Job und Befehlsidentität Dass Ausführung begann oder gelang.
Ist der Scan vollständig? Scanstatus, Werkzeugergebnisse und Abdeckungsübersicht Dass jede mögliche Schwachstelle geprüft wurde.
Wie wurde ein Befund bewertet? Bewertung, Begründung und Revision Dass eine geänderte Datei verifiziert wurde oder ein neuer Scan die Entscheidung erbt.
Erfüllen Nachweise die Richtlinie? Gate-Entscheidung für vollständige Scannachweise Dass Repository-Schutz installiert oder ein Push autorisiert ist.
Darf dieser geschützte Push fortfahren? Aktuelle Repository-Berechtigung, ausgehende Bäume, Scannernachweise und Richtlinie Dass ein lokaler Hook unumgehbar ist.

Diese Trennung hält unvollständige Scans sichtbar, auch wenn sämtliche gesammelten Befunde unterdrückt sind. Sie verhindert außerdem, dass ein bestandener Arbeitsbaumscan Prüfungen früherer ausgehender Commits ersetzt. Befunde, Gates und Git-Schutz erklären die Operatorabläufe.

Verstehe die dauerhafte Speicherung

PostgreSQL speichert Projekte, Scans, normalisierte Befunde, Richtlinien und Jobs. Benannte Volumes enthalten zugelassene Artefakte, Scannerdaten und Quellmomentaufnahmen. Rohe native Berichte und Scannertransportspool leben nur begrenzt. Öffnen oder Schließen einer Browserseite bestimmt nicht die Joblebensdauer.

Das ist ein dauerhaftes Anwendungsdesign, keine Notfallwiederherstellungsgarantie. Der Quellcode beschreibt einen experimentellen nicht atomaren Backuphelfer, der standardmäßig deaktiviert ist. Ein getestetes Wiederherstellungsverfahren benötigt eigene Nachweise und genaue Eingaben.

Optionale Monitoring-, lokale Git-Proxy- und Datenbankverwaltungsprofile sind standardmäßig aus. Sie gehören nicht zur Berechtigung der Control-Kern-API und machen die Arbeitsumgebung nicht zu einem gehosteten Dienst.

Lies die Implementierung nach Verantwortung

Quellbereich Einstieg
Dienste, Mounts und Netzwerke Compose-Konfiguration
Control-Anwendung und Speicherung API-Anwendung, Datenmodell
Ausführung und Scannervorbereitung Scanarchitektur
Browser- und Editoraktualisierung Ereignisse und Abgleich
Quellbeiträge Erweiterungsgrenzen

Die Sicherheitsrichtlinie definiert Vertrauensannahmen. CodeSecurity ist keine Sandbox für feindliche Repositories. Ein bestandenes Gate ist ein Richtlinienergebnis über zugelassene Nachweise, keine Garantie sicheren Codes.