Handleiding bij de broncodepreview · 0.1.0
Hoe CodeSecurity samenwerkt
Volg bronbevoegdheden, duurzame jobs en scannerbewijs door de lokale werkbank.
De API-referentie is in het Engels.
CodeSecurity is een lokale beveiligingswerkbank met twee clients: het browserdashboard en de VS Code-extensie. FastAPI levert de gecompileerde React-toepassing en de control-API. PostgreSQL bewaart de applicatiestatus. Een afzonderlijke worker voert duurzame opdrachten uit via scanner, scannergegevensupdater en optionele Advisor-connector.
Volg één scan van opgeslagen broncode naar bewaard bewijs. Elke dienst heeft een nauwe rol en een eigen bevoegdheidsgrens.
Volg één scan door het systeem
Operatorclients
- Browser
Gekoppelde operatorsessie en webwerkbank.
- VS Code
Eén goedgekeurd editorprofiel met begrensde capabilities.
Lokale ingang en duurzame toestand
- Loopback-relay
Publiceert het lokale TCP-endpoint zonder runtimegeheimen of blijvende mounts.
- FastAPI + React
Levert de werkbank en controleert controlverzoeken. Heeft geen Docker-socket.
- PostgreSQL
Bewaart installatiestatus, opdrachten, jobs, bevindingen en beleid.
- Jobworker
Claimt duurzaam werk en coördineert het resultaat.
Begrensde uitvoeringsdiensten
- Scanner
Leest geautoriseerde bron en gevalideerde gegevens op een intern netwerk.
- Updater
Haalt beoordeelde scannergegevens op zonder projectbronmount.
- Advisor-connector
Voert optionele providerverzoeken uit onder exacte machtigingen.
Gegevens en optionele provider
- Gevalideerde scannercache
Runtimelezers zien een geselecteerde alleen-lezen generatie.
- Geautoriseerde Ollama-provider
Lokale of expliciet geautoriseerde externe bestemming.
Verbindingen
Browser naar Loopback-relay
Browserverzoeken komen via het loopbackendpoint binnen.
VS Code naar Loopback-relay
Editorverzoeken gebruiken hetzelfde endpoint met hun eigen bevoegdheid.
Loopback-relay naar FastAPI + React
De relay stuurt TCP-verkeer door naar de controldienst.
FastAPI + React naar PostgreSQL
Controltoestand wordt gelezen en gewijzigd via toegelaten operaties.
Jobworker naar PostgreSQL
Jobleases en uitkomsten worden onafhankelijk van de clientpagina opgeslagen.
Jobworker naar Scanner
De worker dient begrensd scanwerk in en verzamelt resultaten.
Jobworker naar Updater
Voorbereiding loopt afzonderlijk van bronanalyse.
Scanner naar Gevalideerde scannercache
De scanner leest de geselecteerde gevalideerde gegevens.
Updater naar Gevalideerde scannercache
De updater valideert en selecteert een volledige generatie.
Jobworker naar Advisor-connector
Advisor-werk krijgt een exacte providermachtiging.
Advisor-connector naar Geautoriseerde Ollama-provider
Alleen de geautoriseerde bestemming en verzoekreikwijdte worden gebruikt.
- De operator autoriseert een nauwe bronmap of levert een ondersteunde begrensde momentopname. Een project aanmaken registreert bronidentiteit en geeft geen toegang tot een andere hostmap.
- De control-API controleert aangevraagde reikwijdte en actuele scannervoorcontrole. Ze legt scan en duurzame job samen vast.
- De worker claimt de job met een lease. De scanner valideert brontoegang opnieuw en voert ingeschakelde tools uit tegen zijn vastgelegde bronweergave en gevalideerde gegevensgeneratie.
- Native uitvoer wordt begrensde, genormaliseerde en geredigeerde bevindingen. De worker valideert resultaatmanifest en pagina’s en commit toegelaten bewijs en herstelcheckpoint naar PostgreSQL.
- Pas na die commit bevestigt de worker het exacte scannerresultaat, zodat tijdelijke uitvoer kan worden verwijderd. Volledig bewijs kan daarna tegen het projectgatebeleid worden getoetst.
- Clients verversen gezaghebbende resources wanneer jobs en bevindingen veranderen. Optioneel advies en menselijke beoordelingen zijn afzonderlijke acties; geen van beide vult ontbrekende scannerdekking aan.
Het hoofdstuk jobs en bewijs volgt de fout- en herstelpaden rond deze stappen.
Plaats bevoegdheid op elke grens
De kern-Compose-opstelling publiceert één loopbackadres via een onbevoorrechte TCP-relay. De relay stuurt door naar de API en heeft geen blijvende mounts of runtimegeheimconfiguratie. De API heeft geen Docker-socket. Browsersessies en begrensde editorcapabilities komen via dezelfde controlgrens binnen, met verschillende authenticatieregels.
| Component | Leest en schrijft | Rol |
|---|---|---|
| Control-API | PostgreSQL, begrensde bronmomentopnamen en toegelaten artefacten | Autoriseert opdrachten, levert resources en bewaart duurzame status. Heeft geen gemounte projectbron. |
| Jobworker | PostgreSQL en artefactopslag; momentopnamen alleen-lezen | Beheert uitvoering, leases, voortgang, annulering en resultaatopslag. |
| Scanner | Geautoriseerde bron, momentopnamen en gevalideerde cache alleen-lezen; privéscratch en artefactuitvoer | Voert geselecteerde vastgelegde tools uit en publiceert een begrensd resultaatprotocol. |
| Scannergegevensupdater | Beschrijfbare scannercache; beoordeelde downloadbronnen | Bereidt volledige gegevensgeneraties voor en activeert ze zonder projectbronmount. |
| Advisor-connector | Eigen providerautorisatie en goedgekeurde providerroutes | Voert nauw toegestane lokale of externe Ollama-acties uit. Heeft geen projectbronmount. |
De scanner gebruikt een intern netwerk. Updater en Advisor-connector hebben aparte uitgaande netwerken. De worker gebruikt de Advisor-connector voor lokale én externe modelverzoeken en stuurt geen prompts rechtstreeks naar Ollama. Dit zijn in broncode bepaalde deploymentgrenzen. Image-inhoud, effectieve mounts en daadwerkelijk uitgaand verkeer moeten nog voor de beoordeelde installatie worden geverifieerd.
Zie bron- en clientbevoegdheden voor de beslissingen achter deze grenzen en interne diensten voor hun protocollen.
Houd soorten toestand gescheiden
| Vraag | Gezaghebbende toestand | Wat dit niet impliceert |
|---|---|---|
| Is de opdracht geaccepteerd? | Duurzame job en opdrachtidentiteit | Dat uitvoering begon of slaagde. |
| Is de scan volledig? | Scanstatus, tooluitkomsten en dekkingsoverzicht | Dat elke mogelijke kwetsbaarheid is gecontroleerd. |
| Hoe is een bevinding beoordeeld? | Beoordeling, reden en revisie | Dat een gewijzigd bestand is geverifieerd of een nieuwe scan de beslissing erft. |
| Voldoet bewijs aan beleid? | Gatebeslissing voor volledig scanbewijs | Dat repositorybescherming geïnstalleerd is of een push toegestaan. |
| Mag deze beschermde push doorgaan? | Actuele repositorybevoegdheid, uitgaande bomen, scannerbewijs en beleid | Dat een lokale hook niet omzeilbaar is. |
Deze scheiding houdt een onvolledige scan zichtbaar, ook wanneer alle verzamelde bevindingen zijn onderdrukt. Ze voorkomt ook dat een geslaagde werkboomscan controles van eerdere uitgaande commits vervangt. Lees bevindingen, gates en Git-bescherming voor operatorworkflows.
Begrijp wat blijft bestaan
PostgreSQL bewaart projecten, scans, genormaliseerde bevindingen, beleid en jobs. Benoemde volumes bevatten toegelaten artefacten, scannergegevens en bronmomentopnamen. Ruwe native rapporten en scannertransportspool hebben begrensde tijdelijke levensduur. Een browserpagina openen of sluiten beheert geen joblevensduur.
Dit is een duurzaam applicatieontwerp, geen garantie voor noodherstel. De bron beschrijft een experimentele, niet-atomaire back-uphelper die standaard uitstaat. Een geteste herstelprocedure vereist eigen bewijs en exacte invoer.
Optionele monitoring-, lokale Git-proxy- en databasebeheerprofielen staan standaard uit. Ze behoren niet tot de bevoegdheid van de kern-control-API en maken de werkbank geen gehoste dienst.
Lees de implementatie per verantwoordelijkheid
| Brongebied | Begin hier |
|---|---|
| Diensten, mounts en netwerken | Compose-configuratie |
| Controltoepassing en opslag | API-toepassing, gegevensmodel |
| Uitvoering en scannervoorbereiding | Scanarchitectuur |
| Browser- en editorupdates | Events en verzoening |
| Bijdragen aan broncode | Uitbreidingsgrenzen |
Het beveiligingsbeleid definieert de vertrouwensaannames. CodeSecurity is geen sandbox voor vijandige repositories. Een geslaagde gate is een beleidsuitkomst over toegelaten bewijs, geen garantie dat code veilig is.