secubox-deb/docs/superpowers/specs
CyberMind 62e8631f2b
feat(sentinel): C2/botnet auto-learning — high-precision, report-only (Closes #826) (#827)
* docs: spec — Sentinel C2/botnet auto-learning (high-precision, report-only) (ref #823)

* docs: implementation plan — Sentinel C2/botnet auto-learning (ref #823)

* feat(sentinel): C2 autolearn false-positive allowlist gate (ref #826)

* fix(sentinel): serialize c2allow Add + robust atomicWriteFile (relative-path + temp cleanup) (ref #826)

* feat(sentinel): C2 autolearn corroborating signals (rare/non-browser-JA/DGA) (ref #826)

* feat(sentinel): C2 autolearn candidate lifecycle + persistence (ref #826)

* fix(sentinel): c2cand deep-copy snapshots (persist/snapshot/record race) + evict order + device cap (ref #826)

* feat(sentinel): C2 autolearn orchestrator — learned set + report-only verdicts (ref #826)

* feat(sentinel): wire C2 learner into daemon + /c2 endpoints + seeded allowlist (ref #826)

* fix(sentinel): make /c2/allow writable in packaged deploy (RW path + ownership) + sanitize Add (ref #826)

POST /c2/allow could never write in production: sbx-sentinel.service runs
User=secubox-toolbox under ProtectSystem=strict + ReadOnlyPaths=/etc/secubox,
and the seeded c2-allow.txt ships root:root. Fix both halves: nest
ReadWritePaths=/etc/secubox/sentinel under the existing ReadOnlyPaths=/etc/secubox
in the unit, and chown/chmod 0750 the sentinel/ subdir + file (never the shared
/etc/secubox parent) in postinst's configure branch, fail-safe.

Also: fix the /c2/allow doc comment (form/query only, not JSON — r.FormValue
never parses a body), and sanitize C2Allow.Add against newline injection now
that host is network-reachable.

* feat(toolbox): WebUI C2 appris sub-view + Ignorer allowlist proxy (ref #826)

* fix(toolbox): C2 view XSS (data-host not onclick) + normalize candidate signal maps (ref #826)

* fix(sentinel): bound c2 beaconing/learned maps + drop promoted from candidates + reject bare-TLD allow (ref #826)

---------

Co-authored-by: CyberMind-FR <gandalf@Gk2.net>
2026-07-07 07:46:19 +02:00
..
2026-04-21-eye-remote-integration-design.md
2026-04-23-eye-remote-bootstrap-design.md
2026-04-24-eye-remote-touchscreen-controller-design.md
2026-04-26-eye-remote-swiss-army-design.md
2026-05-02-haproxy-webui-enhancement-design.md
2026-05-03-mitmproxy-waf-migration-design.md
2026-05-05-openwrt-to-debian-migration-design.md
2026-05-10-meta-script-generator-design.md
2026-05-11-secubox-apt-clone-design.md
2026-05-12-apt-public-repo-staging-design.md docs(apt): Add public repo staging design (ref #80) 2026-05-12 09:02:51 +02:00
2026-05-12-gitea-repair-design.md docs(gitea): Add design spec for Gitea repair (ref #49, refs #91) 2026-05-12 12:35:34 +02:00
2026-05-12-license-headers-design.md docs(spec): CMSD-1.0 license headers across the codebase 2026-05-12 09:10:37 +02:00
2026-05-12-metablog-gitea-ingest-design.md docs(metablog): Design spec for Gitea ingest of 166 sites (ref #94) 2026-05-12 15:10:05 +02:00
2026-05-12-metablog-site-schema-design.md docs(metablog): Design spec for site.json schema + version metadata (ref #101) 2026-05-12 17:06:00 +02:00
2026-05-12-metablog-version-dashboard-design.md docs(metablog-ui): Design spec for version dashboard (ref #103) 2026-05-12 18:43:34 +02:00
2026-05-12-multi-agent-worktree-workflow-design.md docs(plan): multi-agent worktree workflow design (ref TBD) 2026-05-12 09:45:26 +02:00
2026-05-12-opad-doctrine-design.md docs(opad): Add OPAD doctrine design specification 2026-05-12 08:39:42 +02:00
2026-05-12-ssl-health-banner-design.md docs(spec): SSL certificate health in Health Banner 2026-05-12 10:24:17 +02:00
2026-05-12-streamlit-gitea-version-pinning-design.md docs(streamlit): Design spec for Gitea version pinning (ref #95) 2026-05-12 16:29:34 +02:00
2026-05-12-visitor-origin-feed-design.md Health banner: live panel (visitor-origin + live-hosts + cert-status) (#98) 2026-05-12 16:27:56 +02:00
2026-05-12-webui-obfuscation-design.md WebUI Obfuscation - admin.HOSTNAME.secubox.in Only (#96) 2026-05-12 14:07:11 +02:00
2026-05-13-eye-square-phase3-python-kiosk-design.md docs(remote-ui): Phase 3 design spec — Pillow+framebuffer Pi 4B/400 kiosk (ref #127) 2026-05-13 16:53:36 +02:00
2026-05-13-eye-square-variant-design.md docs(remote-ui): add Pi 400 as a supported target for square/ (ref #127) 2026-05-13 11:02:27 +02:00
2026-05-13-metablog-deploy-webhook-design.md docs(metablog-webhook): Design spec for deploy webhook (ref #113) 2026-05-13 07:31:20 +02:00
2026-05-13-secubox-users-auth-design.md docs: auth rework design — secubox-users as identity source + TOTP 2FA (ref #120) 2026-05-13 07:53:45 +02:00
2026-05-13-task18-regression-gate-report.txt feat(remote-ui): Phase 1 — extract common/ shared core (ref #127) 2026-05-14 05:59:40 +02:00
2026-05-14-converged-dashboard-design.md docs(remote-ui): converged dashboard design spec (ref #135) 2026-05-14 09:57:21 +02:00
2026-05-15-mail-phase2-rspamd-design.md docs: Phase 2 spec — Rspamd migration (single-domain DKIM, no ClamAV) 2026-05-15 16:24:25 +02:00
2026-05-15-mail-stack-architecture-design.md docs: Phase 0 spec rev. 3 — three-LXC topology (mail / roundcube / horde) 2026-05-16 11:10:39 +02:00
2026-05-16-eye-remote-multi-gadget-dhcp-pairing-design.md feat(eye-remote): multi-gadget DHCP on eye-br0 — Phase 1 (#161) 2026-05-17 06:04:54 +02:00
2026-05-18-dropletctl-design.md feat(droplet): static-publisher CLI dropletctl — port from OpenWrt (closes #196) (#199) 2026-05-19 06:20:02 +02:00
2026-05-20-secubox-iot-hub-webui.md docs(superpowers): capture 3 specs from operator drop 2026-05-20 2026-05-20 12:54:22 +02:00
2026-05-20-secubox-sentinelle-gsm.md fix(lxc-modules): 9 board-deployment fixes for grafana/yacy/rustdesk install-lxc.sh + nginx wiring (#238) 2026-05-20 09:21:48 +02:00
2026-05-20-secubox-sso-bridge.md docs(superpowers): capture 3 specs from operator drop 2026-05-20 2026-05-20 12:54:22 +02:00
2026-05-20-secubox-wall-ep06.md fix(lxc-modules): 9 board-deployment fixes for grafana/yacy/rustdesk install-lxc.sh + nginx wiring (#238) 2026-05-20 09:21:48 +02:00
2026-05-20-secubox-zigbee-mqtt-iot-stack.md docs(superpowers): capture 3 specs from operator drop 2026-05-20 2026-05-20 12:54:22 +02:00
2026-06-16-security-posture-rewrite-design.md docs: security-posture v2 rewrite design spec (ref #617) 2026-06-16 14:25:57 +02:00
2026-06-16-toolbox-ttfb-stream-inject-design.md docs: toolbox TTFB stream-inject design spec (ref #620) 2026-06-16 21:46:16 +02:00
2026-06-17-anti-track-v2-plan2a-learning-design.md docs: Anti-Track v2 Plan 2a learning design (cookie-xsite + pure-promote) (ref #633) 2026-06-17 12:04:41 +02:00
2026-06-17-anti-track-v2-plan2b-dns-design.md docs: Anti-Track v2 Plan 2b-DNS design (unbound NXDOMAIN, live-verified topology) (ref #633) 2026-06-17 13:39:57 +02:00
2026-06-17-anti-track-v2-plan2b-enforcement-design.md docs: Anti-Track v2 Plan 2b enforcement design (DNS-refuse + exclusive-IP nft-drop) (ref #633) 2026-06-17 12:49:21 +02:00
2026-06-17-anti-track-v2-plan2c-bypass-seed-design.md docs: amend Plan 2c spec — missing /list endpoint is the real bug; seed exists inline (ref #633) 2026-06-17 13:59:08 +02:00
2026-06-17-anti-track-v2-plan2d-social-top5-design.md docs: Anti-Track v2 Plan 2d #social top-5 design (ref #633) 2026-06-17 14:45:36 +02:00
2026-06-17-anti-tracking-v2-design.md docs: anti-tracking v2 design — layered block/poison/anonymize 2026-06-17 15:15:28 +02:00
2026-06-17-banner-stream-inject-csp-r3-fix-design.md docs: #636 amend — retract Bug2 (R3 report-url correct); real residual is bundle cache key (ref #636) 2026-06-17 14:32:49 +02:00
2026-06-17-haproxy-vhost-auto-discovery-design.md docs: spec for HAProxy complete dynamic vhost auto-discovery (landed for later) 2026-06-17 08:49:29 +02:00
2026-06-17-social-ip-literal-fix-design.md docs: #642 social IP-literal fix design + plan (ref #642) 2026-06-17 16:58:28 +02:00
2026-06-17-toolbox-clients-reset-all-and-emojis-design.md docs: #clients reset-all (#634) + device/geo emojis (#635) design (ref #634) 2026-06-17 15:58:46 +02:00
2026-06-18-ad-intelligence.md docs: spec for Ad Intelligence — learn/act/measure + #ads tab (#656) 2026-06-18 13:04:53 +02:00
2026-06-18-hub-dashboard-latency-design.md docs: spec + plan for hub dashboard latency fix (ref #644) 2026-06-18 08:45:31 +02:00
2026-06-18-mitm-engine-migration-analysis.md feat(#662 Phase 1): MITM-engine migration analysis + phased plan + compiled/tested Go forging-MITM PoC 2026-06-18 17:07:48 +02:00
2026-06-18-mitm-engine-phase2-bench.md feat(#662 Phase 2b): parallel handshake bench — Go core scales 3.4x at 4 cores (multi-core gate settled) 2026-06-18 17:23:23 +02:00
2026-06-18-toolbox-selective-sni-splice.md docs: spec for toolbox selective SNI-splice (Lever A, #649) 2026-06-18 11:04:26 +02:00
2026-06-18-waf-engine-migration-analysis.md docs: WAF engine migration feasibility analysis (Coraza+CRS via HAProxy SPOA) (ref #662) 2026-06-18 22:31:12 +02:00
2026-06-19-kbin-tor-anonymized-surfing-design.md feat(toolbox): kbin Tor egress quick-switch — switch + tunnel, DARK (ref #683) 2026-06-19 12:19:52 +02:00
2026-06-26-cookies-crosssite-trackers-design.md docs(cookies): design spec — cross-site tracker detection surface (ref #749) 2026-06-26 17:58:36 +02:00
2026-06-26-waf-go-sbxwaf-design.md docs(spec): WAF→Go bench targets to >5×/p99<⅓, blocking go/no-go (ref #744) 2026-06-26 11:52:44 +02:00
2026-06-27-nft-based-network-stats-design.md docs(netstats): design spec — nft-based network stats dashboard (ref #758) 2026-06-27 10:14:23 +02:00
2026-06-27-sw-neuter-targeted-autolearn-design.md docs(toolbox-ng): design spec — targeted SW-neuter for the R3 banner (ref #753) 2026-06-27 08:13:13 +02:00
2026-06-29-gondwana-phase1-mesh-substrate-design.md docs(gondwana): rendezvous-as-role + per-node DDNS + distributed directory 2026-06-29 10:33:19 +02:00
2026-06-29-secubox-appstore-module-manager-sketch.md docs(appstore): SecuBox App Store + Module Composer architecture sketch + GPT prompt 2026-06-29 13:09:15 +02:00
2026-06-30-annuaire-miroir-trust-substrate-design.md docs(annuaire): Annuaire·Miroir — federated self-certifying trust-substrate design 2026-06-30 06:27:09 +02:00
2026-06-30-macro-subsystem-tor-exit-design.md docs(macro): M2 design spec — macro subsystem + tor-exit reference kind (secubox-macro) 2026-06-30 17:15:44 +02:00
2026-06-30-p2p-annuaire-service-registry-design.md docs(p2p): design spec — p2p Service Registry as live view of annuaire catalog (M1) + deferred macro subsystem 2026-06-30 11:41:54 +02:00
2026-07-02-p2p-dht-federation-masterlink-design.md secubox-p2p: Kademlia DHT + federation health-checks + hierarchical master-link (#774) (#775) 2026-07-03 06:59:35 +02:00
2026-07-02-toolbox-cert-mismatch-warn-design.md docs(spec): toolbox cert-mismatch warn-and-allow (no 502) design 2026-07-02 10:04:49 +02:00
2026-07-03-rapport-kbin-media-types-design.md Rapport kbin fidèle (PDF donut-grids + media types) + WebUI DPI + incident hardening (#787) 2026-07-03 12:27:28 +02:00
2026-07-03-secubox-proxypac-mesh-routing-design.md feat(proxypac): WPAD/PAC auto-config routing to active mesh services (Closes #784) (#788) 2026-07-03 11:57:26 +02:00
2026-07-04-media-buffer-design.md feat: SecuBox Media Buffer Phase 1 — dashcam capture + replay + metatag lifecycle (#814) 2026-07-04 18:15:58 +02:00
2026-07-04-mesh-federate-exclusion-lists-design.md docs(spec): mesh-federate toolbox exclusion lists (#806) 2026-07-04 17:01:16 +02:00
2026-07-04-pdf-character-sheet-design.md PDF report: rich character sheet + route parity + real Quêtes (#794) 2026-07-04 06:31:30 +02:00
2026-07-04-peertube-webui-admin-ops-design.md PeerTube WebUI: admin reset-password + version check/upgrade (#800) 2026-07-04 10:12:08 +02:00
2026-07-04-vhost-exposure-switch-design.md docs(spec): per-vhost exposure switch (localhost/LAN/WAN + mesh/Tor) design (ref #793) 2026-07-04 06:24:58 +02:00
2026-07-06-frigate-foundation-design.md feat(frigate): Frigate NVR Foundation — podman-in-LXC on amd64 + /api/v1/frigate shim (#821) (#822) 2026-07-06 11:53:20 +02:00
2026-07-06-sbxmitm-sentinel-design.md feat(sentinel): sbxmitm Sentinel — inline+async exploit/malware/spyware detection engine (#823) (#824) 2026-07-06 15:53:21 +02:00
2026-07-06-sentinel-activation-toolbox-tab-design.md feat(toolbox): activate Sentinel + surface compromise detections (WebUI tab · kbin report · PDF) — ref #823 (#825) 2026-07-06 17:39:42 +02:00
2026-07-07-sentinel-c2-autolearn-design.md feat(sentinel): C2/botnet auto-learning — high-precision, report-only (Closes #826) (#827) 2026-07-07 07:46:19 +02:00