Guide de la version préliminaire · 0.1.0

Droits des sources et des clients

Comprenez les décisions distinctes autorisant un client à demander du travail et un analyseur à lire les sources.

La référence de l’API est en anglais.

Connexion d’éditeur, racine autorisée et dépôt protégé approuvé répondent à des questions différentes. CodeSecurity vérifie chacune à la frontière concernée. Un nom de projet ou un chemin envoyé par un client n’autorise pas seul l’accès aux sources.

Séparer les décisions du propriétaire

Accès / décisions séparéesSchéma

Droits du client

  • Session navigateur

    Session HttpOnly associée ; les mutations exigent aussi Origin et valeur CSRF exactes.

  • Capacité IDE

    L’approbation lie le profil prévu et sa génération de droits.

Admission des requêtes

  • Contrôles de route et de propriété

    Le client doit satisfaire le périmètre de route et les contrôles propres à l’opération.

  • Autorisation des sources

    Une action explicite du propriétaire hôte expose seulement des racines précises examinées ou des instantanés pris en charge.

Protection du dépôt

  • Approbation comme membre du dépôt

    La génération d’éditeur prévue reçoit le droit pour le dépôt exact.

  • Application sur l’hôte

    Apply explicite modifie le clone local ; un état demandé seul ne signifie pas installation.

Connexions

  • Session navigateur vers Contrôles de route et de propriété

    L’appartenance navigateur ne contourne pas la propriété propre à l’opération.

  • Capacité IDE vers Contrôles de route et de propriété

    Seule la liste exacte des capacités permises est admise.

  • Contrôles de route et de propriété vers Autorisation des sources

    Choisir ou enregistrer un projet n’accorde pas seul l’accès aux sources hôtes.

  • Contrôles de route et de propriété vers Approbation comme membre du dépôt

    L’appartenance IDE ordinaire n’accorde pas le droit de membre du dépôt.

  • Approbation comme membre du dépôt vers Application sur l’hôte

    Le réglage approuvé doit encore être appliqué explicitement au clone prévu.

Connexion, choix des sources, accès hôte et protection du dépôt sont des décisions séparées. Une connexion réussie n’accorde pas les autres permissions.
Décision Autorise Reste distinct
Authentification navigateur Utiliser l’application locale par sa session Les requêtes non sûres exigent encore origine permise et protection CSRF.
Appartenance IDE Utiliser les routes permises par les scopes et la génération active Workspace Trust, accès aux sources et approbation de protection.
Workspace Trust Permettre les actions d’éditeur prises en charge pour cet espace Montage de sources plus large ou approbation d’un nouveau propriétaire.
Autorisation de racine Monter une racine existante précise en lecture seule Enregistrement de projet et périmètre de chaque analyse.
Admission d’instantané Conserver une génération bornée avec identité vérifiée Accès arbitraire aux fichiers hôtes ou exécution des sources téléversées.
Approbation de protection Git Laisser la génération exacte gérer la protection du dépôt choisi Preuve du hook appliqué, éléments actuels du push ou application serveur.

Les droits navigateur et éditeur sont révocables indépendamment. Les requêtes IDE sont vérifiées selon les scopes exacts et la génération active. L’API n’est pas un service générique de clés API. Le guide d’authentification explique le parcours client pris en charge.

La frontière vérifie aussi Host et Origin et refuse les informations d’authentification dans les URL. L’authentification ne remplace pas les contrôles de propriété propres aux routes. Consultez middleware de sécurité et autorisation IDE.

Traiter les montages comme une frontière explicite de l’hôte

Pour POSIX et Remote WSL pris en charge, le propriétaire choisit des racines existantes précises. L’outil hôte canonicalise le chemin et refuse racines larges, formes dangereuses et valeurs non sérialisables littéralement dans l’environnement Compose. Il admet au plus 32 racines distinctes. Compose ne crée pas une source de montage absente pour faire réussir une demande.

L’API n’a pas le montage du projet. Son aperçu vérifie l’appartenance du chemin aux droits configurés et décide sans créer projet ou job. La création enregistre l’identité source. À l’exécution, l’analyseur revérifie le chemin réel et utilise des lectures contraintes plutôt que de prendre la vérification lexicale de l’API pour une preuve d’accès sûr.

Les analyses d’un fichier ou répertoire sélectionné restent dans le dépôt autorisé. L’analyseur valide la cible et capture sa vue pour les outils. Une demande ne transforme pas un dossier sélectionné en permission de lire hors de la racine.

Les points d’entrée sont validation des racines, aperçu et création de projet et lectures relatives aux descripteurs.

Transporter les sources par instantané, sans élargir le montage

Les parcours Windows natifs pris en charge et vérifications d’arbres Git immuables utilisent le stockage dédié. L’API valide chemins, nombres, tailles et identité du contenu avant publication d’une génération scellée. Une analyse d’instantané doit nommer le digest attendu exact ; un projet monté ne peut substituer silencieusement un instantané téléversé.

Borne Implémentation figée
Charge utile Au plus 5 000 fichiers, 8 MiB par fichier et 64 MiB de sources.
Générations conservées ou interrompues Au plus 256.
Inventaire du stockage Au plus 65 536 entrées et 64 niveaux de répertoires sources.
Stockage total Au plus 2 GiB, allocation et surcharge de métadonnées comprises.
Admission d’espace libre Nouvelle allocation plus réserve supplémentaire de 2 GiB disponibles.

Publication et suppression explicite partagent un verrou privé no-follow. Un écrivain concurrent reçoit snapshot_storage_busy ; stockage dangereux ou illisible retourne snapshot_storage_unavailable ; manque de capacité retourne snapshot_storage_full. Ces refus ne programment aucun nouvel essai caché et ne suppriment pas automatiquement d’anciens éléments.

Une génération scellée identique est validée et réutilisée sans autre copie, même si les nouvelles écritures sont refusées pour capacité. Une publication interrompue consomme encore le budget. Seules les générations correspondantes explicitement examinées peuvent être supprimées. D’autres processus peuvent consommer le disque hôte ; ces bornes ne promettent pas qu’il ne sera jamais plein.

Consultez admission des instantanés et contrat de stockage. Les limites de capture diffèrent de la limite plus petite d’analyse du texte admissible, décrite dans analyse.

Lier la navigation aux éléments actuels

Le chemin d’un constat est un élément, pas une instruction pour ouvrir n’importe quel fichier. Les commandes d’ouverture lient génération IDE choisie, révision du constat et révision de collection. Les destinataires périmés ou ambigus exigent une réconciliation.

Les constats d’arbres commités ont une limite plus stricte : l’API refuse d’ouvrir un fichier actuel supposé équivalent. L’arbre de travail peut différer des sources historiques. Examinez plutôt les détails capturés. Ce refus est explicite dans les commandes de sources IDE.

Préserver la frontière dans les intégrations

Utilisez les droits navigateur ou IDE pris en charge et les vérifications de propriété supplémentaires de la ressource. N’élargissez pas les racines pour résoudre une capacité périmée, ne prenez pas un aperçu pour une analyse terminée et ne déduisez pas une qualification native de la seule présence d’instantanés. Le comportement réel exige des éléments issus des sources, images et clients exacts utilisés.