
हार्डवेयर-बद्ध और क्लाउड-गेटेड बाइनरी निष्पादन, क्रिप्टोग्राफिक प्रोवेनेंस, और Crystal के लिए एंटी-टैम्पर एनवेलप सीलिंग।
Crystal के लिए हार्डवेयर-बाउंड और क्लाउड-गेटेड बाइनरी निष्पादन तथा एंटी-टैम्पर एनवेलप सीलिंग।
Pyrite यह सुनिश्चित करता है कि आपकी कंपाइल की गई Crystal बाइनरी केवल आपके अधिकृत इन्फ्रास्ट्रक्चर पर ही निष्पादित हो। यदि कोई विरोधी बाइनरी को निकालता, लीक करता, चुराता या संशोधित करता है, तो किसी भी एप्लिकेशन लॉजिक या सीक्रेट्स के उजागर होने से पहले ही निष्पादन तुरंत रुक जाता है।
systemd-creds) या Google Cloud Run IAM / Cloud KMS द्वारा ही डिक्रिप्ट किया जा सकता है।/proc/self/exe का SHA-256 डाइजेस्ट गणना करता है और उसकी तुलना एनवेलप से डिक्रिप्ट किए गए अधिकृत हैश से करता है। 1-बाइट का कोई भी परिवर्तन प्रक्रिया को तुरंत रोक देता है।strip -s) में शून्य सिंबल टेबल, रिफ्लेक्शन मेटाडेटा या प्लेनटेक्स्ट कॉन्फ़िगरेशन होता है। डीकंपाइलेशन से केवल एक मृत डिक्रिप्शन रैपर प्राप्त होता है।shard.yml में जोड़ेंdependencies:
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 एक पूर्ण ज़ीरो-ट्रस्ट, फेल-क्लोज़्ड नीति लागू करता है:
Pyrite::HardwareAuthError के साथ निष्पादन रोक देता है और कोड 1 के साथ बाहर निकल जाता है।bin/pyrite)इंस्टॉल होने पर, Pyrite LLVM कंपाइलेशन, ELF सिंबल स्ट्रिपिंग, SHA-256 डाइजेस्ट हैशिंग और एनवेलप सीलिंग को स्वचालित करने के लिए एक कंपाइल किया गया CLI टूल प्रदान करता है।
# 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
| वातावरण | प्रदाता | ट्रस्ट का मूल | सुरक्षा |
|---|---|---|---|
| Google Cloud Run | Pyrite::Providers::GCPKMS | Google Cloud IAM + Cloud KMS | BinAuthz + Instance Metadata OIDC |
| Fedora / बेयर-मेटल | Pyrite::Providers::SystemdCreds | होस्ट TPM 2.0 (PCR 0,7) | systemd-creds + Linux Kernel IMA |
| बेयर-मेटल डायरेक्ट | Pyrite::Providers::TPM2Direct | /dev/tpmrm0 चिप | डायरेक्ट TPM2 PCR अनसील (tpm2-tools) |
| AWS (ECS / Lambda) | Pyrite::Providers::AWSKMS | IMDSv2 + AWS KMS | AWS IAM टास्क रोल डिक्रिप्ट |
विस्तृत तकनीकी दस्तावेज़ीकरण, विशिष्टताएँ और आर्किटेक्चर निर्णय रिकॉर्ड docs/ के अंतर्गत reStructuredText में अनुरक्षित हैं: