Diogo Ortega
|
e712faadb9
|
security: fix remaining gaps in WhatsApp remediation
- Heartbeat now requires explicit target by default (throws error)
- Empty automation.recipients blocks all automation sends
- Send logging shows correct resolution source (explicit/directory/fallback)
- Delivery context has 24h TTL and clears on channel logout
- Legacy WhatsApp adapter now has automation checks
- Request logging for all send operations
- First-time recipient warnings
- Dry-run mode support (CLAWDBOT_DRY_RUN=true)
- Security documentation added
|
2026-01-27 12:24:20 +00:00 |
|
Diogo Ortega
|
fc379a1332
|
security: WhatsApp incident remediation fixes
FIX-1.1: Enforce outbound allowlist for explicit WhatsApp sends
- Added allowlist validation in explicit mode in resolveTarget
- Added --allow-unlisted CLI flag for emergency overrides
- Groups always allowed (no allowlist check needed)
FIX-1.4: Heartbeat delivery hard-gating
- Added requireExplicitTarget config option for heartbeat
- When enabled, heartbeat delivery requires explicit to parameter
- Returns channel: 'none' with reason: 'require-explicit' otherwise
FIX-3.2: Delivery context trust boundary
- Added isSenderTrustedForDeliveryContext() helper
- Only update delivery context from allowlisted senders
- Prevents untrusted inbound from setting routing targets
Tests: All new tests passing (targets: 25/25, delivery-context: 10/10)
|
2026-01-27 12:23:31 +00:00 |
|
Peter Steinberger
|
458e731f8b
|
fix: newline chunking across channels
|
2026-01-25 04:11:36 +00:00 |
|
Adam Holt
|
c07949a99c
|
Channels: add per-group tool policies
|
2026-01-24 05:49:39 +00:00 |
|
Peter Steinberger
|
ee6e534ccb
|
refactor: route channel runtime via plugin api
|
2026-01-18 11:01:16 +00:00 |
|
Peter Steinberger
|
c5e19f5c67
|
refactor: migrate messaging plugins to sdk
|
2026-01-18 08:54:00 +00:00 |
|