Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pyrite — Hardware-bound & Cloud-gated binary execution, cryptographic provenance, and anti-tamper envelope sealing for Crystal. | Kitploit
Strumenti/GitLabGitLab/renich/pyrite
CrittografiaSicurezza CloudDevSecOpsSicurezza HardwareAnalisi di BinariSicurezza della Supply Chain
GitLabrenich/pyrite

pyrite

Hardware-bound & Cloud-gated binary execution, cryptographic provenance, and anti-tamper envelope sealing for Crystal.

Vedi Repository
28824 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

pyrite.cr banner

Esecuzione binaria vincolata all'hardware e controllata dal cloud e sigillo dell'involucro anti-manomissione per 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


Cos'è Pyrite?

Pyrite garantisce che il tuo binario Crystal compilato venga eseguito solo sulla tua infrastruttura autorizzata. Se un avversario estrae, divulga, ruba o modifica il binario, l'esecuzione si interrompe immediatamente prima che qualsiasi logica applicativa o segreto venga esposto.

Garanzie di sicurezza fondamentali

  1. Vincolo di esecuzione hardware e cloud: il binario è incompleto a riposo. La configurazione operativa principale e le chiavi sono sigillate all'interno di un involucro che può essere decifrato solo dal chip TPM 2.0 della scheda madre fisica (systemd-creds) o da Google Cloud Run IAM / Cloud KMS.
  2. Auto-integrità in tempo reale (anti-manomissione): all'avvio, Pyrite calcola il digest SHA-256 di /proc/self/exe e lo confronta con l'hash autorizzato decifrato dall'involucro. Qualsiasi alterazione di 1 byte interrompe istantaneamente il processo.
  3. Anti-ingegneria inversa: il codice macchina LLVM nativo strippato (strip -s) non contiene tabelle dei simboli, metadati di riflessione o configurazione in chiaro. La decompilazione restituisce solo un wrapper di decifratura morto.
  4. Zero overhead a runtime: il gate crittografico viene eseguito una sola volta all'avvio (~15–25ms) e aggiunge 0,00% di overhead alla gestione continua delle richieste. Zero dipendenze da shard esterni.

Avvio rapido

1. Aggiungi a shard.yml

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

2. Bootstrap nel codice dell'applicazione

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. Architettura zero-trust fail-closed

Pyrite applica una politica zero-trust, fail-closed assoluta:

  • I binari richiedono rigorosamente un TPM 2.0 hardware autorizzato o un ancoraggio Cloud KMS per dissigillare il proprio involucro di configurazione.
  • Se eseguito al di fuori di un ambiente autorizzato (ad esempio sulla workstation di un attaccante senza il TPM o il ruolo Cloud IAM), Pyrite interrompe immediatamente con Pyrite::HardwareAuthError ed esce con codice 1.
  • I segreti e la logica di business non vengono mai esposti in memoria al di fuori del confine di fiducia hardware/cloud designato.

CLI di build e sigillo (bin/pyrite)

Una volta installato, Pyrite fornisce uno strumento CLI compilato per automatizzare la compilazione LLVM, lo stripping dei simboli ELF, l'hashing del digest SHA-256 e il sigillo dell'involucro.

# 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

Ancoraggi di fiducia supportati

AmbienteProviderRadice di fiduciaProtezione
Google Cloud RunPyrite::Providers::GCPKMSGoogle Cloud IAM + Cloud KMSBinAuthz + Instance Metadata OIDC
Fedora / Bare-MetalPyrite::Providers::SystemdCredsTPM 2.0 host (PCR 0,7)systemd-creds + Linux Kernel IMA
Bare-Metal DirectPyrite::Providers::TPM2DirectChip /dev/tpmrm0Dissigillo PCR TPM2 diretto (tpm2-tools)
AWS (ECS / Lambda)Pyrite::Providers::AWSKMSIMDSv2 + AWS KMSDecifratura ruolo attività AWS IAM

Documentazione

Documentazione tecnica esaustiva, specifiche e record delle decisioni architetturali sono mantenuti in reStructuredText sotto docs/:

Scarica lo strumento