Record tray applet completion and SID coverage design draft
Update the CLAUDE.md snapshot and roadmap for the merged tray applet, note the shared-checkout commit hygiene rule, and save the agreed SID drill coverage design as a draft spec. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
afbc63ffbd
commit
2d23e8b878
3 changed files with 88 additions and 1 deletions
14
CLAUDE.md
14
CLAUDE.md
|
|
@ -23,7 +23,7 @@ Primary functions:
|
|||
|
||||
## Current State Snapshot
|
||||
|
||||
As of 2026-06-16, the project is a local-first Linux IDS/IPS/EDR agent at
|
||||
As of 2026-07-04, the project is a local-first Linux IDS/IPS/EDR agent at
|
||||
package version `0.7.0`. The branch has a working stdlib-only daemon, CLI,
|
||||
HTTPS management console, incident model, response planner, rootcheck, posture
|
||||
checks, file/package integrity checks, push notification backends, and optional
|
||||
|
|
@ -70,6 +70,11 @@ Implemented investigation/response state:
|
|||
further change, identity kinds (listener/suid) retire on TTL or revoke. The
|
||||
filter runs at the daemon chokepoint, `fim-check`, and the dashboard
|
||||
integrity API.
|
||||
- An optional desktop tray applet (`enodia-sentinel-tray`, `[tray]` extra with
|
||||
pystray/Pillow) opens the dashboard, controls the daemon via systemctl, and
|
||||
runs `check --json` quick checks. Its logic modules (`tray/state.py`,
|
||||
`actions.py`, `notify.py`) are GUI-free and tested; only `tray/app.py`
|
||||
imports GUI libs, and the core agent stays stdlib-only.
|
||||
- IPS behavior is currently explicit workflow: posture hardening plus reviewed
|
||||
dry-run containment actions. There is no automatic inline blocking or silent
|
||||
host mutation yet.
|
||||
|
|
@ -109,6 +114,10 @@ Start with:
|
|||
signatures.
|
||||
- If you add config keys, update `config/enodia-sentinel.toml`, README, and the
|
||||
relevant docs.
|
||||
- Multiple agent sessions may share this checkout. Before committing, check
|
||||
`git status` for uncommitted edits you did not make; never sweep foreign
|
||||
hunks into your commit (stage only your own changes) and never stash or
|
||||
revert them.
|
||||
|
||||
## Current Architecture
|
||||
|
||||
|
|
@ -131,6 +140,9 @@ Start with:
|
|||
- `posture.py` performs advisory host hygiene checks.
|
||||
- `reconcile.py` owns the acknowledged-drift store and the `filter_alerts`
|
||||
chokepoint that suppresses operator-accepted FIM/package/listener/SUID drift.
|
||||
- `tray/` is the optional desktop tray frontend over the CLI and systemctl;
|
||||
only `tray/app.py` may import `pystray`/`PIL` (enforced by an import-guard
|
||||
test).
|
||||
|
||||
## Current Threat Mapping
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue