# 第 5 批材料（子集 A：M01/M08/M22/M09/M16/M13，14 件）


## SUMMARY #1｜出自 M01-1（含 1b）｜⬜ 未修

裝在客戶機房那支代理程式，五條通訊管道沒有一條會問「你是誰」——網路上任何人不必帳號就能冒充它領走客戶整套主機的登入帳密；管理畫面按「撤銷」只斷了三分之一，被撤銷的機器照樣能回報假資料


### 模組頁列
M01 第 1 條（M01-remote-agent.md:89）
| **1** | 五條通訊管道全部不檢查對方是誰 | 🔴 **最嚴重** | 身分驗證缺失 | **客戶會失去對自己機房主機的控制權**——取走的是客戶自己的伺服器帳密，不只是我們系統的資料。且可冒充任一家客戶，**一家出事等於全部客戶暴露**；稽核證據可被偽造或抹除，**整份稽核報告的可信度會被質疑** | 呼叫者身分改由簽章證明，五條管道一起修，歸屬比對做進核心層；**同一批順便補上「這台是不是已被撤銷」** | ⬜ **未修**（工單 CM-1595 已開，未排期） |


## SUMMARY #17｜出自 M08-1｜⬜ 未修

有主機管理權限的人把「負責核對簽章」的零件換成永遠說沒問題的假貨，之後任意竄改產品程式，三層檢查照樣顯示通過、全程零警示（已實測證實）


### 模組頁列
M08 第 1 條（M08-integrity.md:83）
| **1** | 負責核對簽章的那個零件，被歸在開機時不會檢查的那一層——換掉它，整套防竄改永久失效 | 🟠 高 | 防竄改機制被削弱 | **客戶那台機器上的產品可以被任意改動，而系統照樣顯示一切正常**——授權鎖可以拿掉、稽核紀錄可以竄改、計分邏輯可以改，全程不會有任何警示。**三層檢查（開機核對、四小時抽查、敏感操作即時驗證）會一起失效**，因為三層用的都是同一個被換掉的零件 | 打包時把這個零件強制編譯進核心層，讓它不再是一個可以被單獨換掉的檔案 | ⬜ **未修** |


## SUMMARY #18｜出自 M08-2｜⬜ 未修

客戶端機器因竄改被鎖住後，有主機權限的人只要刪掉一個檔案就能讓機器重新開起來，而那筆鎖定紀錄正是這機制原本要保留的證據


### 模組頁列
M08 第 2 條（M08-integrity.md:84）
| **2** | 文件說有「檔案標記」與「資料庫紀錄」兩道鎖，程式其實只做了一道——刪掉一個檔案，被鎖的機器就能重開 | 🟠 高 | 防竄改機制被削弱 | **客戶端發生竄改事件後，只要一行指令就能把「被鎖定」這件事抹掉、讓機器重新開起來**。而那筆鎖定紀錄正是這套機制原本要保留的證據。**最糟的是維護的人以為有兩道鎖，因此不會想到要去補這個缺口** | 兩件事都要做：**止血**是把文件改成跟程式一致（零成本）、**治本**是開機時另外去查一次資料庫紀錄 | ⬜ **未修** |


## SUMMARY #19｜出自 M09-1｜⬜ 未修

管理員在「日誌轉送設定」填一台伺服器位址按儲存（連子公司層級的管理員都按得下去），所有客戶的系統活動紀錄從此持續送往他填的機器


### 模組頁列
M09 第 1 條（M09-log.md:69）
| **1** | 管理員打開「系統設定 → 日誌轉送設定」，填一台伺服器位址按儲存。**只要是客戶底下任何一層的管理員都按得下去**——包含子公司層級的——而這一存改到的是全系統共用的那一份設定 | 🟠 高 | 客戶資料沒隔開 | **全系統只有這一份設定**（包含平台管理員在內）。任何一家客戶底下的管理員改掉它，**所有客戶的系統活動紀錄都會被持續送到他填的那台機器上**，而且沒有人會察覺 | **已拍板**：只開放給客戶自己組織樹第一層（總部）的管理員改，子公司的管理員改不到——與系統設定那塊的同型問題套用同一條規則。**客戶自己決定日誌送去哪，這個自主權完全保留** | ⬜ **未修** |


## SUMMARY #20｜出自 M09-2＋M21-1｜⬜ 未修

任何人在帳號等欄位填進特殊開頭字元，管理員把操作日誌或意見回饋匯出成 Excel 打開時，那段內容會被當成公式執行，可能把整張表送到外部網址


### 模組頁列
M09 第 2 條（M09-log.md:70）
| **2** | 管理員在「操作日誌」查詢頁按下「匯出」，拿到 Excel 檔並打開。**攻擊者不必登入就能事先在那個檔案裡種一顆「公式炸彈」** | 🟠 高 | 外部送什麼就收什麼 | **種下去完全不需要帳號**——因為系統在任何權限檢查之前就把每一次請求原封不動記下來了。之後管理員打開那個檔案，攻擊者準備的內容就會在**管理員自己的電腦上**執行：可以是釣魚連結，也可以把整張表的內容送到外部網址 | 在匯出的那一個出口統一處理，把會被 Excel 當成公式的開頭字元**標示成純文字**——**字元一個都不刪，只是告訴 Excel「這是文字、不要執行」** | ⬜ **未修** |


### 模組頁列
M21 第 1 條（M21-issue-rescan.md:93）
| **1** | **匯出的意見回饋檔案沒有過濾公式字元，可以被種公式炸彈** | 🟡 中 | 外部送什麼就收什麼 | **任何能送意見回饋的人（門檻只有登入），送一則標題以等號開頭的回饋；管理員匯出後用試算表軟體打開，那段內容會被當成公式執行**——可以把同一份檔案裡其他欄位的內容送到外部網址，或在使用者點過安全性提示後執行外部程式。**受害的是有匯出權限的管理員本人的電腦** | 匯出時把使用者可控的四個欄位（標題、描述、標籤名、建立者暱稱）先中和掉開頭的特殊字元。**與另一處同樣的問題建議抽一支共用函式一起修** | ⬜ **未修**（尚未開工單，決策者裁定先登記） |


## SUMMARY #22｜出自 M22-1＋M09 同型｜⬜ 未修

任何一家客戶（含子公司）的管理員在系統設定頁就能改掉全公司所有人的登入規則，更嚴重的是他能把員工帳號目錄指到自己的機器，等於接管所有人的登入而且看不出來


### 模組頁列
M22 第 1 條（M22-system-core.md:81）
| **1** | **一個客戶的管理員，可以改掉全公司所有人的登入規則，還能把登入驗證來源指到自己的機器上** | 🟠 高 | 只驗登入、不檢查歸屬 | **開一個新客戶就自動多一個能改全公司規則的人**。他可以關掉全公司的雙因子驗證、讓帳號永遠不會鎖定（等於可以無限次猜密碼）、把登入憑證有效期從五分鐘延到一個月。**更嚴重的另一半是把員工帳號目錄指到自己的機器——那是直接接管所有人的登入**，而且改壞了看不出來 | **已拍板**：只開放給客戶自己組織樹第一層（總部）的管理員改，子公司的管理員改不到；三支寫入路徑都要補上這個判斷 | ⬜ **未修** |


## SUMMARY #90｜出自 M08-3｜⬜ 未修

有主機權限的人改一個設定，把「要核對哪個目錄」整個換掉，而且這設定的優先順序比「是不是正式打包版」還高


### 模組頁列
M08 第 3 條（M08-integrity.md:85）
| **3** | 有一個設定可以把「要核對哪個目錄」整個換掉，而且它的優先順序比「是不是正式打包版」還高 | 🟡 中 | 防竄改機制被削弱 | **單獨用它不成立**（指到空目錄會因為找不到清單而拒絕開機）。**但它是第 1 條的放大器**——搭配起來，攻擊成本從「要偽造一整份清單」降到「隨便準備一個目錄」 | 在打包模式下忽略這個設定 | ⬜ **未修** |


## SUMMARY #91｜出自 M08-4｜⬜ 未修

有主機權限的人把記錄「解鎖檔用過沒」的那個檔案改成亂碼，系統會當作一張都還沒用過，已用過的一次性解鎖檔就能重新復活使用


### 模組頁列
M08 第 4 條（M08-integrity.md:86）
| **4** | 已經用過的解鎖檔，如果使用紀錄毀損，系統會當作「一張都還沒用過」 | 🟡 中 | 防竄改機制被削弱 | 把記錄檔改成亂碼，**用過的解鎖檔就能重新復活使用**。實際影響不大（還受機器指紋、事件編號、有效期限三道限制），但一次性通行碼原本該有的保障，被降低成「只要能寫入一個檔案就能破壞」 | 把「檔案不存在」（合理）與「檔案內容毀損」（不合理，應該拒絕）分開處理 | ⬜ **未修** |


## SUMMARY #92｜出自 M09-3｜⬜ 未修

管理員在日誌轉送設定頁選「傳送方式」時，下拉選單裡只有兩個選項、兩個都是明文，想開加密的客戶根本開不了


### 模組頁列
M09 第 3 條（M09-log.md:72）
| **3** | 管理員在日誌轉送設定頁選「傳送方式」時，**畫面上只有兩個選項，兩個都是明文**——想開加密的客戶開不了 | 🟡 中 | 密碼外流 | 明文轉送是這類功能的業界常態，通常靠「部署在受信任的網段」來保護。**我們的缺口不在於沒有加密，在於沒有提供加密選項**——客戶就算自己的監控系統收得了加密、也想開，設定上根本沒有那個選擇。能在網路路徑上看封包的人（同機房網段、被入侵的網路設備）就能讀到整份日誌 | **提供加密選項，讓需要的客戶開得起來**。對方收不收得了加密，屬於客戶自己的部署決定 | ⬜ **未修** |


## SUMMARY #93｜出自 M09-4｜⬜ 未修

任何人（連登入都不用）在帳號之類欄位填進換行，系統把日誌送到客戶的資安監控系統時原樣帶出，對方會讀成兩筆紀錄，第二筆內容由攻擊者決定（例如偽造「某某管理員授予了超級權限」）


### 模組頁列
M09 第 4 條（M09-log.md:71）
| **4** | 系統把日誌一行一行送到客戶的資安監控系統時，**沒有處理使用者填進來的換行**，有心人可以藉此在對方系統裡塞入偽造的稽核紀錄 | 🟡 中 | 外部送什麼就收什麼 | 只要有一個使用者填得到、又會被原樣記下來的欄位（例如登入時輸入的帳號），攻擊者就能在裡面藏一段假的日誌內容。送到客戶的監控系統之後，**多數解析程式會把它當成一筆獨立的紀錄**——可以捏造「某某管理員授予了超級權限」這種紀錄，混淆事後追查。**這條不需要任何權限，連登入都不用**（登入失敗的帳號也會被記下來） | 組出那一行文字之前，把換行**編碼成看得見的兩個字元**，其他看不見的控制字元同理——**內容一個位元都不少，只是讓它不再被讀成「下一筆」** | ⬜ **未修** |


## SUMMARY #96｜出自 M16-2｜⬜ 未修

寄信失敗時（密碼填錯、網路抖一下就會發生）系統把整組郵件設定含密碼原樣寫進紀錄檔，所有看得到紀錄的維運人員等於拿到密碼


### 模組頁列
M16 第 2 條（M16-notification.md:80）
| **2** | 寄信失敗時，把整組郵件設定原樣寫進系統紀錄檔——那組設定裡有密碼 | 🟡 中 | 敏感內容寫進日誌 | **看得到系統紀錄的人就等於拿到密碼**——維運人員、能查資料庫的人、外部紀錄收集服務的管理員，這些人**遠多於被授權改郵件設定的人**。而且不需要攻擊者做任何事，**寄信失敗一次就會發生**（密碼填錯、網路抖動都算）。⚠️ **共用地基那道密碼遮蔽蓋不到這裡**，實跑驗過，密碼一個字都沒被遮掉 | 錯誤訊息只印錯誤本身，不要把整組設定丟進去 | ⬜ **未修**（工單 CM-1606 已開，未排期） |


## SUMMARY #97｜出自 M16-3｜⬜ 未修

系統連郵件伺服器時有加密但不認人，攔在路上的人拿張自簽證明就能收下帳密，連每封信的內容（含一次性驗證碼、新帳號初始密碼信）都被攔走


### 模組頁列
M16 第 3 條（M16-notification.md:81）
| **3** | 連郵件伺服器時「有加密但沒認人」——對方拿一張隨便自簽的證明來，系統照單全收 | 🟡 中 | 密碼外流 | 除了同樣洩漏郵件帳密之外，**每一封信的內容都會落到攔截者手上**——包含登入用的一次性驗證碼與新帳號的初始密碼信。**等於帳號被接管的材料整批送出去**。這條要成立，攻擊者得先在我們與郵件伺服器之間的網路路徑上（郵件服務在外部雲端時比較容易做到） | **選了加密就驗證對方身分**，客戶看到的設定畫面完全不用動 | ⬜ **未修**（工單 CM-1606 已開，未排期） |


## SUMMARY #133｜出自 M08-6｜⬜ 未修

系統向原廠回報「偵測到竄改」時，會把主機紀錄檔最後 50 行原封不動送出，那 50 行若剛好夾帶密碼或登入憑證就一起被送出去


### 模組頁列
M08 第 6 條（M08-integrity.md:88）
| **6** | 回報「偵測到竄改」時，會把主機紀錄檔最後 50 行原封不動送回原廠 | ⚪ 低 | 敏感內容寫進日誌 | 那 50 行若剛好夾帶密碼或登入憑證，就會一起被送出去。**評低是因為這個回報目前送的是本機位址**，不會離開那台機器 | 送出前套用系統其他地方送日誌時用的那套遮蔽規則——**工具是現成的，不需要重寫** | ⬜ **未修** |


## SUMMARY #134｜出自 M22-3｜⬜ 未修

有正當權限的客戶管理員打開「儲存設定」頁時，瀏覽器就收到那把共用密鑰的明文——任何看得到他瀏覽器流量、存檔或前端錯誤紀錄的人都拿得到


### 模組頁列
M22 第 3 條（M22-system-core.md:83）
| **3** | 密碼遮蓋名單漏掉檔案儲存那一組 | ⚪ 低 | 密碼外流 | **就算第 2 條補好了，有正當權限的客戶管理員打開「儲存設定」頁時，瀏覽器仍會收到那把共用密鑰的明文**——任何看得到他瀏覽器流量、存檔或前端錯誤紀錄的人都拿得到 | 把儲存設定加進遮蓋名單、把帳密欄位名加進要遮蓋的清單，並改用寄信與員工帳號目錄那套「不回密碼、沒帶就沿用」的做法 | ⬜ **未修** |

