Anleitung zur Quellcode-Vorschau · 0.1.0
Quell- und Clientberechtigungen
Verstehe die getrennten Entscheidungen, die Clients Arbeitsaufträge und Scannern Quellzugriff erlauben.
Die API-Referenz ist auf Englisch.
Editorverbindung, autorisierte Quellwurzel und genehmigtes geschütztes Repository beantworten unterschiedliche Fragen. CodeSecurity prüft sie jeweils an der relevanten Grenze. Ein Projektname oder vom Client übermittelter Pfad autorisiert allein keinen Quellzugriff.
Trenne Eigentümerentscheidungen
Clientberechtigung
- Browsersitzung
Gekoppelte HttpOnly-Sitzung; Änderungen benötigen zusätzlich genaue Origin und CSRF-Wert.
- IDE-Capability
Freigabe bindet vorgesehenes Profil und Berechtigungsgeneration.
Anfragezulassung
- Routen- und Eigentumsprüfungen
Der Client muss Routenscope und operationsspezifische Prüfungen erfüllen.
- Quellautorisierung
Ausdrückliche Hosteigentümeraktion macht nur geprüfte enge Wurzeln oder unterstützte Momentaufnahmen zugänglich.
Repository-Schutz
- Repository-Mitgliedsfreigabe
Die vorgesehene Editorgeneration erhält Erlaubnis für das genaue Repository.
- Anwendung auf dem Host
Ausdrückliches Apply ändert den lokalen Klon; angeforderter Zustand allein ist keine Installation.
Verbindungen
Browsersitzung zu Routen- und Eigentumsprüfungen
Browsermitgliedschaft umgeht kein operationsspezifisches Eigentum.
IDE-Capability zu Routen- und Eigentumsprüfungen
Nur die genaue Capability-Freigabeliste wird zugelassen.
Routen- und Eigentumsprüfungen zu Quellautorisierung
Projektauswahl oder Registrierung allein gewährt keinen Hostquellzugriff.
Routen- und Eigentumsprüfungen zu Repository-Mitgliedsfreigabe
Gewöhnliche IDE-Mitgliedschaft erteilt keine Repository-Mitgliedserlaubnis.
Repository-Mitgliedsfreigabe zu Anwendung auf dem Host
Die genehmigte Einstellung muss weiterhin ausdrücklich auf den vorgesehenen Klon angewandt werden.
| Entscheidung | Erlaubnis | Bleibt getrennt |
|---|---|---|
| Browserauthentifizierung | Lokale Control-Anwendung über ihre Sitzungsgrenze nutzen | Unsichere Anfragen verlangen weiterhin erlaubte Origin und CSRF-Schutz. |
| IDE-Mitgliedschaft | Routen innerhalb von Capability-Scopes und aktiver Generation nutzen | Workspace Trust, Quellzugriff und Repository-Schutzfreigabe. |
| Workspace Trust | Unterstützte Editoraktionen für diesen Arbeitsbereich erlauben | Breiterer Container-Quellmount oder Freigabe eines neuen Eigentümers. |
| Quellwurzelautorisierung | Bestehende enge Quellwurzel schreibgeschützt mounten | Projektregistrierung und ausgewählter Umfang jedes Scans. |
| Momentaufnahmezulassung | Begrenzte Quellgeneration mit geprüfter Identität speichern | Beliebiger Hostdateizugriff oder Ausführung hochgeladener Quellen. |
| Git-Schutzfreigabe | Genau genehmigter Editorgeneration die Schutzverwaltung des gewählten Repositorys erlauben | Nachweis angewandter Hosthooks, aktuelle Push-Nachweise oder serverseitige Durchsetzung. |
Browser- und Editorberechtigungen sind unabhängig widerrufbar. IDE-Anfragen werden gegen genaue Routenscopes und aktive Capability-Generation geprüft. Die Control-API ist kein allgemeiner API-Schlüsseldienst. Die Authentifizierungsanleitung erklärt den unterstützten Clientablauf.
Die Anfragegrenze validiert auch Host und Origin und lehnt Zugangsmaterial in URLs ab. Authentifizierung ersetzt keine routenspezifischen Eigentumsprüfungen. Siehe Sicherheitsmiddleware und IDE-Autorisierung.
Gemountete Quellen sind eine ausdrückliche Hostgrenze
Bei unterstützten POSIX- und Remote-WSL-Abläufen wählt der Eigentümer bestehende enge Quellwurzeln. Der Hosthelfer kanonisiert Pfade und lehnt breite Wurzeln, unsichere Formen und Werte ab, die nicht wörtlich in die Compose-Umgebung serialisiert werden können. Höchstens 32 verschiedene konfigurierte Wurzeln sind erlaubt. Compose erzeugt keine fehlende Bind-Quelle, um einen Auftrag erfolgreich zu machen.
Die API hat keinen Projektquellmount. Ihre Vorschau prüft, ob der angeforderte Pfad innerhalb konfigurierter Berechtigung liegt, und entscheidet ohne Projekt- oder Joberstellung. Projekterstellung erfasst die Quellidentität. Bei Ausführung prüft der Scanner den tatsächlichen Pfad unabhängig und verwendet eingeschränkte Leseoperationen; die lexikalische API-Pfadprüfung gilt nicht als Beweis sicheren Zugriffs.
Scans ausgewählter Dateien und Verzeichnisse bleiben innerhalb des autorisierten Repositorys. Der Scanner validiert das Ziel und erfasst seine Quellansicht für die Werkzeuge. Eine Anfrage macht aus einem gewählten Verzeichnis keine Erlaubnis zum Lesen außerhalb der Wurzel.
Implementierungseinstiege sind Quellwurzelvalidierung, Quellvorschau und Projekterstellung und deskriptorrelatives Quelllesen.
Momentaufnahmen transportieren Quellen statt breiterer Mounts
Unterstützte native Windows-Abläufe und unveränderliche Git-Baumprüfungen verwenden den eigenen Momentaufnahmespeicher. Die API validiert Dateipfade, Anzahl, Größe und Inhaltsidentität vor Veröffentlichung einer versiegelten Generation. Ein Momentaufnahmescan muss den genauen erwarteten Digest nennen; ein Projekt mit gemounteten Quellen kann nicht stillschweigend einen Upload einsetzen.
| Grenze | Festgelegte Implementierung |
|---|---|
| Momentaufnahme-Nutzlast | Höchstens 5.000 Dateien, 8 MiB je Datei und 64 MiB Quellinhalt. |
| Aufbewahrte oder unterbrochene Generationen | Höchstens 256. |
| Speicherinventar | Höchstens 65.536 Dateisystemeinträge und 64 Quellverzeichnisebenen. |
| Gesamter Momentaufnahmespeicher | Höchstens 2 GiB, einschließlich Dateisystemallokation und Metadatenaufwand. |
| Freiplatzprüfung | Neue Allokation plus weitere 2 GiB Reserve müssen verfügbar sein. |
Veröffentlichung und ausdrückliches Löschen teilen eine private No-follow-Sperre. Gleichzeitige Schreiber erhalten snapshot_storage_busy; unsicherer oder unlesbarer Speicher liefert snapshot_storage_unavailable; Kapazitätsablehnung liefert snapshot_storage_full. Diese Ablehnungen planen weder versteckte Wiederholungen noch löschen sie ältere Nachweise automatisch.
Eine identische versiegelte Generation wird ohne weitere Kopie validiert und wiederverwendet, auch bei voller Neuschreibzulassung. Unterbrochene Veröffentlichung verbraucht weiterhin Speicherbudget. Nur ausdrücklich geprüfte passende Quellgenerationen dürfen gelöscht werden. Andere Prozesse können Hostplatz verbrauchen; lokale Grenzen versprechen daher keinen dauerhaft freien Gesamtdatenträger.
Siehe Momentaufnahmezulassung und Speichervertrag. Erfassungsgrenzen unterscheiden sich von der kleineren Scannergrenze für geeignete Textanalyse unter Scannen.
Binde Quellnavigation an aktuelle Nachweise
Ein Befunddateipfad ist ein Nachweis, keine Anweisung zum Öffnen beliebiger Dateien. Quellöffnungsbefehle binden gewählte IDE-Capability-Generation, Befundrevision und Sammlungsrevision. Veraltete oder mehrdeutige Empfänger verlangen Abgleich.
Befunde festgehaltener Bäume haben eine strengere Grenze: Die API verweigert das Öffnen einer vermeintlich passenden aktuellen Arbeitsbereichsdatei. Der aktuelle Arbeitsbaum kann von der historischen Befundquelle abweichen. Prüfe stattdessen erfasste Details. Diese Ablehnung steht ausdrücklich in IDE-Quellbefehlen.
Erhalte die Grenze bei Integrationen
Nutze das unterstützte Browser- oder IDE-Berechtigungsmodell und zusätzliche Eigentumsprüfungen der Ressource. Erweitere keine Quellwurzeln wegen veralteter Capabilities, behandle Pfadvorschau nicht als Scannerabschluss und leite native Plattformqualifikation nicht aus vorhandener Momentaufnahmeimplementierung ab. Tatsächliches Plattformverhalten benötigt Nachweise für die genauen verwendeten Quellen, Images und Clients.