
Escáner basado en CodeQL que inventaría las llamadas a funciones criptográficas en repositorios y organizaciones de GitHub, generando una Lista de Materiales Criptográficos (CBOM) en formato SARIF.
Encuentra la criptografía que se esconde en tu código antes de que los ordenadores cuánticos la encuentren por ti.
cryptoptic utiliza CodeQL y GitHub Actions para escanear un repositorio o una organización completa de GitHub y producir un inventario de cada función criptográfica en uso, la biblioteca de la que proviene y dónde se llama.
La llegada prevista de la computación cuántica criptográficamente relevante significa que muchos algoritmos ampliamente utilizados hoy en día ya no mantendrán los datos seguros. El "recoger ahora, descifrar después" convierte esto en un riesgo del presente, no del futuro.
Antes de que una organización pueda migrar a algoritmos post-cuánticos, necesita entender dónde se utiliza la criptografía en todo su código base. cryptoptic ayuda a crear ese Inventario de Materiales Criptográficos (CBOM), para que los algoritmos vulnerables puedan reemplazarse con alternativas seguras frente a la computación cuántica o gestionarse de forma transparente.
cryptoptic fue creado y se utiliza internamente en Nationwide Building Society. Se publica aquí para la comunidad en general.
| Lenguaje | Estado | Valor de TARGET_LANG |
|---|---|---|
| Python | Compatible | python |
| JavaScript | Compatible | javascript |
| .NET | Compatible | csharp |
| Java | Planificado |
Clona este repositorio y ábrelo en el editor que prefieras.
Edita .github/workflows/org-codeql-sarif-run.yml y establece los valores requeridos del flujo de trabajo.
| Ajuste | Descripción |
|---|---|
ORG | La organización a escanear. Para un repositorio personal, usa tu nombre de usuario de GitHub. |
REPO | El repositorio a escanear. Déjalo como una cadena vacía para escanear todos los repositorios de la organización. |
TARGET_LANG | El lenguaje a escanear; consulta Lenguajes compatibles para los valores válidos. |
Confirma y sube tus cambios.
Ve a la pestaña Actions en GitHub y selecciona CodeQL org run (crypto inventory) en la barra lateral izquierda.
Haz clic en Run workflow, elige la rama sobre la que quieres ejecutar y haz clic en el botón verde Run workflow.
Los archivos generados se publican como artefactos en la ejecución del flujo de trabajo:
Para trabajar en cryptoptic en sí, necesitarás:
Las contribuciones son bienvenidas, incluidos código, consultas, documentación, pruebas e informes de errores. Por favor, lee el Código de Conducta antes de participar; se aplica a todos los espacios del proyecto.
Consulta GOVERNANCE.md para saber cómo se toman las decisiones y MAINTAINERS.md para saber con quién hablar.
Por favor, no informes de vulnerabilidades de seguridad a través de los issues públicos de GitHub. Consulta SECURITY.md para saber cómo informar de forma privada y qué esperar después de hacerlo.
Este proyecto está licenciado bajo la Licencia Apache, Versión 2.0. Se debe incluir una copia de la licencia en el repositorio en un archivo llamado LICENCE o LICENSE. Los usuarios deben revisar los términos de la licencia antes de usar, modificar o distribuir el proyecto.
Cuando el proyecto se redistribuye, la Licencia Apache 2.0 exige la conservación de los avisos aplicables de derechos de autor, patentes, marcas comerciales y atribución, la inclusión de una copia de la licencia, los avisos para archivos modificados cuando corresponda y el manejo adecuado de cualquier archivo NOTICE incluido con el proyecto.
Si el repositorio incluye un archivo NOTICE, los usuarios y redistribuidores deben conservar los avisos de atribución contenidos en ese archivo de acuerdo con la Licencia Apache 2.0. El archivo NOTICE debe mantenerse preciso y debe reflejar los avisos aplicables al contenido de la distribución.
La Licencia Apache 2.0 no otorga permiso para usar los nombres, logotipos, marcas comerciales o imagen de marca de Nationwide. Cualquier uso de la imagen de marca de Nationwide o de la imagen de marca específica del proyecto debe cumplir con la política de marcas comerciales independiente del proyecto.
Tal como se describe en la Licencia Apache 2.0, el proyecto se proporciona "TAL CUAL", sin garantías de ningún tipo. Los usuarios son responsables de determinar si el proyecto es apropiado para su uso y de validar cualquier resultado antes de confiar en él.