tags: cofacts, meeting note GA: UA-98468513-3 —
20250428 會議記錄
:::info
- 所有會議記錄
- NPO Hub: bil, mrorz
- 線上出席:nonumpa, edd
- https://gather.town/app/z3x18KQFgZCX8MeZ/cofacts :::
:potable_water: Release pipeline
:star: Released to production
:globe_with_meridians: Site
https://github.com/cofacts/rumors-site/releases/tag/release/20250425
- Reply search will ignore deleted replies – @yu-tzi ++
:robot_face: rumors-line-bot
:rocket: Staging
:globe_with_meridians: Site
- display badge https://github.com/cofacts/rumors-site/pull/597
Testing checklist
http://dev.cofacts.tw/
未登入下檢測:
- Replies list
- Nothing breaks
⛔️ Release Blockers
未竟項目

- Mobile 上頭像右側空間變得有點太大,需要開票處理 [name=mrorz]
:eye: Under review
- https://github.com/cofacts/takedowns/pull/203/files
CCPRIP
[Op] Automatic takedown
https://g0v.hackmd.io/@cofacts/rd/%2Fum7DyY_ESbu2LL78kLw3pg nonumpa nonumpa 需要再觀察 CCPRIP 自動下架功能中,community builder 無法列出 user 送出的所有 article、comment 有問題(拉出來的是 feedback 的內容)以及單一 reply request 沒有超連結的問題。
reply request reason 是空的+同一篇文章也有按 reply 讚,而產生誤會
https://github.com/cofacts/takedowns/pull/203/files
- 手動執行 action 發 PR:
- 對不是 master 的 branch 跑 workflow,他就會接到 staging
- 在 staging 發 spam 然後 trigger workflow on 非 master 的 branch
:::info TODO
- 文字一樣的會被過濾,應該過濾「人+文字一樣」的
- See log in https://github.com/cofacts/takedowns/actions/runs/14707741311
- Code review [name=mrorz]
- 檢查 example PR 的 PR description 與公告是否符合預期 :::
[Op] Downtime: swap 太滿
nonumpa 可以看看 Downtime 是否與 elasticsearch 太舊有關,並檢查 DB log 輸出。
- 看了 log,發現有噴 log 是重啟之後的 log
- 每固定一段時間,都只會噴一行,單看那行沒幫助
- ChatGPT:6.x 版有 memory issue,但沒有查證
- DDoS 時截的圖,swap 與 memory 是一樣的 [name=nonumpa]
- 但被攻擊時 kswapd 沒有很忙,可能 DB 的優先權更高;攻擊解除後,kswapd 也能找得到空間,所以就沒有進入無窮迴圈 [name=mrorz]
- 可能之後再看 [name=nonumpa]
[Op] 2025/4/25 16:51 ~ 17:05 攻擊事件
時間:
- 事件約於 2025-04-25 16:51 (UTC+8) 開始,系統監控 (
Cofacts monitor 🚨) 發出cofacts.tw因 HTTP timeout 而 Unhealthy 的警報。 - 同時,
mrorz觀察到伺服器負載 (load) 出現異常。
狀況:
cofacts.tw服務因 HTTP timeout 而無法正常回應。
- 伺服器負載過高。

來源分析 (根據討論):
- 主要流量高峰: 來自新加坡 IP 的流量出現顯著 spike,時間點與服務中斷吻合。

- 可疑 ASN:
nonumpa觀察到 ASN 在短時間內使用多個不同 IP 連接網站。
- 台灣 IP:
nonumpa發現有 5 個來自台灣 (中華電信 ASN) 的 IP 在稍早時間 (具體時間點未明) 有異常行為,以固定 2-3 秒的頻率發送請求。

- WAF Skip 流量:
mrorz初始觀察到大量被 WAF 規則skip(跳過檢查) 的請求,流量來源似乎來自 Google 的 ASN,造成一些困惑。
處理與緩解:
mrorz於 2025-04-25 17:05 (UTC+8) 左右,關閉了 WAF (Web Application Firewall) 中兩條設定為skip的規則,停止豁免這些請求。
結果:
- 在調整 WAF 規則後,系統隨即恢復正常運作。
- 感覺有在故意繞過我們偵測 [name=nonumpa]
- 中華電信那幾個 IP 有觸發過 rate limit
- client 可能是手機 - ios, nexus(也可能是偽造)
- 正常人應該不會直接打 API? [name=nonumpa]
- 瀏覽器第二頁、第三頁會直接連到 API
- Cloudflare 上不會呈現 GraphQL,但 GCP log 有
:::info TODO
- 處理圖中的台灣 IP:加進黑名單、分析 pattern 看為啥會漏掉 [name=mrorz] :::
Langfuse Clickhouse follow-up
https://g0v.hackmd.io/loOxvvWRTTSiKMF1xl7UqA#Langfuse-Clickhouse-follow-up mrorz 可以調查 Langfuse Clickhouse follow-up 中,更新 TTL 設定後仍然出現 error log 的問題。
https://github.com/ClickHouse/ClickHouse/pull/75784
- Released on https://github.com/ClickHouse/ClickHouse/blob/master/CHANGELOG.md#-clickhouse-release-253-lts-2025-03-20
- 我們是 3 月初開始用 Langfuse v3
- Maybe upgrading Clickhouse would work?
:::info TODO
- Upgrade Clickhouse to 25.3 LTS [name=mrorz] :::
謠言惑眾獎
https://g0v.hackmd.io/loOxvvWRTTSiKMF1xl7UqA#%E8%AC%A0%E8%A8%80%E6%83%91%E7%9C%BE%E7%8D%8E bil 需要在 Facebook 粉專與 Voom 轉貼謠言惑眾獎的 Youtube 影片。
:::success Done :::