新聞中心

聯系我們

了解更多詳細信息,請致電

020-38815864

地址:廣州市天河區燕嶺路120號823
電話:020-38815864
郵箱:cs@cs003.vip

算法工程師安全自評估 160 項指標逐行核查 Checklist


發布時間:2025-08-27


一、為什么必須做安全自評估??
現在算法已經深入金融風控、醫療診斷、智能交通這些關鍵領域,但隨之而來的風險也越來越突出 —— 比如用戶數據泄露、模型被對抗攻擊篡改結果、代碼里藏著未修復的漏洞,這些問題一旦爆發,不僅會造成業務損失,還可能違反法規。?
《數據安全法》《個人信息保護法》還有算法備案的要求都很明確,咱們算法工程師作為技術落地的關鍵角色,不能等出了問題再補救。通過系統化的自評估提前找出風險點,既能保證技術合規,也能給算法應用加上一道安全防護網。?
??
二、核心核查 Checklist(160 項)?
下面分 5 個核心模塊整理了 160 項核查指標,每一項都標注了具體要求,大家可以直接對照著填核查結果(打√或填狀態)。?
(一)數據安全模塊(30 項)?
數據是算法的基礎,從采集到銷毀的全流程都要盯緊,這部分重點查 30 項內容:?
?
核查維度?
序號?
核查項?
具體要求?
核查結果(√通過 /× 不通過 /○待核查)?
數據采集?
1?
用戶授權是否合規?
必須拿到用戶明確同意(不能默認勾選),還要存好授權記錄(包括授權時間、范圍)?
?
?
2?
數據來源有沒有問題?
自己爬的數據要確認合法,第三方買的數據必須要對方提供授權證明,避免用無授權數據?
?
數據存儲?
3?
敏感數據有沒有加密?
身份證號、手機號這類敏感信息,要用 AES-256 加密存儲;數據庫要開啟 TDE 透明加密?
?
?
4?
存儲權限控制嚴不嚴?
只有必須用到數據的人才能給權限,誰訪問過、什么時候訪問的,都要在日志里記下來?
?
數據預處理?
5?
有沒有做去標識化處理?
姓名、銀行卡號這些能直接定位到個人的信息,要么刪掉,要么脫敏(比如銀行卡號只留后 4 位)?
?
?
6?
異常數據有沒有過濾掉?
訓練數據里可能混進標注錯誤的數據,甚至是別人惡意注入的 “中毒數據”,要用工具排查干凈(比如人工抽樣檢查或用數據清洗工具)?
?
數據使用?
7?
是不是只拿需要的數據?
訓練或推理時,只調用必需的字段,別多拿冗余數據(比如只需要用戶年齡,就別把地址也一起取出來)?
?
?
8?
跨業務線用數據有沒有走審批?
如果數據要從 A 業務線用到 B 業務線,必須先找安全部門審批,不能自己直接轉用?
?
數據銷毀?
9?
過期數據有沒有按時銷毀?
按公司制度到期銷毀,銷毀記錄要保存 6 個月以上(比如銷毀時間、負責人、方式)?
?
?
10?
銷毀方式合不合規?
電子數據要多次覆寫(別只刪文件),硬盤、U 盤這些物理介質要物理粉碎,不能隨便丟棄?
?
...?
11-30?
(含數據傳輸加密、備份恢復、跨境數據合規等 19 項)?
比如傳輸數據要用 HTTPS,備份數據要異地存儲,跨境數據要符合數據出境要求等?
?
?
(二)模型安全模塊(40 項)?
模型是算法的核心,從設計到退役的每一步都可能有風險,這部分重點查 40 項:?
?
核查維度?
序號?
核查項?
具體要求?
核查結果(√通過 /× 不通過 /○待核查)?
模型設計?
11?
有沒有考慮隱私保護設計?
如果處理敏感數據(比如醫療數據),要看看是不是該用聯邦學習、差分隱私這些技術,避免原始數據泄露?
?
?
12?
魯棒性有沒有考慮到邊緣場景?
比如輸入值特別大或特別小的時候,模型會不會輸出錯誤結果?要提前做邊緣場景的防護設計?
?
模型訓練?
13?
有沒有防訓練數據中毒?
可以用 CleanLab 這類工具排查異常樣本,避免有人惡意修改訓練數據導致模型失效?
?
?
14?
訓練過程有沒有監控記錄?
訓練時改了哪些參數、loss 值有沒有突然異常波動,這些都要記下來,方便后續追溯?
?
模型驗證?
15?
對抗樣本測試過沒有?
用 FGSM、PGD 這些常見的對抗攻擊方法測試,確保模型準確率下降不超過 5%?
?
?
16?
模型有沒有偏見?
檢查模型輸出會不會對特定性別、地域的用戶有歧視(比如同樣條件下,女性用戶的信用評分更低)?
?
模型部署?
17?
模型傳輸和部署包有沒有加密?
部署包要用 RSA 加密,傳輸的時候走 HTTPS,別明文傳?
?
?
18?
模型版本有沒有管控?
沒經過測試的版本絕對不能上線,每次版本更新都要記清楚變更內容(改了什么、誰改的、為什么改)?
?
模型退役?
19?
退役模型有沒有徹底刪掉?
部署節點、存儲硬盤里的模型文件要全刪掉,別留備份?
?
?
20?
退役模型的關聯數據有沒有清理?
跟退役模型相關的訓練數據、測試數據,也要一起清理,避免冗余數據泄露風險?
?
...?
21-40?
(含模型解釋性、訪問權限、更新流程等 19 項)?
比如模型要能解釋決策邏輯,模型訪問要鑒權,模型更新要走測試流程等?
?
?
(三)代碼安全模塊(25 項)?
代碼是算法落地的載體,漏洞往往藏在細節里,這部分重點查 25 項:?
?
核查維度?
序號?
核查項?
具體要求?
核查結果(√通過 /× 不通過 /○待核查)?
代碼開發?
21?
有沒有規避常見漏洞?
參考 OWASP Top10,比如防止 SQL 注入、XSS 跨站腳本攻擊,寫代碼時要注意過濾輸入?
?
?
22?
代碼里有沒有硬編碼敏感信息?
API 密鑰、數據庫密碼這些絕對不能直接寫在代碼里,要存在配置中心或密鑰管理系統?
?
版本控制?
23?
代碼倉庫權限有沒有控制?
只有項目成員能訪問代碼倉庫,不能把代碼傳到公開倉庫(比如 GitHub 的公開項目)?
?
?
24?
關鍵代碼變更有沒有審核?
核心模塊的代碼修改,必須兩個人審核通過才能提交,提交記錄里要寫清楚修改原因?
?
依賴管理?
25?
依賴包有沒有掃過漏洞?
用 OWASP Dependency-Check 這類工具掃依賴包,高危漏洞(CVSS 評分≥9.0)要立即修復?
?
...?
26-45?
(含代碼測試、文檔安全、分支管理等 19 項)?
比如代碼要寫單元測試,敏感文檔不能外傳,分支管理要按規范(別直接在主分支改代碼)等?
?
?
(四)部署運行安全模塊(35 項)?
算法上線后不是萬事大吉,運行過程中的安全更要盯緊,這部分重點查 35 項:?
?
核查維度?
序號?
核查項?
具體要求?
核查結果(√通過 /× 不通過 /○待核查)?
運行環境?
26?
容器配置有沒有風險?
容器禁用特權模式,限制容器能訪問的資源(比如 CPU、內存),避免容器被攻擊后影響整機?
?
?
27?
服務器有沒有加固?
沒用的端口要關掉,防火墻、IDS 入侵檢測系統要開啟,定期打系統補丁?
?
訪問控制?
28?
API 接口有沒有鑒權?
接口必須用 Token 或 OAuth2.0 鑒權,不能有不需要登錄就能訪問的匿名接口?
?
?
29?
有沒有做訪問頻率限制?
單個 IP 每天調用接口不能超過 1000 次(可根據業務調整),防止有人發起 DoS 攻擊?
?
監控審計?
30?
運行日志有沒有記錄全?
要記清楚誰調用了接口、什么時候調用的、輸入輸出的關鍵信息,日志至少保存 6 個月?
?
?
31?
異常行為能不能及時告警?
比如接口高頻調用失敗、輸入數據異常,要在 10 分鐘內觸發告警(郵件或釘釘通知)?
?
應急響應?
32?
故障恢復有沒有預案?
萬一模型服務斷了,要能在 30 分鐘內切換到備用節點,別影響業務使用?
?
?
33?
安全事件能不能及時處置?
如果發生數據泄露,要在 2 小時內上報安全部門,按預案處理(比如封禁賬號、清理數據)?
?
...?
34-65?
(含災備方案、補丁更新、權限回收等 29 項)?
比如要定期做災備演練,系統補丁每月更新,員工離職后要及時回收系統權限等?
?
?
(五)合規性模塊(30 項)?
法規是底線,這部分重點查 30 項合規要求,確保算法應用不踩紅線:?
?
核查維度?
序號?
核查項?
具體要求?
核查結果(√通過 /× 不通過 /○待核查)?
法規遵循?
34?
個人信息處理合不合規?
嚴格按《個保法》第 13 條來,處理個人信息必須有合法理由(比如用戶同意、履行合同等)?
?
?
35?
數據分類分級有沒有做?
按《數據安全法》第 21 條,把核心數據、重要數據定級,不同級別數據按要求防護?
?
算法備案?
36?
該備案的算法有沒有備案?
推薦算法、排序算法、風控算法這些需要備案的,要在網信部門完成備案?
?
?
37?
備案信息跟實際部署一致嗎?
備案時填的算法邏輯、應用場景,要跟線上實際運行的一致,不能備案一套、實際用另一套?
?
審計追溯?
38?
安全審計記錄有沒有留存?
每年要做算法安全審計,審計報告(包括發現的問題和整改情況)要保存好?
?
?
39?
用戶能不能查、刪算法相關數據?
按《個保法》要求,用戶要查自己的算法決策數據(比如為什么被拒貸)、要刪除數據,得支持?
?
...?
40-70?
(含跨境數據、倫理審查、投訴處理等 29 項)?
比如跨境傳輸數據要走安全評估,算法要過倫理審查,用戶投訴要在 15 天內回復等?
?
?
??
三、Checklist 怎么用?(實操指南)?
光有清單不夠,得知道怎么落地,這里給大家整理了具體用法:?
1. 多久查一次??
  • 月度自查:不用全查,重點盯高頻風險項 —— 比如數據加密有沒有失效、API 接口鑒權有沒有問題,花 1-2 小時就能搞定;?
  • 季度全面核查:160 項指標全部過一遍,每一項都要確認,最后形成核查報告(注明通過項、不通過項、整改計劃);?
  • 專項核查:重大版本更新前、新業務上線前,額外查一次相關模塊(比如新業務用到醫療數據,就重點查數據安全和合規性)。?
2. 查到問題怎么改?(5 步整改流程)?
  1. 標記問題:在 Checklist 里把 “不通過” 的項標出來,寫清楚問題具體是什么(比如 “依賴包有 2 個高危漏洞未修復”);?
  1. 找根因:別只看表面,要挖根本原因 —— 比如 “依賴包漏洞” 可能是因為沒定期掃描,而不是忘了修復;?
  1. 定方案:針對根因出整改方案,要明確誰來改、什么時候改完 —— 比如 “每周五下午用 OWASP 工具掃依賴包,高危漏洞 24 小時內修復,由開發組長負責”;?
  1. 驗結果:整改完要重新核查,確認問題解決 —— 比如漏洞修復后,再掃一次確認沒有高危漏洞;?
  1. 存記錄:把核查表、整改方案、驗證結果都歸檔,萬一后續有審計,能拿出來證明。?
3. 指標能自己調嗎??
當然可以,不同行業、不同技術場景,風險點不一樣,大家可以這么調整:?
  • 按行業加指標:做金融的可以加 “反欺詐算法合規性核查”,做醫療的加 “病歷數據隱私保護專項核查”;?
  • 按技術加指標:如果用生成式 AI,要加 “prompt 注入防護核查”“生成內容合規性檢查”;?
  • 按業務減指標:如果算法不用跨境數據,“跨境數據合規” 相關的指標就可以暫時不用查。?
??
四、實操案例:遇到問題怎么處理??
給大家舉個真實案例,方便理解怎么用 Checklist 解決問題:?
問題:模型訓練數據沒做去標識化?
  • 核查結果:× 不通過(對應數據安全模塊第 5 項);?
  • 實際情況:采集了一批醫療數據,直接用來訓練模型,數據里還留著患者的完整身份證號;?
  • 根因分析:數據預處理時忘了做去標識化,也沒人做數據抽檢;?
  • 整改方案:用差分隱私工具脫敏身份證號(只留前 6 位和后 4 位,中間用 * 代替),以后預處理完要抽樣 10% 檢查;?
  • 驗證過程:脫敏后抽 100 條數據,人工看有沒有完整身份證號,再用隱私計算工具測脫敏合規性;?
  • 歸檔記錄:把脫敏前的數據樣本、脫敏后的樣本、工具檢測報告,都存在項目的安全文件夾里。?
??
五、最后說兩句?
這 160 項指標覆蓋了算法從數據采集到模型退役的全生命周期風險,不是說要大家花很多時間去查,而是要把核查變成日常工作的一部分 —— 寫代碼時想想有沒有漏洞,部署前看看有沒有合規風險,慢慢就成習慣了。?
技術在變,風險也在變,大家要定期更新 Checklist,別讓指標過時。畢竟安全不是一次性的事,而是持續優化的過程,只有把每一個小風險都堵住,算法應用才能走得穩、走得遠。?

返回上一頁
  • 返回頂部
  • 020-38815864
  • 微信咨詢
    關注我們