Commit Graph

23 Commits

Author SHA1 Message Date
BlackSnufkin fb52b1432e Add Fibratus EDR profile + dashboard cache + GrumpyCats package split
Fibratus EDR profile (kind: fibratus). Pull-from-event-log model, same
shape DetonatorAgent's FibratusEdrPlugin.cs uses: operator configures
Fibratus on the EDR VM with alertsenders.eventlog: {enabled: true,
format: json}; rule matches land in the Application log. Whiskers gains
GET /api/alerts/fibratus/since which wevtutil-queries the log,
extracts <TimeCreated SystemTime> + <EventID> + <Data>, ships the raw
JSON blobs back. The new FibratusEdrAnalyzer mirrors Elastic's
two-phase shape — Phase 1 exec, Phase 2 polls Whiskers — and normalizes
Fibratus's actual schema (events[].proc.{name,exe,cmdline,parent_name,
parent_cmdline,ancestors} + bare tactic.id/technique.id/subtechnique.id
labels) into the saved-view renderer's dict.

Whiskers /api/info now reports telemetry_sources: ['fibratus'] when
fibratus.exe is at C:\Program Files\Fibratus\Bin\, so the
orchestrator can preflight before dispatching. wevtutil's single-quoted
attribute output is parsed correctly.

Dashboard reachability cache (services.edr_health). 30s TTL +
background poller every 15s. Per-probe timeouts dropped 4s/5s -> 2s.
First load post-boot waits at most one probe cycle; every subsequent
load <5ms (cache hit).

GrumpyCats package split: 1085-line monolith into:
  grumpycat.py      — orchestrator (14 lines)
  cli/              — parser, handlers, runner
  litterbox_client/ — base + per-domain mixins (files, analysis,
                       doppelganger, results, edr, reports, system)
                       composed into LitterBoxClient.
LitterBoxMCP.py rewires its one import. New CLI subcommand
fibratus-alerts and matching MCP tool fibratus_alerts_since pull
Fibratus alerts via a LitterBox passthrough endpoint
(/api/edr/fibratus/<profile>/alerts/since) for wire-checking the agent
without dispatching a payload.

CHANGELOG updated.
2026-04-30 05:28:54 -07:00
BlackSnufkin 36eab29536 Add Elastic EDR integration (Whiskers agent + orchestrator) 2026-04-29 14:57:38 -07:00
BlackSnufkin 5759d76296 Maximize RedEdr telemetry extraction 2026-04-29 03:40:59 -07:00
BlackSnufkin 9ee58ad618 Tidy UI shell and fix scope-mismatched detection counts on summary pages
Shell:
- Brand (logo + name) moves from sidebar header into the titlebar so the
  top-left reads `[logo] LitterBox | <breadcrumb>` instead of having two
  separate brand strips.
- The bottom IDE-style status bar is removed; it duplicated the
  sidebar-foot status indicator. The sidebar foot now also shows the
  version on the right (`[dot] Active                v5.0.0`).
- Titlebar height bumped 36 → 44px and the brand mark to 28px so the
  logo has breathing room and balances the wordmark.
- file_info header: Back / Static Analysis / Dynamic Analysis buttons
  consolidated into the panel header on the right. Dynamic gets a
  yellow border to flag that it executes the payload.

Bug fix:
- /results/<hash>/static was rendering YARA as "Suspicious" with a
  matching count even when the static scan returned zero matches. Cause:
  RouteHelpers.get_detection_counts(data) prefers `dynamic_results` if
  any dynamic scan exists, so the static page was rendering its row
  count from the dynamic scope while the row's match list came from the
  static scope. render_analysis_info now extracts counts from the actual
  analysis_results being rendered.

Misc:
- Drop unused .lb-tb-right, .lb-tb-version, .lb-sidebar-brand, and all
  .lb-statusbar* rules from style.css; remove dead statusbar_left block
  override in error.html.
- Bump app version to 5.0.0 in Config/config.yaml.
2026-04-28 03:30:01 -07:00
BlackSnufkin e3d286163e LitterBox v4.1.0 2025-09-06 12:33:45 -07:00
BlackSnufkin 01df8eb099 LitterBox v4.1.0 2025-09-02 07:36:52 -07:00
BlackSnufkin 061a697e27 LitterBox v4.0.0 2025-08-21 05:37:31 -07:00
BlackSnufkin b544d8f5b9 LitterBox v4.0.0 2025-08-19 09:40:05 -07:00
BlackSnufkin 2bf6eb3c49 LitterBox v3.2.0 2025-05-29 06:20:10 -07:00
BlackSnufkin 8d7d36c5ad LitterBox v3.1.0 2025-05-22 09:22:37 -07:00
BlackSnufkin 9c7d0426de LitterBox v3.0.1 2025-05-20 13:56:56 -07:00
BlackSnufkin ab59ac7ff2 LitterBox v2.5.0 2025-02-16 15:32:12 -08:00
BlackSnufkin 06343ad784 LitterBox v2.5.0 2025-02-16 14:52:10 -08:00
BlackSnufkin edf503bbe2 LitterBox v2.0.0 2025-02-07 15:55:46 -08:00
BlackSnufkin 4b3715bae6 LitterBox v1.6.1 2025-01-28 07:14:06 -08:00
BlackSnufkin 3af82c562d LitterBox v1.6.1 2025-01-27 07:02:05 -08:00
BlackSnufkin 11ee5ddde3 LitterBox v1.6.0 2025-01-26 12:56:03 -08:00
BlackSnufkin 23dd88339d LitterBox v1.5.1 2025-01-25 14:03:44 -08:00
BlackSnufkin a1f71f0e4e LitterBox v1.5 RedEdr Scanner 2025-01-11 06:17:59 -08:00
BlackSnufkin c760185900 LitterBox v1.2.1 debugg enable 2025-01-06 05:38:54 -08:00
som3canadian c309f08114 implemented results folder 2025-01-03 19:25:12 -05:00
BlackSnufkin 39f834b565 LitterBox v1.0 2024-12-29 03:09:57 -08:00
BlackSnufkin 3c07874abc LitterBox v1.0 2024-12-27 05:02:19 -08:00