Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pyrite — Exécution binaire liée au matériel et contrôlée par le cloud, provenance cryptographique et scellement d’enveloppe anti-altération pour Crystal. | Kitploit
Outils/GitLabGitLab/renich/pyrite
CryptographieSécurité CloudDevSecOpsSécurité MatérielleAnalyse de BinairesSécurité de la Chaîne Logistique
GitLabrenich/pyrite

pyrite

Exécution binaire liée au matériel et contrôlée par le cloud, provenance cryptographique et scellement d’enveloppe anti-altération pour Crystal.

Voir le dépôt
288il y a 24 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

pyrite.cr banner

Exécution binaire liée au matériel et conditionnée au cloud, et scellement d'enveloppe anti-altération pour 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'est-ce que Pyrite ?

Pyrite garantit que votre binaire Crystal compilé ne s'exécute que sur votre infrastructure autorisée. Si un adversaire extrait, divulgue, vole ou modifie le binaire, l'exécution s'arrête immédiatement avant que toute logique applicative ou tout secret ne soit exposé.

Garanties de sécurité fondamentales

  1. Liaison d'exécution au matériel et au cloud : Le binaire est incomplet au repos. La configuration opérationnelle essentielle et les clés sont scellées dans une enveloppe qui ne peut être déchiffrée que par la puce TPM 2.0 de la carte mère physique (systemd-creds) ou par Google Cloud Run IAM / Cloud KMS.
  2. Auto-intégrité en temps réel (anti-altération) : Au démarrage, Pyrite calcule le condensat SHA-256 de /proc/self/exe et le compare au hachage autorisé déchiffré depuis l'enveloppe. Toute altération d'un seul octet arrête instantanément le processus.
  3. Anti-ingénierie inverse : Le code machine LLVM natif allégé (strip -s) ne contient aucune table de symboles, aucune métadonnée de réflexion ni configuration en clair. La décompilation ne produit qu'un wrapper de déchiffrement mort.
  4. Aucune surcharge à l'exécution : La barrière cryptographique s'exécute une seule fois au démarrage (~15–25 ms) et ajoute 0,00 % de surcharge au traitement continu des requêtes. Aucune dépendance externe.

Démarrage rapide

1. Ajouter à shard.yml

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

2. Amorçage dans le code de l'application

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. Architecture zéro confiance à défaillance fermée

Pyrite applique une politique absolue de zéro confiance et de défaillance fermée :

  • Les binaires exigent strictement un TPM 2.0 matériel autorisé ou une ancre Cloud KMS pour desceller leur enveloppe de configuration.
  • S'ils sont exécutés en dehors d'un environnement autorisé (par exemple sur le poste de travail d'un attaquant sans le TPM ni le rôle Cloud IAM), Pyrite abandonne immédiatement avec Pyrite::HardwareAuthError et se termine avec le code 1.
  • Les secrets et la logique métier ne sont jamais exposés en mémoire en dehors de la frontière de confiance matérielle/cloud désignée.

CLI de compilation et de scellement (bin/pyrite)

Une fois installé, Pyrite fournit un outil CLI compilé pour automatiser la compilation LLVM, l'allègement des symboles ELF, le hachage par condensat SHA-256 et le scellement d'enveloppe.

# 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

Ancres de confiance prises en charge

EnvironnementFournisseurRacine de confianceProtection
Google Cloud RunPyrite::Providers::GCPKMSGoogle Cloud IAM + Cloud KMSBinAuthz + Instance Metadata OIDC
Fedora / Bare-MetalPyrite::Providers::SystemdCredsTPM 2.0 de l'hôte (PCR 0,7)systemd-creds + Linux Kernel IMA
Bare-Metal DirectPyrite::Providers::TPM2DirectPuce /dev/tpmrm0Descellement TPM2 PCR direct (tpm2-tools)
AWS (ECS / Lambda)Pyrite::Providers::AWSKMSIMDSv2 + AWS KMSDéchiffrement par rôle de tâche AWS IAM

Documentation

Une documentation technique exhaustive, des spécifications et des comptes rendus de décisions d'architecture sont maintenus en reStructuredText sous docs/ :

Télécharger l’outil