Skip to content

v0.3.1

Choose a tag to compare

@rosscooney rosscooney released this 07 Sep 19:17
· 7 commits to main since this release

Two new probes

Probe Observes
wifi_scan Wi-Fi access points in range — several cable implants carry a radio and run their own AP for out-of-band control. Active iw / nmcli scan at each phase boundary (never per-tick); flags APs strong enough (≥ −55 dBm) to plausibly be in the connector. Never associates.
keystroke_cadence Key-press timing per input device — the key code of every event is discarded, so it only ever learns when keys were pressed, not which. Flags superhuman speed or machine-perfect regularity as injection. Disable with probes.capture_keystroke_timing: false.

New rules: keystroke-injection-detected (critical), strong-wifi-ap-appeared-on-connect (high), plus lower-confidence variants. 20 probes, 38 rules total.

CLI: root check

cableprobe run now detects when it is not running as root, prints the exact sudo command, and — in interactive mode — asks whether to continue anyway (kernel-log, udev-attribute, USB-descriptor, keystroke-timing and raw-socket probes see much less or are skipped without privileges). --auto warns and proceeds. cableprobe check flags it too.

Quieter probe skipping

Probes whose kernel interface is absent (no Type-C class, no /sys/bus/pci, no Wi-Fi) are now dropped up front and shown as a single dim skipped: … line rather than a yellow Probe warnings block — an absent interface is expected, not a failure. New metadata.probes_unavailable field in the report.

Also

  • cableprobe --version now reflects the installed package version (was pinned at 0.1.0)
  • Test suite 57 → 124

Install / upgrade: pipx install "cableprobe==0.3.1" (or pip install --upgrade cableprobe)