
Scanner basato su CodeQL che cataloga le chiamate a funzioni crittografiche su repository e organizzazioni GitHub, producendo una Cryptographic Bill of Materials (CBOM) in formato SARIF.
Trova la crittografia nascosta nel tuo codice prima che i computer quantistici la trovino per te.
cryptoptic utilizza CodeQL e GitHub Actions per analizzare un repository o un'intera organizzazione GitHub e produrre un inventario di ogni funzione crittografica in uso, della libreria da cui proviene e di dove viene chiamata.
L'arrivo previsto del calcolo quantistico crittograficamente rilevante significa che molti algoritmi oggi ampiamente utilizzati non saranno più in grado di mantenere i dati al sicuro. Il "Harvest now, decrypt later" rende questo un rischio attuale, non futuro.
Prima che un'organizzazione possa migrare verso algoritmi post-quantistici, deve comprendere dove viene utilizzata la crittografia all'interno del proprio codice. cryptoptic aiuta a creare questa Cryptographic Bill of Materials (CBOM), in modo che gli algoritmi vulnerabili possano essere sostituiti con alternative quantum-safe o gestiti in modo trasparente.
cryptoptic è stato creato ed è utilizzato internamente presso Nationwide Building Society. Viene rilasciato qui per la comunità più ampia.
| Linguaggio | Stato | Valore TARGET_LANG |
|---|---|---|
| Python | Supportato | python |
| JavaScript | Supportato | javascript |
| .NET | Supportato | csharp |
| Java | Pianificato |
Clona questo repository e aprilo in un editor a tua scelta.
Modifica .github/workflows/org-codeql-sarif-run.yml e imposta i valori richiesti dal workflow.
| Impostazione | Descrizione |
|---|---|
ORG | L'organizzazione da analizzare. Per un repository personale, usa il tuo nome utente GitHub. |
REPO | Il repository da analizzare. Lascia una stringa vuota per analizzare ogni repository dell'organizzazione. |
TARGET_LANG | Il linguaggio da analizzare; vedi Linguaggi supportati per i valori validi. |
Esegui il commit e il push delle tue modifiche.
Vai alla scheda Actions in GitHub e seleziona CodeQL org run (crypto inventory) dalla barra laterale sinistra.
Clicca su Run workflow, scegli il branch su cui vuoi eseguire l'analisi e clicca sul pulsante verde Run workflow.
I file generati vengono pubblicati come artifact nell'esecuzione del workflow:
Per lavorare su cryptoptic stesso, ti serviranno:
I contributi sono benvenuti, inclusi codice, query, documentazione, test e segnalazioni di bug. Ti invitiamo a leggere il Codice di Condotta prima di partecipare; si applica a ogni spazio del progetto.
Consulta GOVERNANCE.md per capire come vengono prese le decisioni e MAINTAINERS.md per sapere a chi rivolgerti.
Ti preghiamo di non segnalare vulnerabilità di sicurezza tramite le issue pubbliche di GitHub. Consulta SECURITY.md per sapere come segnalare in privato e cosa aspettarti dopo la segnalazione.
Questo progetto è concesso in licenza secondo la Apache License, Version 2.0. Una copia della licenza dovrebbe essere inclusa nel repository in un file denominato LICENCE o LICENSE. Gli utenti dovrebbero rivedere i termini della licenza prima di utilizzare, modificare o distribuire il progetto.
Nei casi in cui il progetto venga ridistribuito, la Apache License 2.0 richiede la conservazione delle comunicazioni applicabili su copyright, brevetti, marchi e attribuzione, l'inclusione di una copia della licenza, le comunicazioni per i file modificati ove applicabile e la corretta gestione di qualsiasi file NOTICE incluso con il progetto.
Se il repository include un file NOTICE, gli utenti e i ridistributori devono conservare le comunicazioni di attribuzione contenute in tale file in conformità con la Apache License 2.0. Il file NOTICE dovrebbe essere mantenuto accurato e dovrebbe riflettere le comunicazioni applicabili ai contenuti della distribuzione.
La Apache License 2.0 non concede il permesso di utilizzare i nomi, i loghi, i marchi o il branding di Nationwide. Qualsiasi uso del branding Nationwide o del branding specifico del progetto deve essere conforme alla politica separata sui marchi del progetto.
Come descritto nella Apache License 2.0, il progetto è fornito "COSÌ COM'È", senza garanzie di alcun tipo. Gli utenti sono responsabili di determinare se il progetto è appropriato per il loro utilizzo e di validare qualsiasi output prima di farvi affidamento.