Handleiding bij de broncodepreview · 0.1.0

Bron- en clientbevoegdheden

Begrijp de afzonderlijke beslissingen waardoor een client werk mag aanvragen en een scanner broncode mag lezen.

De API-referentie is in het Engels.

Een editorverbinding, geautoriseerde bronmap en goedgekeurde beschermde repository beantwoorden verschillende vragen. CodeSecurity controleert elk op de relevante grens. Een projectnaam of door een client ingediend pad autoriseert op zichzelf geen brontoegang.

Scheid beslissingen van de eigenaar

Toegang / afzonderlijke beslissingenDiagram

Clientbevoegdheid

  • Browsersessie

    Gekoppelde HttpOnly-sessie; wijzigingen vereisen ook de exacte Origin en CSRF-waarde.

  • IDE-capability

    Goedkeuring bindt het bedoelde profiel en de bevoegdheidsgeneratie.

Verzoektoelating

  • Route- en eigendomscontroles

    De client moet voldoen aan routescopes en operatiespecifieke controles.

  • Bronautorisatie

    Een expliciete hosteigenaaractie maakt alleen beoordeelde nauwe bronmappen of ondersteunde momentopnamen beschikbaar.

Repositorybescherming

  • Goedkeuring als repositorylid

    De bedoelde editorgeneratie krijgt toestemming voor de exacte repository.

  • Toepassing op de host

    Expliciet Apply wijzigt de lokale clone; aangevraagde toestand alleen is geen installatie.

Verbindingen

  • Browsersessie naar Route- en eigendomscontroles

    Browserlidmaatschap omzeilt geen operatiespecifiek eigendom.

  • IDE-capability naar Route- en eigendomscontroles

    Alleen de exacte capability-allowlist wordt toegelaten.

  • Route- en eigendomscontroles naar Bronautorisatie

    Een project kiezen of registreren geeft op zichzelf geen hostbrontoegang.

  • Route- en eigendomscontroles naar Goedkeuring als repositorylid

    Gewoon IDE-lidmaatschap verleent geen repositorylidtoestemming.

  • Goedkeuring als repositorylid naar Toepassing op de host

    De goedgekeurde instelling moet nog expliciet op de bedoelde clone worden toegepast.

Verbinding, bronselectie, hosttoegang en repositorybescherming zijn afzonderlijke beslissingen. Een geslaagde verbinding verleent de andere toestemmingen niet.
Beslissing Toestemming Wat apart blijft
Browserauthenticatie Lokale controltoepassing gebruiken via de sessiegrens Onveilige verzoeken vereisen nog toegestane origin en CSRF-bescherming.
IDE-lidmaatschap Routes gebruiken binnen capabilityscopes en actieve generatie Workspace Trust, brontoegang en repositorybeschermingsgoedkeuring.
Workspace Trust Ondersteunde editoracties voor die werkruimte Een bredere containerbronmount of goedkeuring van een nieuwe eigenaar.
Bronmapautorisatie Bestaande nauwe bronmap alleen-lezen mounten Projectregistratie en de gekozen reikwijdte van elke scan.
Momentopnametoelating Begrensde brongeneratie met gecontroleerde identiteit bewaren Willekeurige hostbestandstoegang of uitvoeren van geüploade bron.
Git-beschermingsgoedkeuring De exacte goedgekeurde editorgeneratie bescherming van de gekozen repository laten beheren Bewijs van toegepaste hosthook, actueel pushbewijs of serverhandhaving.

Browser- en editorbevoegdheden kunnen onafhankelijk worden ingetrokken. IDE-verzoeken worden gecontroleerd tegen exacte routescopes en actieve capabilitygeneratie. De control-API is geen algemene API-sleuteldienst. De authenticatiegids legt de ondersteunde clientroute uit.

De verzoekgrens valideert ook Host en Origin en weigert inlogmateriaal in URL’s. Authenticatie vervangt geen routespecifieke eigendomscontroles. Zie beveiligingsmiddleware en IDE-autorisatie.

Gemounte bron is een expliciete hostgrens

Bij ondersteunde POSIX- en Remote WSL-workflows kiest de eigenaar bestaande nauwe bronmappen. De hosthelper canonicaliseert het pad en weigert brede bronmappen, onveilige padvormen en waarden die niet letterlijk in de Compose-omgeving kunnen worden geserialiseerd. Hij staat maximaal 32 afzonderlijke geconfigureerde bronmappen toe. Compose maakt geen ontbrekende bindbron aan om een verzoek te laten slagen.

De API heeft geen projectbronmount. Haar preview controleert of het aangevraagde pad binnen de geconfigureerde bevoegdheid ligt en geeft een beslissing zonder project of job aan te maken. Projectaanmaak registreert die bronidentiteit. Bij uitvoering controleert de scanner zelfstandig het echte pad en gebruikt begrensde leesoperaties; de lexicale API-padcontrole is geen bewijs van veilige toegang.

Scans van geselecteerde bestanden en mappen blijven binnen de geautoriseerde repository. De scanner valideert het doel en legt de bronweergave vast voor tooluitvoering. Een verzoek kan een geselecteerde map niet veranderen in toestemming om buiten de bronmap te lezen.

Beginpunten in de implementatie zijn bronmapvalidatie, bronpreview en projectaanmaak en descriptorrelatief bronlezen.

Momentopnamen dragen bron, geen bredere mount

Ondersteunde native Windows-workflows en controles van onveranderlijke Git-bomen gebruiken speciale momentopnameopslag. De API valideert bestandspaden, aantallen, groottes en inhoudsidentiteit voordat een verzegelde generatie wordt gepubliceerd. Een momentopnamescan moet de exacte verwachte digest noemen; een project met gemounte bron kan niet stilzwijgend een upload vervangen.

Grens Vastgelegde implementatie
Momentopnamepayload Maximaal 5.000 bestanden, 8 MiB per bestand en 64 MiB broninhoud.
Bewaarde of onderbroken generaties Maximaal 256.
Opslaginventaris Maximaal 65.536 bestandssysteemitems en 64 bronmapniveaus.
Totale momentopnameopslag Maximaal 2 GiB, rekening houdend met allocatie en metadataoverhead.
Vrijeruimtetoelating Nieuwe allocatie plus nog 2 GiB reserve moet beschikbaar zijn.

Publicatie en expliciete verwijdering delen een private no-follow-lock. Een gelijktijdige schrijver krijgt snapshot_storage_busy; onveilige of onleesbare opslag geeft snapshot_storage_unavailable; capaciteitstekort geeft snapshot_storage_full. Deze weigeringen plannen geen verborgen herpoging en verwijderen geen ouder bewijs automatisch.

Een identieke verzegelde generatie wordt gevalideerd en hergebruikt zonder extra kopie, ook als toelating voor nieuwe schrijfacties vol is. Onderbroken publicatie verbruikt nog opslagbudget. Alleen expliciet beoordeelde passende brongeneraties komen voor verwijdering in aanmerking. Andere processen kunnen hostschijfruimte gebruiken; deze lokale grenzen beloven dus niet dat de hele schijf nooit vol raakt.

Zie momentopnametoelating en het opslagcontract. Vastleggingslimieten verschillen van de kleinere scannerlimiet voor geschikte tekst, beschreven onder scannen.

Bind bronnavigatie aan actueel bewijs

Het bestandspad van een bevinding is bewijs, geen instructie om een willekeurig bestand te openen. Bronopenopdrachten binden de gekozen IDE-capabilitygeneratie, bevindingrevisie en collectierevisie. Verouderde of onduidelijke ontvangers vereisen verzoening.

Bevindingen uit vastgelegde bomen hebben een strengere grens: de API weigert een verondersteld gelijk huidig werkruimtebestand te openen. De huidige werkboom kan afwijken van de historische bron van de bevinding. Bekijk in plaats daarvan de vastgelegde details. Deze weigering staat expliciet in IDE-bronopdrachten.

Bewaar de grens bij integratie

Gebruik het ondersteunde browser- of IDE-bevoegdheidsmodel en voer aanvullende eigendomscontroles van de resource uit. Verruim geen bronmappen voor een verouderde capability, behandel padpreview niet als scannerafronding en leid geen native platformkwalificatie af uit het bestaan van momentopnamecode. Werkelijk platformgedrag vereist bewijs van de exacte gebruikte bron, image en client.