Commit Graph

18 Commits

Author SHA1 Message Date
Binh 6570d6d64c 2.22.0: BSI Grundschutz++ derived from ISO mappings
Compliance Engine stage 1 for BSI Grundschutz++ (Kernel requirements only):
- Pinned snapshots of the BSI Kernel catalog and the official ISO 27001
  Annex A -> Grundschutz++ mapping with source URL, SHA-256 and CC BY-SA
  attribution, generated by server/compliance/update-bsi-assets.mjs.
- Requirements are derived from accepted ISO controls, never stored as
  decisions; missing mapping targets are reported.
- Client Info Compliance tab: BSI Grundschutz++ tile and Results window.
- Finding Reader: collapsed BSI requirements section grouped by ISO control.
- Work: BSI requirement and BSI practice facets.
- Data Hub: BSI catalog tile with Update from BSI and Use bundled catalog;
  new outbound target documented in SECURITY.md.
2026-10-14 11:54:47 +02:00
Binh c0afbb14e0 2.18.0: Compliance Engine for ISO control mapping
Extract the regulatory ISO control mapping from the Core into the
Compliance Engine (src/compliance, server/compliance, tests/compliance).

- Fix ISO mapping after the Result DB privacy merge: look up a finding's
  Result DB row scoped to its project instead of comparing a stripped
  project id.
- Engine reads the Core only through ComplianceReadPort and writes only
  its own ComplianceStore (existing migration 026 tables, own pool);
  engine writes no longer advance the Core revision.
- Engines popup gains Compliance Engine; switched off it shows nothing
  and sends no requests. Permanent on/off invariance test.
- Map ISO controls opens a window like Accepted Risk; accepted controls
  appear as an ISO controls section in the Finding Reader and as tiles
  below the Context heatmap in Client Info (drill-down into Work).
- First two proposals of a finished mapping are accepted automatically
  (provisional user decision); existing decisions are never overridden.
- Activity log names Compliance Engine work, keeps running mappings,
  batches and corpus embedding until the backend ends them, and no
  longer logs repeated status checks.
- Data Flow diagram shows the Compliance Engine.
- Core guard treats a bare engine folder name as engine path; new guard
  area test.
2026-10-14 11:53:35 +02:00
Binh 7ac6c9c35a feat(profiles): add Microsoft Defender for IoT Alerts profile
Adapted pick of fdd46e8: recognition, source extractor, domain model and
tool profile for Defender for IoT alert exports, the common-description
first read with its AGENTS.md rule, and the shared markdown, recognition,
status-outcome and scan-sequence changes.

Also brings forward two fixes Defender needs on this base: the title
fallback in recordTitleFor (from 210bbc0) and the Source Rule ID
exception for ID columns that are the finding title (from 21a6266).

Product version 2.12.0 for the Defender series.
2026-10-14 11:52:33 +02:00
Binh 8fab1ddade feat: scoped risk acceptance for Defender devices
Adapted pick of d9ff6a8: device-finding and device-snapshot targets with
immutable snapshots, migration 028, repositories, API, Defender panel,
Finding Reader and the Accepted Risks register.

Unlike the original, the register keeps the base rule for its current
count, and a scoped decision covers only the occurrences it captured.
After a reimport it stays with its full history, shows Review required
and covers nothing, like a whole-finding acceptance.
2026-10-14 11:52:32 +02:00
Binh 61e3b91427 feat(defender-for-iot): dashboard layout and outcome marking
Adapted pick of 08771d5. findingOutcomeMark supplies the outcome mark in
the Work card and the Finding Reader header, including sources without a
status column. The Defender panel uses the Client Info header and a
six-column metrics row.

Unlike the original, tiles stay on the shared tile and text tokens
instead of --client-info-* colours, border: 0 and --btn-radius.
2026-10-14 11:52:00 +02:00
Binh 426a138e55 feat(defender-for-iot): aggregate affected devices in findings
Partial pick of 5fbbda2. One finding per CVE with an Affected Devices
table and device count; the Finding Reader hides the raw Source
Observations field.

Left out: the Affected Devices label in the Result DB row detail, since
the disclosure policy withholds affectedAsset for every row.
2026-10-14 11:51:31 +02:00
Binh 0cd828285d feat(regulatory): map GPO baseline comparisons to ISO controls
policy-evaluation rows map like scanner findings in the Finding Reader and the filtered Result DB batch. The query is built after the Result DB disclosure projection, so the customer value never reaches retrieval or the mapper. The global rule key is the technical setting ID; Work GPO rows carry their current comparison ID. Raw GPO and environment observations stay excluded. Retrieval version unchanged.
2026-10-14 11:51:27 +02:00
Binh 828793af3d feat: add regulatory mapping panel and hooks for managing regulatory mappings 2026-10-14 11:51:26 +02:00
Michael 563ad43f9c WP Tab mit export + Security Export 2026-10-13 09:05:26 +02:00
Michael 614ac1b147 Backup 2026-10-11 03:33:25 +02:00
Michael ec0d9f2d3e Context Engine + Backup Commit - not ready yet! 2026-10-01 18:05:02 +02:00
Michael add2aceb1d 2.8.6: reference recognition, scanner report first read and CIS section titles
Reference recognition (Phase 13D, 2.8.0-2.8.5):
- ATT&CK 19.2 / D3FEND 1.6.0 catalogs, versioned recognizer and
  append-only reference runs (migration 023), catalog references in the
  reader, Data Hub status and reprocessing, MITRE online update.

Scanner report and Work (2.8.6):
- Resolve scope-named Purple Knight runs to their profile via runNames.
- Maester "Remediation action" section as next step; PowerShell scripts
  as command blocks with display-only line layout.
- Purple Knight likelihood without the appended references section.
- CIS section titles from the run's own report in the CIS Category
  filter, Work headings and badge tooltips.
- Keep all record metadata when GPO results rebuild All Records
  (withRebuiltLayout) with a guard test for future metadata.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 20:12:33 +02:00
Michael a5262f19f5 neuer Goldstandart :) 2026-09-25 21:33:12 +02:00
Michael 83284c2183 Bug Fix Result DB 2026-09-23 13:53:40 +02:00
Michael cdd93fe9e8 Abtrennung zu neuem Datenmodell 2026-09-21 09:10:54 +02:00
Michael dd92aa26d0 GPO Implementierung Testbereit 2026-09-06 20:54:33 +02:00
Michael a5331de771 UI Anpassung- PK + PC HTML Import implementiert
Deploy / Test, build & deploy (push) Successful in 2m3s Details
2026-08-26 08:29:00 +02:00
Tronth c473b0c94e Initial import 2026-08-24 09:16:16 +02:00