Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pyrite — Ejecución binaria vinculada al hardware y controlada por la nube, procedencia criptográfica y sellado de sobres antimanipulación para Crystal. | Kitploit
Herramientas/GitLabGitLab/renich/pyrite
CriptografíaSeguridad en la NubeDevSecOpsSeguridad de HardwareAnálisis de BinariosSeguridad de Cadena de Suministro
GitLabrenich/pyrite

pyrite

Ejecución binaria vinculada al hardware y controlada por la nube, procedencia criptográfica y sellado de sobres antimanipulación para Crystal.

Ver Repositorio
298hace 25 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

pyrite.cr banner

Ejecución de binarios vinculada al hardware y restringida a la nube, y sellado de envoltura anti-manipulación para Crystal.

Version 0.2.0 Crystal >= 1.21.0 GitLab CI Passing Specs Passing Ameba Clean Flaw Clean

Sphinx Documentation Crystal API Documentation License: GPL-3.0-or-later Donate using Liberapay


¿Qué es Pyrite?

Pyrite garantiza que tu binario Crystal compilado solo se ejecute en tu infraestructura autorizada. Si un adversario extrae, filtra, roba o modifica el binario, la ejecución se detiene inmediatamente antes de que se exponga cualquier lógica de la aplicación o secreto.

Garantías de seguridad fundamentales

  1. Vinculación de ejecución a hardware y nube: El binario está incompleto en reposo. La configuración operativa principal y las claves están selladas dentro de una envoltura que solo puede ser descifrada por el chip TPM 2.0 de la placa base física (systemd-creds) o por Google Cloud Run IAM / Cloud KMS.
  2. Autointegridad en tiempo real (anti-manipulación): Al arrancar, Pyrite calcula el digest SHA-256 de /proc/self/exe y lo compara con el hash autorizado descifrado de la envoltura. Cualquier alteración de 1 byte detiene el proceso al instante.
  3. Anti-ingeniería inversa: El código máquina LLVM nativo despojado (strip -s) no contiene tablas de símbolos, metadatos de reflexión ni configuración en texto plano. La descompilación solo produce un envoltorio de descifrado muerto.
  4. Cero sobrecarga en tiempo de ejecución: La puerta criptográfica se ejecuta una vez durante el arranque (~15–25 ms) y añade 0.00% de sobrecarga al manejo continuo de solicitudes. Cero dependencias de shards externos.

Inicio rápido

1. Añadir a shard.yml

dependencies:
  pyrite:
    github: renich/pyrite
    version: ~> 0.2.0

2. Inicializar en el código de la aplicación

require "pyrite"
require "kemal"

# Define strongly-typed application configuration
struct AppConfig
  include JSON::Serializable

  getter database_url : String
  getter session_secret : String
  getter api_token : String
end

# 1-line verification & bootstrap:
config = Pyrite.bootstrap!(AppConfig)

puts "Pyrite verified binary integrity. Starting application..."

get "/" do
  "Secure service running on authorized hardware."
end

Kemal.run

3. Arquitectura de confianza cero con fallo cerrado

Pyrite aplica una política absoluta de confianza cero y fallo cerrado:

  • Los binarios requieren estrictamente un ancla autorizada de TPM 2.0 de hardware o Cloud KMS para desellar su envoltura de configuración.
  • Si se ejecuta fuera de un entorno autorizado (por ejemplo, en la estación de trabajo de un atacante sin el TPM o el rol de Cloud IAM), Pyrite aborta inmediatamente con Pyrite::HardwareAuthError y sale con código 1.
  • Los secretos y la lógica de negocio nunca se exponen a la memoria fuera del límite de confianza designado de hardware/nube.

CLI de compilación y sellado (bin/pyrite)

Una vez instalado, Pyrite proporciona una herramienta CLI compilada para automatizar la compilación LLVM, el despojo de símbolos ELF, el hashing de digest SHA-256 y el sellado de envoltura.

# Build & Seal for Google Cloud Run (KMS):
bin/pyrite build \
    --input=src/main.cr \
    --output=bin/app \
    --target=gcp \
    --kms-key="projects/my-p/locations/global/keyRings/my-r/cryptoKeys/app-key" \
    --config=config/production.json

# Build & Seal for Bare-Metal Fedora (TPM 2.0 / systemd-creds):
bin/pyrite build \
    --input=src/main.cr \
    --output=bin/app \
    --target=baremetal \
    --pcr=0,7 \
    --config=config/production.json

# Build & Seal for AWS (ECS / Lambda / KMS):
bin/pyrite build \
    --input=src/main.cr \
    --output=bin/app \
    --target=aws \
    --kms-key="arn:aws:kms:us-east-1:123456789012:key/..." \
    --config=config/production.json

Anclas de confianza compatibles

EntornoProveedorRaíz de confianzaProtección
Google Cloud RunPyrite::Providers::GCPKMSGoogle Cloud IAM + Cloud KMSBinAuthz + Instance Metadata OIDC
Fedora / Bare-MetalPyrite::Providers::SystemdCredsTPM 2.0 del host (PCR 0,7)systemd-creds + Linux Kernel IMA
Bare-Metal DirectPyrite::Providers::TPM2DirectChip /dev/tpmrm0Desellado directo de PCR TPM2 (tpm2-tools)
AWS (ECS / Lambda)Pyrite::Providers::AWSKMSIMDSv2 + AWS KMSDescifrado con rol de tarea de AWS IAM

Documentación

La documentación técnica exhaustiva, las especificaciones y los registros de decisiones de arquitectura se mantienen en reStructuredText bajo docs/:

Descargar herramienta