Guida alla versione preliminare · 0.1.0
Estendere i sorgenti con contratti chiari
Trova i confini di scanner, evidenze, client e flussi che un contributo circoscritto deve preservare.
Il riferimento API è in inglese.
CodeSecurity offre punti di contribuzione nei sorgenti: adapter e regole, evidenze normalizzate, flussi persistenti, workbench React e client VS Code. Sono confini d’implementazione esaminati. Non esistono SDK di plugin runtime, registri arbitrari di eseguibili o integrazioni generiche tramite chiavi API.
Scegli un contributo limitato
- Individua il contratto
Parti da registro pubblico, dispatch degli adapter e schema normalizzato del rilievo.
- Esamina input di strumenti e dati
Aggiorna input fissati di build, avvisi e requisiti dei dati pertinenti.
- Implementa l’adapter limitato
Definisci argomenti, ambiente e parsing esatti. Conserva ambito, limiti d’output e oscuramento di pattern noti.
- Collega disponibilità e copertura
Rendi visibili dati mancanti, strumenti indisponibili e analisi limitata al preflight e al risultato.
- Esercita il comportamento cambiato
Usa piccoli fixture sintetici e controlli mirati di parsing, errori, disponibilità e raccolta risultati.
- Esamina la modifica completa
Collega modifiche sorgente e contratti interessati di UI e API prima di condividere il contributo.
| Area | Punto di partenza | Contratto da preservare |
|---|---|---|
| Esecuzione | Registro e adapter nativi | Identità fissata, configurazione controllata, esecuzione limitata ed esiti veritieri di parser e copertura. |
| Regole e dati | Lock strumenti, lock regole e validazione generazioni | Input verificati, identità, compatibilità, validità e attivazione atomica. |
| Rilievi e artefatti | Normalizzazione e confine artefatti | Posizione e fingerprint canonici, metadati limitati, oscuramento sensibile e pubblicazione attestata. |
| Flussi persistenti | Repository job ed esecuzione worker | Idempotenza, isolamento per lease e tentativo, scadenze, annullamento e checkpoint recuperabili. |
| Browser | Applicazione React | Aggiornamento autorevole, revisioni attese, stati pendenti ed errori utili, accessibilità. |
| Editor | Sorgenti VS Code | Generazione attiva, Workspace Trust, identità dei sorgenti e azioni host esplicite. |
Un piccolo fixture di regola o una correzione circoscritta di flusso può essere un primo contributo utile. Descrivi comportamento corretto ed evidenza che lo dimostra. Non trasformare categorie ampie come supporto SAST in promesse su ogni linguaggio o debolezza.
Cambia uno scanner come modifica coordinata dei sorgenti
Il registro fisso valida versioni, comandi versione, argomenti, passaggi supplementari, ambienti e formati contro il lock. Aggiungere un binario a un’immagine non basta. L’esecuzione rifiuta ID scanner sconosciuti.
- Esamina sorgenti upstream, licenza, modifiche e input esatti di build e download. Conserva gli avvisi necessari e lega l’identità dell’immagine.
- Aggiorna catalogo e lock con comando, formato e regole o dati previsti. Separa preparazione in rete ed esecuzione sui sorgenti.
- Implementa adapter e parser con controlli propri, limiti finiti, posizioni canoniche ed errori veritieri. Non convertire output malformato in zero rilievi.
- Integra disponibilità e copertura. Un prerequisito mancante deve restare visibile prima dell’ammissione o nelle evidenze incomplete.
- Aggiungi secondo necessità casi positivi, senza rilievi, malformati, sovradimensionati, timeout e controlli dei sorgenti. Verifica lo strumento nativo oltre ai fixture del parser.
- Esamina normalizzazione, oscuramento sensibile, fingerprint deterministici e pubblicazione completa del worker. Un report nativo grezzo non è automaticamente un artefatto supportato.
La matrice d’esecuzione spiega le differenze: Trivy ha due passaggi; Grype dipende da Syft; Checkov controlla la scoperta della configurazione; Bearer usa una build modificata. Aggiornarli richiede nuove evidenze dei contratti specifici.
Conserva la semantica delle evidenze nei nuovi flussi
Uno stato o un’azione nuovi possono cambiare più di un’etichetta. I rilievi hanno revisioni e decisioni; le scansioni copertura e gate; i job lease ed esiti finali. Mantieni distinti questi significati.
Accettare il rischio esclude un rilievo dal gate ma non fornisce copertura mancante. Marcarlo corretto registra una decisione ma non verifica sorgenti cambiati. Una scansione completa del working tree non autorizza un push con alberi diversi nei commit precedenti.
I client devono riconciliare REST dopo eventi, reset e modifiche, senza trattare segnali come risorse complete. Una risposta obsoleta non deve sovrascrivere una decisione nuova. Esamina contratto delle revisioni API e comportamento visibile durante navigazione, riconnessione, annullamento e errore.
Mantieni le integrazioni nell’autorità esistente
I client usano sessione e CSRF browser o scope IDE esatti consentiti, più controlli di proprietà delle route. I protocolli interni non sono API d’integrazione supportate. Aggiungere una route non deve concedere accidentalmente a ogni editor associato azioni riservate al proprietario o mount più ampi.
Le estensioni Advisor devono conservare la divulgazione. Una conferma remota singola lega destinazione, modello, configurazione, consenso e identità del prompt; la risoluzione automatica sull’intera scansione resta locale. Il connettore usa route Ollama verificate: un altro provider richiede modifiche a sorgenti e contratto di sicurezza, non un trucco di configurazione non documentato.
Usa autorità dei sorgenti e servizi interni per identificare chiamante e confine di fiducia prima di proporre cambiamenti.
Riporta l’evidenza al livello che dimostra
I test unitari mirati stabiliscono i casi eseguiti. I fixture nativi stabiliscono il comportamento di strumenti e dati esatti usati. I percorsi browser stabiliscono il flusso osservato. Egress dell’immagine, hook host e accettazione della piattaforma richiedono osservazioni proprie. Nessuno equivale a qualifica completa del rilascio.
Esistono test mirati di proprietà dei job, eventi, ammissione artefatti e controlli scanner definiti dai sorgenti. La loro esistenza orienta i contributori; non afferma che siano stati eseguiti per una nuova modifica.
Segui la guida ai contributi, i controlli di sviluppo e i limiti di rilascio. Registra sorgenti e input esatti provati, risultato osservato e lacune rimanenti.