Scanner basé sur CodeQL qui inventorie les appels de fonctions cryptographiques à travers les dépôts et les organisations GitHub, produisant une nomenclature cryptographique (CBOM) au format SARIF.
Trouvez la cryptographie qui se cache dans votre code avant que les ordinateurs quantiques ne la trouvent pour vous.
cryptoptic utilise CodeQL et GitHub Actions pour analyser un dépôt ou une organisation GitHub entière et produire un inventaire de chaque fonction cryptographique utilisée, de la bibliothèque dont elle provient et de l'endroit où elle est appelée.
L'arrivée attendue de l'informatique quantique pertinente sur le plan cryptographique signifie que de nombreux algorithmes largement utilisés aujourd'hui ne permettront plus de sécuriser les données. Le « harvest now, decrypt later » (collecter maintenant, déchiffrer plus tard) en fait un risque actuel, et non futur.
Avant qu'une organisation puisse migrer vers des algorithmes post-quantiques, elle doit comprendre où la cryptographie est utilisée dans l'ensemble de sa base de code. cryptoptic aide à créer cette Cryptographic Bill of Materials (CBOM), afin que les algorithmes vulnérables puissent être remplacés par des alternatives résistantes au quantique ou gérés de manière transparente.
cryptoptic a été développé et est utilisé en interne chez Nationwide Building Society. Il est publié ici pour la communauté au sens large.
| Langage | Statut | Valeur TARGET_LANG |
|---|---|---|
| Python | Pris en charge | python |
| JavaScript | Pris en charge | javascript |
| .NET | Pris en charge | csharp |
| Java | Prévu |
Clonez ce dépôt et ouvrez-le dans l'éditeur de votre choix.
Modifiez .github/workflows/org-codeql-sarif-run.yml et définissez les valeurs requises du workflow.
| Paramètre | Description |
|---|---|
ORG | L'organisation à analyser. Pour un dépôt personnel, utilisez votre nom d'utilisateur GitHub. |
REPO | Le dépôt à analyser. Laissez une chaîne vide pour analyser chaque dépôt de l'organisation. |
TARGET_LANG | Le langage à analyser, voir Langages pris en charge pour les valeurs valides. |
Validez et poussez vos modifications.
Accédez à l'onglet Actions dans GitHub et sélectionnez CodeQL org run (crypto inventory) dans la barre latérale gauche.
Cliquez sur Run workflow, choisissez la branche sur laquelle vous souhaitez exécuter l'analyse, puis cliquez sur le bouton vert Run workflow.
Les fichiers générés sont publiés en tant qu'artefacts de l'exécution du workflow :
Pour travailler sur cryptoptic lui-même, vous aurez besoin de :
Les contributions sont les bienvenues, notamment le code, les requêtes, la documentation, les tests et les rapports de bogues. Veuillez lire le Code de conduite avant de participer ; il s'applique à chaque espace du projet.
Voir GOVERNANCE.md pour la manière dont les décisions sont prises et MAINTAINERS.md pour savoir à qui vous adresser.
Veuillez ne pas signaler de vulnérabilités de sécurité via les issues GitHub publiques. Voir SECURITY.md pour savoir comment signaler en privé et à quoi vous attendre ensuite.
Ce projet est sous licence Apache License, Version 2.0. Une copie de la licence doit être incluse dans le dépôt dans un fichier nommé LICENCE ou LICENSE. Les utilisateurs doivent examiner les termes de la licence avant d'utiliser, de modifier ou de distribuer le projet.
Lorsque le projet est redistribué, l'Apache License 2.0 exige la conservation des mentions applicables de droits d'auteur, de brevets, de marques et d'attribution, l'inclusion d'une copie de la licence, les mentions pour les fichiers modifiés le cas échéant, ainsi qu'une gestion appropriée de tout fichier NOTICE inclus avec le projet.
Si le dépôt inclut un fichier NOTICE, les utilisateurs et les redistributeurs doivent conserver les mentions d'attribution contenues dans ce fichier conformément à l'Apache License 2.0. Le fichier NOTICE doit être tenu à jour et refléter les mentions applicables au contenu de la distribution.
L'Apache License 2.0 n'accorde pas la permission d'utiliser les noms, logos, marques ou l'image de marque de Nationwide. Toute utilisation de l'image de marque de Nationwide ou d'une image de marque spécifique au projet doit se conformer à la politique distincte de marques du projet.
Comme décrit dans l'Apache License 2.0, le projet est fourni « en l'état », sans garantie d'aucune sorte. Il incombe aux utilisateurs de déterminer si le projet convient à leur usage et de valider tout résultat avant de s'y fier.