
CodeQL-basierter Scanner, der kryptografische Funktionsaufrufe in Repositories und GitHub-Organisationen inventarisiert und eine Cryptographic Bill of Materials (CBOM) im SARIF-Format erzeugt.
Finde die Kryptografie, die sich in deinem Code versteckt, bevor Quantencomputer sie für dich finden.
cryptoptic verwendet CodeQL und GitHub Actions, um ein Repository oder eine gesamte GitHub-Organisation zu scannen und ein Inventar aller verwendeten kryptografischen Funktionen, der Bibliothek, aus der sie stammen, und der Stelle, an der sie aufgerufen werden, zu erstellen.
Die erwartete Ankunft kryptografisch relevanter Quantencomputer bedeutet, dass viele der heute weit verbreiteten Algorithmen Daten nicht mehr sicher halten werden. „Harvest now, decrypt later" macht dies zu einem gegenwärtigen Risiko, nicht zu einem zukünftigen.
Bevor eine Organisation auf Post-Quanten-Algorithmen migrieren kann, muss sie verstehen, wo Kryptografie in ihrer Codebasis verwendet wird. cryptoptic hilft dabei, diese Cryptographic Bill of Materials (CBOM) zu erstellen, damit anfällige Algorithmen durch quantensichere Alternativen ersetzt oder transparent verwaltet werden können.
cryptoptic wurde bei Nationwide Building Society entwickelt und wird dort intern verwendet. Es wird hier für die breitere Community veröffentlicht.
| Sprache | Status | TARGET_LANG-Wert |
|---|---|---|
| Python | Unterstützt | python |
| JavaScript | Unterstützt | javascript |
| .NET | Unterstützt | csharp |
| Java | Geplant |
Klone dieses Repository und öffne es in einem Editor deiner Wahl.
Bearbeite .github/workflows/org-codeql-sarif-run.yml und lege die erforderlichen Workflow-Werte fest.
| Einstellung | Beschreibung |
|---|---|
ORG | Die zu scannende Organisation. Verwende für ein persönliches Repository deinen GitHub-Benutzernamen. |
REPO | Das zu scannende Repository. Als leeren String lassen, um jedes Repository in der Organisation zu scannen. |
TARGET_LANG | Die zu scannende Sprache; gültige Werte siehe Unterstützte Sprachen. |
Committen und pushen deine Änderungen.
Gehe zum Actions-Tab in GitHub und wähle CodeQL org run (crypto inventory) in der linken Seitenleiste aus.
Klicke auf Run workflow, wähle den Branch aus, gegen den du ausführen möchtest, und klicke auf die grüne Schaltfläche Run workflow.
Die generierten Dateien werden als Artefakte im Workflow-Lauf veröffentlicht:
Um an cryptoptic selbst zu arbeiten, benötigst du:
Beiträge sind willkommen, einschließlich Code, Queries, Dokumentation, Tests und Fehlerberichte. Bitte lies den Verhaltenskodex, bevor du teilnimmst; er gilt für jeden Projektbereich.
Siehe GOVERNANCE.md für die Art und Weise, wie Entscheidungen getroffen werden, und MAINTAINERS.md für die Ansprechpartner.
Bitte melde Sicherheitslücken nicht über öffentliche GitHub-Issues. Siehe SECURITY.md für die private Meldung und was dich danach erwartet.
Dieses Projekt ist unter der Apache License, Version 2.0 lizenziert. Eine Kopie der Lizenz sollte im Repository in einer Datei namens LICENCE oder LICENSE enthalten sein. Nutzer sollten die Lizenzbedingungen prüfen, bevor sie das Projekt verwenden, ändern oder verbreiten.
Bei einer Weiterverbreitung des Projekts verlangt die Apache License 2.0 die Beibehaltung der geltenden Urheberrechts-, Patent-, Marken- und Namensnennungshinweise, die Aufnahme einer Kopie der Lizenz, Hinweise auf geänderte Dateien, sofern zutreffend, und den angemessenen Umgang mit einer etwaigen, dem Projekt beigefügten NOTICE-Datei.
Wenn das Repository eine NOTICE-Datei enthält, müssen Nutzer und Weiterverbreiter die darin enthaltenen Namensnennungshinweise gemäß der Apache License 2.0 beibehalten. Die NOTICE-Datei sollte korrekt gehalten werden und die für den Inhalt der Distribution geltenden Hinweise widerspiegeln.
Die Apache License 2.0 gewährt keine Erlaubnis zur Verwendung der Namen, Logos, Marken oder des Brandings von Nationwide. Jede Verwendung von Nationwide-Branding oder projektspezifischem Branding muss der separaten Markenrichtlinie des Projekts entsprechen.
Wie in der Apache License 2.0 beschrieben, wird das Projekt auf einer „AS IS"-Basis bereitgestellt, ohne Gewährleistungen oder Bedingungen jeglicher Art. Nutzer sind dafür verantwortlich, festzustellen, ob das Projekt für ihre Verwendung geeignet ist, und alle Ausgaben zu validieren, bevor sie sich darauf verlassen.