
अप्रत्याशित स्वचालन के लिए OS-स्तरीय रनटाइम ऑडिटिंग।
अनपेक्षित स्वचालन के लिए OS-स्तरीय रनटाइम ऑडिटिंग।
logira एक केवल-निरीक्षण Linux CLI है जो eBPF के माध्यम से रनटाइम exec, file, और net इवेंट रिकॉर्ड करता है। यह आपको AI एजेंट रन और ऑटोमेशन के अन्य रूपों के दौरान वास्तव में क्या हुआ, यह देखने में मदद करता है, जिसमें प्रति-रन स्थानीय भंडारण ऑडिटिंग, रन के बाद समीक्षा, खोज और डिटेक्शन ट्राइएज के लिए होता है।
codex --yolo या claude --dangerously-skip-permissions)।logira में AI एजेंट रन के ऑडिट के उद्देश्य से एक राय-युक्त, केवल-निरीक्षण डिफ़ॉल्ट नियमसेट शामिल है। आप logira run --rules <file> के साथ अपने स्वयं के प्रति-रन नियम YAML भी जोड़ सकते हैं।
~/.ssh, ~/.aws, kube/gcloud/docker कॉन्फ़िग, .netrc, .git-credentials, रजिस्ट्री क्रेड्स।.netrc, .git-credentials।/etc के अंतर्गत लेखन, systemd यूनिट्स, cron, उपयोगकर्ता ऑटोस्टार्ट एंट्रीज़, शेल स्टार्टअप फ़ाइलें।/tmp, /dev/shm, /var/tmp के अंतर्गत बनाई गई एक्ज़ीक्यूटेबल फ़ाइलें।curl|sh, wget|sh, टनलिंग/रिवर्स शेल टूल्स और फ्लैग्स, शेल संकेतों के साथ base64 डिकोड।rm -rf, , , , , और समान कमांड।विकल्प 1. सुविधाजनक स्क्रिप्ट के माध्यम से इंस्टॉल करें:
curl -fsSL https://raw.githubusercontent.com/melonattacker/logira/main/install.sh | sudo bash
विकल्प 2. रिलीज़ टारबॉल से मैन्युअल इंस्टॉल:
tar -xzf logira_vX.Y.Z_linux-<arch>.tar.gz
cd logira_vX.Y.Z_linux-<arch>
sudo ./install-local.sh
पुनः इंस्टॉल/अपग्रेड के बाद:
install.sh systemctl enable --now चलाता है)।logirad को पुनरारंभ करें।sudo systemctl daemon-reload
sudo systemctl restart logirad.service
sudo systemctl status logirad.service --no-pager
बिल्ड:
make build
रूट डेमॉन प्रारंभ करें (ट्रेसिंग के लिए आवश्यक):
sudo ./logirad
रूट डेमॉन को बैकग्राउंड में चलाने के लिए, packaging/systemd/logirad.service से यूनिट फ़ाइल इंस्टॉल करें।
# 1) Generate eBPF objects (only needed if missing)
make generate
# 2) Install the systemd unit
sudo install -D -m 0644 packaging/systemd/logirad.service /etc/systemd/system/logirad.service
# 3) Install the daemon binary (unit defaults to /usr/local/bin/logirad)
sudo install -m 0755 ./logirad /usr/local/bin/logirad
# 4) (Recommended) Point systemd at the eBPF .o files via an environment file.
# This avoids relying on the service working directory.
sudo mkdir -p /etc/logira
sudo tee /etc/logira/logirad.env >/dev/null <<'EOF'
LOGIRA_EXEC_BPF_OBJ=/absolute/path/to/collector/linux/exec/trace_bpfel.o
LOGIRA_NET_BPF_OBJ=/absolute/path/to/collector/linux/net/trace_bpfel.o
LOGIRA_FILE_BPF_OBJ=/absolute/path/to/collector/linux/filetrace/trace_bpfel.o
EOF
# 5) Enable + start
sudo systemctl daemon-reload
sudo systemctl enable --now logirad
# Follow logs
sudo journalctl -u logirad -f
# Check status
systemctl status logirad --no-pager
# Stop + disable
sudo systemctl stop logirad
sudo systemctl disable --now logirad
एजेंट को अपने सामान्य उपयोगकर्ता के रूप में ऑडिट के तहत चलाएं (इवेंट स्वतः सहेजे जाते हैं):
./logira run -- bash -lc 'echo hi > x.txt; curl -s https://example.com >/dev/null'
./logira run --rules ./my-rules.yaml -- bash -lc 'cat ~/.aws/credentials >/dev/null'
Codex CLI चलाएं:
./logira run -- codex --yolo "Update the README to be clearer and add examples."
Claude Code CLI चलाएं:
./logira run -- claude --dangerously-skip-permissions "Find and fix flaky tests."
रन सूचीबद्ध करें:
./logira runs
अंतिम रन देखें और समझाएं:
./logira view last
./logira view last --ts both
./logira view last --color always
./logira explain last
./logira explain last --show-related
./logira explain last --drill 35
इवेंट क्वेरी करें:
./logira query last --type detection
./logira query last --type net --dest 140.82.121.4:443
./logira query last --related-to-detections --type net
./logira query last --contains curl
logira run -- <command...>: एक कमांड को ऑडिट के तहत चलाएं और एक नया रन स्वतः सहेजेंlogira runs: सहेजे गए रन सूचीबद्ध करेंlogira view [last|<run-id>]: रन डैशबोर्ड (पुराने टेक्स्ट के लिए --raw का उपयोग करें)logira query [last|<run-id>] [filters...]: टाइप-विशिष्ट तालिका आउटपुट के साथ इवेंट खोजेंlogira explain [last|<run-id>]: समूहीकृत डिटेक्शन डिफ़ॉल्ट रूप से (--show-related, --drill)नियम:
internal/detect/rules/default_rules.yaml)logira run --rules <yaml-file> के साथ जोड़े जा सकते हैंexamples/rules/README.md--watch केवल विरासत संगतता के लिए हैडिफ़ॉल्ट होम निर्देशिका: ~/.logira (ओवरराइड: LOGIRA_HOME)
प्रत्येक रन यहाँ संग्रहीत है:
~/.logira/
runs/<run-id>/
events.jsonl
index.sqlite
meta.json
run-id प्रारूप: YYYYMMDD-HHMMSS-<tool>
docs/jsonl.mddocs/sqlite.mddocs/rules.mddocs/development.mdlogirad systemd के तहत चलने की अपेक्षा की जाती है)।logira status से जाँचें)।logirad का चलना आवश्यक है; logira run को स्वयं sudo की आवश्यकता नहीं है।LOGIRA_EXEC_BPF_OBJ / LOGIRA_NET_BPF_OBJ / LOGIRA_FILE_BPF_OBJ सेट करें।इंस्टॉलर ये रखता है:
/usr/local/bin/logira, /usr/local/bin/logirad/usr/local/lib/logira/bpf//etc/systemd/system/logirad.service/etc/logira/logirad.env (LOGIRA_EXEC_BPF_OBJ, LOGIRA_NET_BPF_OBJ, LOGIRA_FILE_BPF_OBJ सेट करती है)Apache लाइसेंस 2.0. विवरण के लिए LICENSE देखें।
collector/linux/ के अंतर्गत eBPF प्रोग्राम दोहरे-लाइसेंस प्राप्त हैं: Apache-2.0 या GPL-2.0-केवल।
यह Linux कर्नेल के साथ संगतता सुनिश्चित करता है जब eBPF प्रोग्राम लोड करते हैं जिन्हें GPL-केवल हेल्पर्स की आवश्यकता होती है।
git clean -fdxfind -deletemkfsterraform destroy