# Telegram 告警可讀性防退化 Guard | 項目 | 內容 | |------|------| | 日期 | 2026-06-19 | | 狀態 | `telegram_alert_readability_guard_ready_no_runtime_action` | | 工具 | `scripts/security/telegram-alert-readability-guard.py` | | Snapshot | `docs/security/telegram-alert-readability-guard.snapshot.json` | | runtime gate | `0` | ## 1. 目的 這個 guard 鎖住 Telegram 告警的最後出口格式,避免監控訊息又退回「整段 process list、raw JSON、內網 IP、完整路徑、URL、token 或外部掃描原文直接丟到群組」的狀態。 告警不是送出就算完成。IwoooS 的告警必須能讓值班者一眼看懂: 1. 事件嚴重度與 target。 2. AI 自動化 lane 與 gate。 3. top evidence 的脫敏摘要。 4. 建議下一步。 5. 禁止事項與 `runtime_write_gate=0` 邊界。 ## 2. 固定合約 | 合約 | 固定值 | |------|--------| | source formatter markers | `11` | | 最後出口合約 | `3` | | 測試合約 | `11` | | AIOps signal lanes | `7` | | Host resource lanes | `6` | | raw output 阻擋 marker | `12` | | required output marker | `6` | 目前 guard 會確認: - `TelegramGateway._send_request()` 必須套用 `normalize_telegram_send_message_payload()`。 - `send_alert_notification()` 與 `send_text()` 必須先走 `normalize_alert_notification_payload()`。 - Host CPU / load / root Node.js / Prisma / Next build 只能轉成 `主機資源壓力` AI 事件卡。 - Wazuh Dashboard / API 讀回退化、Wazuh 入侵訊號、Kali、Nginx drift、backup / restore、provider freshness、supply-chain 類訊號只能轉成 AIOps 候選事件卡。 - Wazuh Dashboard 顯示 agent 消失但 manager registry 尚未驗收時,必須轉成 `wazuh_dashboard_api_readback_degraded`,不得把它誤寫為 agent 全部消失或已恢復。 - 外部版本檢查 URL、套件樹路徑、workspace 路徑、runner toolcache 路徑、raw Wazuh path、raw Nginx path、內網 IP、token-like 字串、raw Prisma JSON 不得出現在格式化後訊息。 ## 3. 驗收邊界 這是 repo-only guard,不是 Telegram 實發、不代表 delivery receipt、不是 owner response accepted,也不是 runtime 修復授權。 仍維持: ```text telegram_send_authorized=false bot_api_call_authorized=false direct_bot_api_migration_authorized=false workflow_modification_authorized=false ops_script_modification_authorized=false api_sender_refactor_authorized=false secret_value_collection_allowed=false raw_payload_storage_allowed=false host_write_authorized=false production_write_authorized=false runtime_execution_authorized=false runtime_gate_open=false action_buttons_allowed=false ``` ## 4. 下一步 下一步不是直接實發測試訊息,而是把這個 guard 併入 IwoooS 例行 security progress guard,並在 owner response 之後分批收斂 direct Bot API 旁路與 delivery receipt。正式實發、Alertmanager route 變更、receiver reload、workflow/script/API sender 修改都仍需獨立批准、維護窗口、rollback owner 與 post-check。