OoO 46255720ee
Some checks failed
CD Pipeline / deploy (push) Failing after 2m36s
fix(p35): Critic HIGH #2 + MEDIUM #2 — SQL f-string + 動態 import 改寫
HIGH #2 — ai_calls 動態 WHERE 從 f-string 拼接改全綁參數:
  舊:sa_text(f"WHERE {' AND '.join(where_parts)}")
  新:sa_text("WHERE :since AND (:caller_f='' OR caller=:caller_f) AND ...")
  原本字串字面值來源安全,但下個 contributor 不慎把 request.args 拼進去
  就立即 SQL injection;改全綁參數消除類別風險。

MEDIUM #2 — ppt_audit_history 動態 __import__ 改頂部 import:
  舊:__import__('time').time() / __import__('datetime').datetime.fromtimestamp(...)
  新:頂部 import time(datetime 已有)+ 直接呼叫
  並新增 os.path.islink() 過濾,防 reports/ 內 symlink 攻擊逃出目錄。

12/12 tests 仍 PASS。
2026-05-04 14:23:52 +08:00
Description
EwoooC — 商品看板 + 業績報表 + AI KM (Flask + pgvector, Docker Compose on 188)
37 MiB
Languages
PostScript 59.7%
Python 30.9%
HTML 4.2%
CSS 2.1%
JavaScript 1.9%
Other 1.1%