Kit di strumenti
Anteprima dei secani implementati/oscal Toolkit TypeScript mentre è preparato per l'open source.
Preparazione privata: Durante la preparazione privata, il toolkit implementato rimane nel file
secani/oscalrepository con visibilità privata.@secani/oscalnon è pubblicato su npm, quindi i comandi di installazione seguenti sono anteprime delle versioni future.
@secani/oscal è un toolkit TypeScript indipendente dall'archiviazione per l'analisi, la convalida e l'analisi strutturale dei documenti OSCAL 1.2.2.
Installa l'anteprima
Questi comandi riservano il nome del pacchetto pianificato. Non funzioneranno finché la pubblicazione di npm non sarà approvata separatamente.
pnpm add @secani/oscal
npm install @secani/oscal
yarn add @secani/oscal
bun add @secani/oscalElabora OSCAL JSON
L'API implementata accetta byte di documento, rileva il modello OSCAL dalla sua chiave root e convalida il JSON analizzato rispetto allo schema ufficiale corrispondente.
import { createOscalProcessor } from "@secani/oscal";
const processor = createOscalProcessor();
const bytes = new TextEncoder().encode(jsonSource);
const document = processor.parse(bytes, "json");
const result = processor.validate(document.json);
if (!result.ok) {
console.error(result.errors);
}processor.parse restituisce il tipo di modello rilevato, la versione OSCAL e il documento analizzato. processor.validate ritorna { ok, errors }; I risultati dello schema sono risultati sulla qualità dei dati anziché eccezioni generate.
Modelli supportati
Il toolkit copre tutti gli otto modelli OSCAL 1.2.2:
- Catalogare
- Profilo
- Definizione dei componenti
- Piano di sicurezza del sistema
- Piano di valutazione
- Risultati della valutazione
- Piano d'azione e tappe fondamentali
- Raccolta di mappe
Confini di validazione
La convalida utilizza validatori di schemi JSON precompilati e privi di valutazione derivati dagli schemi ufficiali NIST OSCAL 1.2.2. Rileva problemi strutturali come proprietà richieste mancanti e tipi non validi. Non rivendica ancora la convalida completa dei vincoli del metaschema OSCAL, l'unicità dell'UUID, l'integrità completa dei riferimenti o la risoluzione del profilo.
L’analisi e la serializzazione JSON sono ora implementate. L’API riserva i valori di formato "xml" e "yaml", ma l’utilizzo di uno dei due genera attualmente un OscalError con codice ERR_UNSUPPORTED_FORMAT.
Superfici della confezione
@secani/oscalcontiene il processore stabile curato, la conversione delle chiavi, l'estrazione dei riferimenti, l'indicizzazione e le API di misurazione.@secani/oscal/testingfornisce dispositivi compatti con schema valido e un processore falso per i test downstream.@secani/oscal/unstableespone l'evoluzione degli helper del registro, del percorso e del grafico semantico senza garanzie di controllo delle versioni semantiche.@secani/oscal/schemas/*.jsonespone gli otto schemi NIST JSON archiviati.
Il toolkit non ha dipendenze di runtime. I validatori vengono generati in anticipo e inclusi nel repository come normali moduli JavaScript. L’attuale bundle ESM principale pesa circa 4,5 MB perché contiene tutti e otto i validatori; il caricamento differito per singolo modello è un’ottimizzazione futura.
Stato dell'archivio
Viene nominato il futuro repository open source secani/oscal. Rimane privato, quindi non esiste ancora intenzionalmente alcun collegamento al repository pubblico. La visibilità pubblica e la pubblicazione npm richiedono revisioni separate una volta completati gli audit di licenza, sicurezza, provenienza, CI e pacchetto.
Il separato oscal-cli E secani/oscal-skills i progetti rimangono lavori futuri e non sono inclusi nell'attuale toolkit.
Panoramica
Scopri lo standard OSCAL e come il toolkit di Secani, la CLI pianificata e le competenze dell'agente si integrano.
Validatore
Come il validatore Secani OSCAL dimostra la validazione verificata alla fonte oltre l'implementazione di riferimento Java: chiusura di completezza, ricevute differenziali e limiti onesti.