
AI एजेंट फ्लीट और डेवलपर वर्कस्टेशन के लिए पॉलिसी इंजन और EDR। Ed25519-हस्ताक्षरित ऑडिट ट्रेल्स और फेल-क्लोज्ड एन्फोर्समेंट के साथ टूल कॉल, फ़ाइल एक्सेस, नेटवर्क फ्लो और प्रोसेस निष्पादन की निगरानी करता है।
स्वॉर्म के युग के लिए EDR.
फेल क्लोज। सत्य पर हस्ताक्षर करें।
स्थिति: pre-1.0 बीटा। सार्वजनिक API स्थिर हैं; 1.0 से पहले डिफ़ॉल्ट अभी भी कड़े हो सकते हैं।
क्लॉडस्ट्राइक एक पालिसी इंजन, एक EDR, और एक हस्ताक्षरित ऑडिट चेन है, सब एक बाइनरी में। एक AI एजेंट का tool_call उसी इवेंट टैक्सोनॉमी में बैठता है जैसे कर्नेल-लेवल का file_access, process_exec, network_flow, dylib_load, या launch_persistence। एक पालिसी इंजन उनका मूल्यांकन करता है। एक Ed25519-हस्ताक्षरित कॉज़ल ग्राफ उन्हें रिकॉर्ड करता है। डिफ़ॉल्ट फेल क्लोज हैं।
यही इंजन Rust क्रेट, TypeScript SDK, Python पैकेज, Go मॉड्यूल, CLI, डेस्कटॉप EDR एजेंट (macOS एंडपॉइंट सुरक्षा + नेटवर्क एक्सटेंशन; Linux Tetragon + Hubble), और एक एंटरप्राइज़ कंट्रोल प्लेन के रूप में उपलब्ध है।
त्वरित आरंभ · गार्ड · पालिसी · औपचारिक सत्यापन · एंटरप्राइज़ · डिज़ाइन
अपने पसंदीदा पैकेज मैनेजर के माध्यम से इंस्टॉल करें:
brew install backbay-labs/tap/clawdstrike # macOS, Linux
npm install @clawdstrike/sdk # TypeScript
pip install clawdstrike # Python
cargo add clawdstrike # Rust
go get github.com/backbay-labs/clawdstrike-go
एक प्रोजेक्ट स्कैफोल्ड करें और डेमॉन शुरू करें:
clawdstrike init --keygen
# लिखता है policy.yaml, config.toml, keys/clawdstrike.key{,.pub}
clawdstrike daemon start && clawdstrike daemon status
# Status: healthy | Version: 0.2.7 | Uptime: 2s
तीन अस्वीकृतियाँ, प्रत्येक पर हस्ताक्षरित:
$ clawdstrike check --action-type file --ruleset strict ~/.ssh/id_rsa
BLOCKED [Critical]: Access to forbidden path: ~/.ssh/id_rsa
$ clawdstrike check --action-type egress --ruleset strict api.openai.com:443
BLOCKED [Error]: Egress to api.openai.com blocked by policy
$ clawdstrike check --action-type mcp --ruleset strict shell_exec
BLOCKED [Error]: Tool 'shell_exec' is blocked by policy
जांचें कि पालिसी स्वयं संकलित होती है और आंतरिक रूप से सुसंगत है:
$ clawdstrike verify --policy strict
Consistency: PASS (47 formulas, 0 conflicts)
Completeness: PASS (4/4 action types covered)
Inheritance: PASS (0 weakened prohibitions)
एक वास्तविक एजेंट को प्रवर्तन के तहत चलाएँ:
clawdstrike run --policy clawdstrike:strict -- python my_agent.py
एजेंट सामान्य रूप से चलता है। प्रत्येक टूल कॉल पहले इंजन पर पहुँचती है। अस्वीकृतियाँ आपके SDK में एक टाइप की गई त्रुटि उत्पन्न करती हैं और एक हस्ताक्षरित रसीद उत्सर्जित करती हैं।
फ्लीट डिप्लॉयमेंट के लिए, Helm चार्ट इंस्टॉल करें। hushd और Spine साइनर्स फेल-क्लोज हैं और उन्हें इंस्टॉल के समय कुंजियों की आवश्यकता होती है, इसलिए Secrets पहले से बनाएँ और चार्ट से उनका संदर्भ लें:
NS=clawdstrike-system
kubectl create namespace "$NS"
kubectl -n "$NS" create secret generic clawdstrike-hushd-auth \
--from-literal=CLAWDSTRIKE_API_KEY="$(openssl rand -hex 32)" \
--from-literal=CLAWDSTRIKE_ADMIN_KEY="$(openssl rand -hex 32)" \
--from-literal=CLAWDSTRIKE_AUTH_PEPPER="$(openssl rand -hex 32)"
kubectl -n "$NS" create secret generic clawdstrike-spine \
--from-literal=SPINE_LOG_SEED_HEX="$(openssl rand -hex 32)" \
--from-literal=SPINE_WITNESS_SEED_HEX="$(openssl rand -hex 32)"
helm install clawdstrike \
oci://ghcr.io/backbay-labs/clawdstrike/helm/clawdstrike --version 0.2.0 \
--namespace "$NS" \
--set hushd.auth.existingSecret=clawdstrike-hushd-auth \
--set spine.secrets.existingSecret=clawdstrike-spine
इससे hushd, Spine चेकपॉइंटर + विटनेस, और बंडल NATS JetStream आते हैं। Control API (एनरोलमेंट, पॉस्चर कमांड्स, हस्ताक्षरित कम्प्लीशन बंडल वापस), और Tetragon/Hubble टेलीमेट्री ब्रिज ऑप्ट-इन हैं।
पूर्ण पैरामीटर सेट के लिए चार्ट README देखें, और एंड-टू-एंड एजेंट ऑनबोर्डिंग के लिए एंटरप्राइज़ एनरोलमेंट देखें।
flowchart LR
A[Agent / sensor] --> B[Canonical event]
B --> C[Policy engine + guard stack]
C -->|allow| D[Action runs]
C -->|deny| E[Blocked, fail-closed]
C --> F[Ed25519 receipt]
F --> G[Causal graph]
G -.->|enterprise| H[Spine audit chain]
SDK एडेप्टर और OS-लेवल सेंसर समान कैनोनिकल इवेंट को पालिसी इंजन में फीड करते हैं। एडेप्टर AI एजेंट टूल कॉल को कवर करते हैं; कर्नेल सेंसर (macOS एंडपॉइंट सुरक्षा और नेटवर्क एक्सटेंशन, Linux Tetragon और Hubble) फ़ाइल, प्रक्रिया, नेटवर्क, dylib, और पर्सिस्टेंस इवेंट्स को कवर करते हैं। गार्ड स्टैक एक निर्णय लौटाता है, निर्णय Ed25519 रसीद के साथ भेजा जाता है, और प्रत्येक रसीद को कंटेंट-हैश कर एक प्रति-सत्र कॉज़ल ग्राफ बनाया जाता है जो एजेंट पहचान को डाउनस्ट्रीम OS इवेंट्स से जोड़ता है।
जब कोई निर्णय प्रतिक्रिया सीमा को पार करता है, तो इंजन एक हस्ताक्षरित प्रभाव उत्सर्जित करता है: फ़ाइल को क्वारंटीन करें, एग्रेस गंतव्य को प्रतिबंधित करें, प्रक्रिया ट्री को निलंबित करें, पहले जारी अनुमोदन को रद्द करें। प्रभाव जहाँ संभव हो, प्रतिवर्ती होते हैं। पिछले अवलोकन डिस्क-समर्थित फ्लाइट रिकॉर्डर पर रहते हैं, ताकि कड़ी की गई पालिसी को पिछले सप्ताह की स्थिति के खिलाफ शिप करने से पहले अनुकरण किया जा सके। एंटरप्राइज़ मोड में रसीद श्रृंखला NATS पर Spine चेकपॉइंटर को भेजी जाती है; एक स्वतंत्र विटनेस प्रत्येक बैच पर सह-हस्ताक्षर करता है।
लॉग कहानियाँ हैं; प्रमाण एक हस्ताक्षर है.
प्रत्येक गार्ड टूल सीमा पर एक रचनात्मक जाँच है। साक्ष्य के साथ निर्णय लौटाता है। फ़ेल-फ़ास्ट या एकत्रित; प्रति-पालिसी कॉन्फ़िगर किया गया।
स्रोत सत्य: crates/libs/clawdstrike/src/guards/
संस्करणित, निर्धारणात्मक पालिसी-एज़-कोड। स्कीमा 1.5.0 (1.1.0+ के साथ बैकवर्ड-संगत)। बिल्ट-इन, स्थानीय फ़ाइलों, रिमोट URL और git refs से extends का समर्थन करता है। रिमोट extends होस्ट-अनुमति सूचीबद्ध है और #sha256=<64-hex> के माध्यम से अखंडता-पिन किया गया है।
बिल्ट-इन रूलसेट: permissive · default · strict · ai-agent · ai-agent-posture · cicd · remote-desktop · remote-desktop-permissive · remote-desktop-strict · spider-sense
ऑपरेशनल लूप (निरीक्षण करें, संश्लेषित करें, कसें):
# देखी गई घटनाओं से न्यूनतम-विशेषाधिकार उम्मीदवार उत्पन्न करें
clawdstrike policy synth run.events.jsonl \
--extends clawdstrike:default --out candidate.yaml
# उम्मीदवार के विरुद्ध घटनाओं को फिर से चलाएँ
clawdstrike policy simulate candidate.yaml run.events.jsonl --fail-on-deny
# उम्मीदवार को बेसलाइन से अंतर करें
clawdstrike policy diff clawdstrike:default candidate.yaml
पालिसी स्कीमा, पॉस्चर स्कीमा, और निरीक्षण, संश्लेषण, कसना मार्गदर्शिका देखें।
पालिसी इंजन का मूल निर्णय तर्क Lean 4 में निर्दिष्ट है और Aeneas अनुवाद पाइपलाइन के माध्यम से Rust कार्यान्वयन के विरुद्ध विभेदक रूप से परीक्षण किया गया है।
Lean में सिद्ध (45 में से 44 मुख्य फ़ंक्शनों में 5 गुण):
extends श्रृंखलाएँ हमेशा पकड़ी जाती हैंप्रमाण के दायरे से बाहर: मूल निर्णय तर्क के अलावा गार्ड, IO, नेटवर्क, और क्रिप्टो प्रिमिटिव स्वयं (हम ed25519-dalek पर निर्भर हैं)।
clawdstrike verify --policy strict # Z3 policy analysis
cargo test -p formal-diff-tests # nightly differential tests
cd formal/lean4/ClawdStrike && lake build
औपचारिक सत्यापन मार्गदर्शिका देखें।
प्रत्येक निर्णय एक Ed25519-हस्ताक्षरित प्रमाणपत्र के साथ भेजा जाता है जिसमें निर्णय, इसे बनाने वाली पालिसी, और साक्ष्य शामिल होते हैं। रसीदों को RFC 8785 JSON कैनोनिकलाइज़ेशन के साथ कैनोनिकलाइज़ किया जाता है, ताकि एक हस्ताक्षर Rust, TypeScript और Python में बाइट-समान रूप से सत्यापित हो।
एंटरप्राइज़ डिप्लॉयमेंट रसीदों को Spine के माध्यम से अग्रेषित करते हैं, जो एक Ed25519-हस्ताक्षरित और हैश-चेन्ड लिफ़ाफ़ा लॉग है। किसी भी रिकॉर्ड के साथ छेड़छाड़ करें और हर बाद का रिकॉर्ड सत्यापन में विफल हो जाता है।
npm install @clawdstrike/sdk
import { HushEngine, loadPolicy } from "@clawdstrike/sdk";
const engine = new HushEngine(await loadPolicy("clawdstrike:strict"));
const verdict = await engine.check({
actionType: "file",
target: "~/.ssh/id_rsa",
});
// verdict.decision === "deny"
// verdict.receipt is Ed25519-signed
pip install clawdstrike
from clawdstrike import HushEngine, load_policy
engine = HushEngine(load_policy("clawdstrike:strict"))
verdict = engine.check(action_type="file", target="~/.ssh/id_rsa")
# verdict.decision == "deny"
[dependencies]
clawdstrike = "0.2"
use clawdstrike::{HushEngine, Policy, Action, Decision};
let policy = Policy::load_builtin("strict")?;
let engine = HushEngine::new(policy);
let verdict = engine.check(&Action::file("~/.ssh/id_rsa"))?;
assert_eq!(verdict.decision, Decision::Deny);
go get github.com/backbay-labs/clawdstrike-go
engine, _ := clawdstrike.NewEngine(clawdstrike.LoadBuiltin("strict"))
verdict, _ := engine.Check(clawdstrike.FileAction{Target: "~/.ssh/id_rsa"})
// verdict.Decision == clawdstrike.Deny
एक ही इंजन और एक प्रबंधित नियंत्रण विमान: Control API, NATS JetStream ट्रांसपोर्ट, Spine ऑडिट चेन, और SOC वर्कफ़्लो के लिए Control Console। mTLS के माध्यम से एनरोलमेंट, अनुरोध/उत्तर एसीके के साथ पॉस्चर कमांड, API पर वापस हस्ताक्षरित पूर्णता बंडल।
एंटरप्राइज़ एनरोलमेंट और अनुकूली वास्तुकला देखें।
क्लॉडस्ट्राइक एक प्रमाणित उत्पाद नहीं है। यह साक्ष्य उत्पन्न करता है जो मानक नियंत्रण ढाँचे से मेल खाता है: हस्ताक्षरित कार्य प्रमाणपत्र, अखंडता-श्रृंखलित ऑडिट ट्रेल्स, निर्धारणात्मक पालिसी मूल्यांकन।
| ढाँचा | इंजन कौन सा साक्ष्य उत्पन्न करता है |
|---|---|
| SOC 2 (CC6.1, CC7.2) | तार्किक पहुँच नियंत्रण और हस्ताक्षरित ऑडिट ट्रेल |
| HIPAA §164.312(b) | गैर-अस्वीकार्य रसीदों के साथ ऑडिट नियंत्रण |
| PCI-DSS 10.5 | छेड़छाड़-प्रकट, हैश-चेन्ड लॉग |
अनुपालन मानचित्रण मसौदा हैं। यदि आपको किसी ढाँचे को औपचारिक बनाने की आवश्यकता है, तो एक issue खोलें।
फेल क्लोज। अमान्य पालिसियाँ लोड समय पर अस्वीकार करती हैं। मूल्यांकन त्रुटियाँ पहुँच को अस्वीकार करती हैं। लापता कॉन्फ़िगरेशन प्रतिबंधात्मक पर डिफ़ॉल्ट होती है। सुरक्षा में गिरावट के लिए स्पष्ट, ऑडिट करने योग्य कार्रवाई की आवश्यकता होती है।
प्रूफ, लॉग नहीं। Ed25519 रसीदें क्रिप्टोग्राफ़िक प्रमाणपत्र हैं, लॉग लाइन नहीं जो कोई संपादित कर सकता है। कैनोनिकल JSON (RFC 8785) सुनिश्चित करता है कि हस्ताक्षर Rust, TypeScript और Python में समान रूप से सत्यापित हों।
एक ही लिफ़ाफा, कोई भी पाइप। एक हस्ताक्षरित Spine लिफ़ाफा बाइट-समान है चाहे वह NATS पर 100K msg/sec, आवासीय इंटरनेट पर libp2p gossipsub, या 1,200 bps पर LoRa रेडियो पर यात्रा करे। ट्रांसपोर्ट सत्य परत के लिए अदृश्य है।
केवल अवक्षेपण। एजेंट अपनी क्षमताओं के उपसमुच्चय को प्रतिनिधि करते हैं, कभी वृद्धि नहीं करते। प्रतिनिधित्व टोकन क्रिप्टोग्राफ़िक क्षमता सीमाएँ रखते हैं। विशेषाधिकार वृद्धि को पालिसी द्वारा नहीं रोका जाता; इसे गणित द्वारा रोका जाता है।
अपना स्टैक खुद रखें। Apache-2.0। स्व-होस्ट करने योग्य। सुरक्षा-महत्वपूर्ण बुनियादी ढांचे के लिए कोई विक्रेता निर्भरता नहीं। वही इंजन डेवलपर लैपटॉप, एंटरप्राइज़ फ्लीट, और रेडियो मेश पर Raspberry Pi पर चलता है।
यदि आप कोई भेद्यता पाते हैं:
security लेबल के साथ एक GitHub issue खोलें।SECURITY.md और THREAT_MODEL.md देखें।
CONTRIBUTING.md देखें।
cargo fmt --all && cargo clippy --workspace -- -D warnings && cargo test --workspace
Apache लाइसेंस 2.0. LICENSE देखें।
| गार्ड | क्या पकड़ता है |
|---|
ForbiddenPathGuard | .ssh, .env, .aws, क्रेडेंशियल स्टोर्स, रजिस्ट्री हाइव्स तक पहुँच |
PathAllowlistGuard | न्यूनतम-विशेषाधिकार वाले एजेंटों के लिए अनुमत फ़ाइल एक्सेस |
EgressAllowlistGuard | डोमेन द्वारा आउटबाउंड नेटवर्क कॉल (डिफ़ॉल्ट रूप से अस्वीकार या अनुमति सूची) |
SecretLeakGuard | फ़ाइल लेखन में AWS कुंजियाँ, GitHub टोकन, निजी कुंजियाँ, API रहस्य |
PatchIntegrityGuard | खतरनाक पैच जैसे rm -rf /, chmod 777, डिसेबल सिक्योरिटी |
ShellCommandGuard | निष्पादन से पहले खतरनाक शेल कमांड |
McpToolGuard | MCP टूल इनवोकेशन, पुष्टिकरण द्वार के साथ |
PromptInjectionGuard | अविश्वसनीय इनपुट में इंजेक्शन हमले |
JailbreakGuard | 4-परत पहचान: ह्यूरिस्टिक + सांख्यिकीय + ML + वैकल्पिक LLM जज |
ComputerUseGuard | CUA क्रियाएँ: रिमोट सत्र, क्लिपबोर्ड, इनपुट इंजेक्शन, फ़ाइल ट्रांसफर |
RemoteDesktopSideChannelGuard | CUA सत्रों में क्लिपबोर्ड, ऑडियो, ड्राइव मैपिंग, फ़ाइल ट्रांसफर |
InputInjectionCapabilityGuard | CUA वातावरण के लिए इनपुट इंजेक्शन क्षमता प्रतिबंध |
SpiderSenseGuard | पदानुक्रमित खतरा स्क्रीनिंग: वेक्टर समानता, वैकल्पिक LLM एस्केलेशन |
| प्लगइन | स्थापित करें |
|---|
| Claude Code | clawdstrike-plugin/ |
| Cursor | cursor-plugin/ |
| OpenClaw एडाप्टर | npm install @clawdstrike/openclaw (गाइड) |
| डेस्कटॉप एजेंट | apps/agent/ |
| आरंभ करना | Rust · TypeScript · Python |
| अवधारणाएँ | डिज़ाइन दर्शन · प्रवर्तन स्तर · बहुभाषा |
| संरचना गाइड | OpenAI · Claude · Vercel AI · LangChain · OpenClaw |
| संदर्भ | गार्ड · पालिसी स्कीमा · रिपो मैप |
| एंटरप्राइज़ | नामांकन गाइड · अनुकूली वास्तुकला |