
हार्डवेयर-बद्ध और क्लाउड-गेटेड बाइनरी निष्पादन, क्रिप्टोग्राफिक प्रोवेनेंस, और Crystal के लिए एंटी-टैम्पर एनवेलप सीलिंग।
हार्डवेयर-बद्ध और क्लाउड-गेटेड बाइनरी निष्पादन और क्रिस्टल के लिए एंटी-टैम्पर एनवलप सीलिंग।
Pyrite यह सुनिश्चित करता है कि आपका संकलित क्रिस्टल बाइनरी केवल आपके अधिकृत इंफ्रास्ट्रक्चर पर ही निष्पादित होता है। यदि कोई प्रतिद्वंद्वी बाइनरी को निकालता है, लीक करता है, चुराता है, या संशोधित करता है, तो कोई भी एप्लिकेशन लॉजिक या रहस्य उजागर होने से पहले निष्पादन तुरंत रुक जाता है।
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.1.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
विकास या यूनिट परीक्षण (crystal spec) के दौरान, आपको सक्रिय क्लाउड क्रेडेंशियल या भौतिक TPM की आवश्यकता नहीं होती है। बस .pyrite.dev.json बनाएं या PYRITE_DEV=1 सेट करें:
{
"database_url": "postgresql://postgres:pass@localhost:5432/dev",
"session_secret": "insecure-dev-secret-key",
"api_token": "dev-token"
}
Pyrite टर्मिनल में एक स्पष्ट दृश्य चेतावनी प्रिंट करेगा और आपके स्थानीय कॉन्फ़िगरेशन को पास कर देगा।
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
| वातावरण | प्रदाता | ट्रस्ट का रूट | सुरक्षा |
|---|---|---|---|
| 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 | Direct TPM2 PCR unseal (tpm2-tools) |
| AWS (ECS / Lambda) | Pyrite::Providers::AWSKMS | IMDSv2 + AWS KMS | AWS IAM Task Role Decrypt |
| स्थानीय विकास | Pyrite::Providers::DevMock | स्थानीय फ़ाइल (.pyrite.dev.json) | निर्बाध स्थानीय विकास |
व्यापक तकनीकी दस्तावेज़ीकरण, विशिष्टताएँ, और आर्किटेक्चर निर्णय रिकॉर्ड docs/ के अंतर्गत reStructuredText में बनाए रखे जाते हैं:
| गाइड | दायरा और मुख्य बिंदु | सीधा लिंक |
|---|---|---|
| व्यावसायिक संदर्भ और रणनीति | समस्या विवरण, खतरे का परिदृश्य, हितधारक व्यक्तित्व (Devon, Rénich, Sam), और मात्रात्मक ROI लक्ष्य। | Business Specs • Personas • Problem Statement |
| कार्यात्मक विशिष्टताएँ | आवश्यकताएँ [FUNC-001]–[FUNC-005]: निष्पादन गेटिंग, रीयल-टाइम सेल्फ-इंटीग्रिटी, एनवलप सीलिंग, डेवलपर अनुभव, और CLI ऑर्केस्ट्रेशन। | Functional Specs • Execution Gating • Self-Integrity |
| तकनीकी आर्किटेक्चर | विशिष्टताएँ [TECH-001]–[TECH-005]: मुख्य डिसीरियलाइज़ेशन इंजन, स्ट्रीमिंग 16KB SHA-256 हैशर, प्रदाता ड्राइवर, और औपचारिक STRIDE खतरा मॉडल। | Technical Specs • Core Engine • Threat Model |
| आर्किटेक्चर निर्णय रिकॉर्ड | अपरिवर्तनीय ADR जो एनवलप एन्क्रिप्शन बनाम क्लाइंट-साइड DRM, और शून्य-निर्भरता मानक लाइब्रेरी डिज़ाइन का दस्तावेज़ीकरण करते हैं। | ADR Index • ADR 001 (Envelope Encryption) • ADR 002 (Stdlib Only) |
| परियोजना रोडमैप और ट्रैकिंग | अनुक्रमित 3-चरणीय डिलीवरी ट्रैकिंग, सत्यापन मानदंड, और मुख्य इंजन, प्रदाताओं, और CLI में मील के पत्थर डिलीवरेबल्स। | Roadmap • Phase 1 • Phase 2 • Phase 3 |
| Crystal API संदर्भ | पूर्ण इंटरैक्टिव प्रकार पदानुक्रम, विधि हस्ताक्षर, और कंपाइलर-जनित संदर्भ। | API Reference |
सभी योगदानों को Universal Code of Honor और Contributing Guidelines का पालन करना चाहिए।
कॉपीलेफ्ट © 2026 Rénich Bon Ćirić <[email protected]>।
यदि आपको Pyrite उपयोगी लगता है और आप इसके निरंतर विकास का समर्थन करना चाहते हैं, तो कृपया दान करने पर विचार करें: