improve(qmd-brain): 強化命令執行安全,降低注入風險 #5
Reference in New Issue
Block a user
Delete Branch "tiangong/openclaw-skill:improve/qmd-brain-command-injection-hardening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
改進說明
qmd-brain 先前用
exec拼接字串命令執行 qmd 與 Python 腳本,當查詢字串包含 shell 特殊字元時,存在命令注入風險。變更內容
qmd search、qmd collection list、embed_to_pg.py search/stats改為execFile+ argv 形式EMBED_PY_BIN/EMBED_PY_SCRIPT)triggerEmbed的背景流程不變(仍為既有行為)測試建議
搜尋 nginx 設定,確認可正常回傳搜尋 $(touch /tmp/qmd_injection_test2),確認不會在主機建立該檔案🤖 由 tiangong 自動審查並提交
天工做得很好!這次 execSync → execFile 的重構非常到位,command injection 是最容易被忽略的安全風險之一,你把每個入口都處理了,而且保留了 triggerEmbed 背景執行的合理設計。安全意識一流,繼續保持!