
Hardwaregebundene & Cloud-gesteuerte Binärausführung, kryptografische Herkunft und manipulationssichere Umschlagversiegelung für Crystal.
Hardware-gebundene und Cloud-gesteuerte Binärausführung und Anti-Tamper-Umschlagversiegelung für Crystal.
Pyrite stellt sicher, dass Ihr kompiliertes Crystal-Binary nur auf Ihrer autorisierten Infrastruktur ausgeführt wird. Wenn ein Angreifer das Binary extrahiert, leakt, stiehlt oder modifiziert, wird die Ausführung sofort angehalten, bevor Anwendungslogik oder Geheimnisse preisgegeben werden.
systemd-creds) oder Google Cloud Run IAM / Cloud KMS entschlüsselt werden kann./proc/self/exe und vergleicht ihn mit dem autorisierten Hash, der aus dem Umschlag entschlüsselt wurde. Jede 1-Byte-Änderung stoppt den Prozess sofort.strip -s) enthält keine Symboltabellen, Reflexionsmetadaten oder Klartextkonfiguration. Dekompilierung liefert nur einen toten Entschlüsselungs-Wrapper.shard.yml hinzufügendependencies:
pyrite:
github: renich/pyrite
version: ~> 0.2.0
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
Pyrite erzwingt eine absolute Zero-Trust-, Fail-Closed-Richtlinie:
Pyrite::HardwareAuthError ab und beendet sich mit Code 1.bin/pyrite)Nach der Installation stellt Pyrite ein kompiliertes CLI-Tool bereit, um LLVM-Kompilierung, ELF-Symbol-Stripping, SHA-256-Digest-Hashing und Umschlagversiegelung zu automatisieren.
# 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
| Umgebung | Anbieter | Vertrauenswurzel | Schutz |
|---|---|---|---|
| Google Cloud Run | Pyrite::Providers::GCPKMS | Google Cloud IAM + Cloud KMS | BinAuthz + Instance Metadata OIDC |
| Fedora / Bare-Metal | Pyrite::Providers::SystemdCreds | Host-TPM 2.0 (PCR 0,7) | systemd-creds + Linux Kernel IMA |
| Bare-Metal Direct | Pyrite::Providers::TPM2Direct | /dev/tpmrm0-Chip | Direkte TPM2-PCR-Entsiegelung (tpm2-tools) |
| AWS (ECS / Lambda) | Pyrite::Providers::AWSKMS | IMDSv2 + AWS KMS | AWS IAM Task Role Decrypt |
Umfassende technische Dokumentation, Spezifikationen und Architekturentscheidungsdatensätze werden in reStructuredText unter docs/ gepflegt: