
تدقيق وقت التشغيل على مستوى نظام التشغيل للأتمتة غير المتوقعة.
تدقيق على مستوى نظام التشغيل في وقت التشغيل للأتمتة غير المتوقعة.
logira هي واجهة سطر أوامر لينكس للمراقبة فقط تسجل أحداث exec و file و net في وقت التشغيل عبر eBPF. تساعدك على رؤية ما حدث بالفعل أثناء تشغيل وكلاء AI وأشكال أخرى من الأتمتة، مع تخزين محلي لكل تشغيل للتدقيق والمراجعة بعد التشغيل والبحث وفرز الاكتشافات.
codex --yolo أو claude --dangerously-skip-permissions).تتضمن logira مجموعة قواعد افتراضية مدروسة للمراقبة فقط تهدف إلى تدقيق تشغيل وكلاء AI.
يمكنك أيضًا إضافة قواعد YAML الخاصة بكل تشغيل باستخدام logira run --rules <file>.
~/.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 "قم بتحديث README ليكون أكثر وضوحًا وأضف أمثلة."
شغل Claude Code CLI:
./logira run -- claude --dangerously-skip-permissions "ابحث عن الاختبارات غير المستقرة وأصلحها."
سرد التشغيلات:
./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 للتفاصيل.
برامج eBPF تحت collector/linux/ مرخصة بشكل مزدوج: Apache-2.0 أو GPL-2.0-only.
يضمن ذلك التوافق مع نواة لينكس عند تحميل برامج eBPF التي تتطلب مساعدات GPL فقط.
git clean -fdxfind -deletemkfsterraform destroy