From ec86d9d1339f4a28a689b5545ac3ea3fa591cfc3 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期六, 26 九月 2026 12:26:33 +0800
Subject: [PATCH] chore(配置安全): 本机真实值改用 Windows 用户环境变量(不落文件),start-dev.ps1 加注册表兜底;清理仓库内历史明文 key + 文档补充

---
 docs/打包部署说明.md                              |   13 ++++++
 docs/工作日结/工作日结_2026-09-26.md                |    9 ++++
 start-dev.ps1                               |   13 ++++++
 docs/功能测试报告/功能测试报告_密钥外部化与打包去密_2026-09-26.md |   28 ++++++++++++++
 4 files changed, 62 insertions(+), 1 deletions(-)

diff --git "a/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\257\206\351\222\245\345\244\226\351\203\250\345\214\226\344\270\216\346\211\223\345\214\205\345\216\273\345\257\206_2026-09-26.md" "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\257\206\351\222\245\345\244\226\351\203\250\345\214\226\344\270\216\346\211\223\345\214\205\345\216\273\345\257\206_2026-09-26.md"
index 1373345..f465b04 100644
--- "a/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\257\206\351\222\245\345\244\226\351\203\250\345\214\226\344\270\216\346\211\223\345\214\205\345\216\273\345\257\206_2026-09-26.md"
+++ "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\257\206\351\222\245\345\244\226\351\203\250\345\214\226\344\270\216\346\211\223\345\214\205\345\216\273\345\257\206_2026-09-26.md"
@@ -44,3 +44,31 @@
 ## 浜斻�佺粨璁�
 
 閰嶇疆鍒嗗眰鏀归�犲畬鎴愬苟閫氳繃 7 鏉$敤渚嬶細杩� jar 鐨勫彧鏈夊崰浣嶇锛岀湡瀹炲�间粎瀛樺湪浜庢湰鏈烘湭璺熻釜鏂囦欢鎴栫幆澧冨彉閲忥紱鏈満寮�鍙戜笌绾夸笂閮ㄧ讲琛屼负鍧囨湭閫�鍖栥�傝疆鎹� key 鐨勬楠ゅ凡鍐欏叆閮ㄧ讲璇存槑銆�
+
+## 鍏�佺浜岃疆锛堝悓鏃ユ櫄锛岀敤鎴峰悓鎰忓悗杩藉姞锛夛細鏈満涔熶笉鐣欐槑鏂�
+
+1. **鏈満鐪熷疄鍊兼敼涓� Windows 鐢ㄦ埛鐜鍙橀噺**锛堜笉鍐嶈惤鏂囦欢锛夛細
+   ```powershell
+   setx TRAFFIC_DB_PASSWORD "鏈満 MySQL 鍙d护"
+   setx DEEPSEEK_API_KEY   "DeepSeek key"
+   ```
+   `traffic-audit-server/config/application.yml` 鏀规垚"鍙湁璇存槑銆佹棤鏄庢枃"鐨勬敞閲婃枃浠讹紙鍊煎叏閮ㄧ敱鐜鍙橀噺鎻愪緵锛夈��
+2. **start-dev.ps1 鍔犳敞鍐岃〃鍏滃簳**锛氳嫢褰撳墠 shell 鏄棫杩涚▼銆佹嬁涓嶅埌鏂拌鍙橀噺锛屽垯浠� `HKCU\Environment` 璇诲彇骞舵敞鍏ュ悗绔繘绋嬶紝閬垮厤"鏂囦欢閲屾病鏈夈�佺幆澧冨彉閲忎篃璇讳笉鍒�"鐨勭┖妗c��
+3. **娓呯悊浠撳簱鍐呭惈 key 鐨勫巻鍙叉枃浠�**锛堟湭璺熻釜/宸插拷鐣ワ紝闈炴彁浜ゅ唴瀹癸級锛�
+   | 鏂囦欢 | 鍛戒腑 |
+   | --- | --- |
+   | `_shots/all_events.json` | 13 澶� |
+   | `_dep_readme.txt` | 1 澶� |
+   鈫� 鍏ㄩ儴鏇挎崲涓� `sk-REDACTED`锛屽鏌ュ叏浠撳簱**宸叉棤鏄庢枃 key**銆�
+
+### 杩藉姞鐢ㄤ緥
+
+| 缂栧彿 | 杈撳叆 | 棰勬湡 | 瀹為檯 | 缁撹 |
+| --- | --- | --- | --- | --- |
+| TC-8 | `start-dev.ps1`锛堝湪鏈户鎵挎柊鍙橀噺鐨� shell 閲岋級 | 鑷姩浠庢敞鍐岃〃杞藉叆 | 杈撳嚭"宸蹭粠鐢ㄦ埛鐜鍙橀噺杞藉叆 TRAFFIC_DB_PASSWORD / DEEPSEEK_API_KEY" | 閫氳繃 |
+| TC-9 | 鍚姩鍚庣櫥褰� `admin/123456` | 搴撳彛浠ゅ彇鑷幆澧冨彉閲� | 鐧诲綍鎴愬姛銆乼oken 156 瀛楃 | 閫氳繃 |
+| TC-10 | `POST /api/llm/chat` | key 鍙栬嚜鐜鍙橀噺 | HTTP 200銆佸洖绛�"鏀跺埌" | 閫氳繃 |
+| TC-11 | 鍏ㄤ粨搴撴壂鎻� `sk-[A-Za-z0-9]{16,}` | 鏃犳槑鏂� | 娓呯悊鍚庡鏌ヤ负 0 | 閫氳繃 |
+| TC-12 | `traffic-audit-server/config/application.yml` | 鏃犳槑鏂� | 浠呮敞閲婅鏄庯紙鍊艰蛋鐜鍙橀噺锛� | 閫氳繃 |
+
+> 璇存槑锛氱幆澧冨彉閲忔湰韬粛鏄湰鏈烘槑鏂囷紙瀛樺湪娉ㄥ唽琛� `HKCU\Environment`锛夛紝閫傚悎鍗曟満寮�鍙戯紱鍗忎綔/鐢熶骇璇风敤閮ㄧ讲鏈哄閮ㄩ厤缃垨瀵嗛挜绠$悊宸ュ叿銆傝疆鎹� key 浠嶆槸鏍规不娉勯湶鐨勫敮涓�鎵嬫銆�
diff --git "a/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-26.md" "b/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-26.md"
index 0df8a30..cedef57 100644
--- "a/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-26.md"
+++ "b/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-26.md"
@@ -21,13 +21,20 @@
 - 鍚庣鍚姩 OK锛涚櫥褰曟垚鍔燂紙璇佹槑搴撳彛浠ゅ彇鑷湰鏈鸿鐩栨枃浠讹紝鍚﹀垯鍗犱綅绗︾┖鍙d护杩炰笉涓婏級锛沗/api/llm/chat` 杩斿洖"鏀跺埌"锛堣瘉鏄� DeepSeek key 鍙栬嚜鏈満瑕嗙洊鏂囦欢锛夛紱
 - `git grep` 纭璺熻釜鏂囦欢涓棤 `sk-` 瀵嗛挜锛涗粨搴撳唴涓や唤閮ㄧ讲妯℃澘鍧囦负鍗犱綅鐗堛��
 
+### 4. 鏈満鍘绘槑鏂� + 娓呯悊鍘嗗彶瀵嗛挜锛堢敤鎴峰悓鎰忓悗锛�
+
+- 鏈満鐪熷疄鍊兼敼涓� **Windows 鐢ㄦ埛鐜鍙橀噺**锛坄setx TRAFFIC_DB_PASSWORD` / `setx DEEPSEEK_API_KEY`锛夛紝`config/application.yml` 鏀规垚鏃犳槑鏂囪鏄庢枃浠讹紱
+- `start-dev.ps1` 澧炲姞**娉ㄥ唽琛ㄥ厹搴�**锛氭棫 shell 涔熻兘鑷姩杞藉叆鐜鍙橀噺锛堝疄娴嬭緭鍑�"宸蹭粠鐢ㄦ埛鐜鍙橀噺杞藉叆 鈥�"锛夛紱
+- 娓呯悊浠撳簱鍐呭惈 key 鐨勬湭璺熻釜鏂囦欢锛歚_shots/all_events.json`锛�13 澶勶級銆乣_dep_readme.txt`锛�1 澶勶級鈫� 鏇挎崲涓� `sk-REDACTED`锛屽叏浠撳鏌ユ棤鏄庢枃锛�
+- 褰撳墠鏈嶅姟宸茬敤鏂版柟寮忛噸鍚細鐧诲綍 OK + AI 鍥炵瓟"鏀跺埌"锛屽姛鑳芥棤鍥炲綊銆�
+
 ## 浜屻�佹祴璇曠粨鏋滄憳瑕�
 
 - 鎶ュ憡锛歚docs/鍔熻兘娴嬭瘯鎶ュ憡/鍔熻兘娴嬭瘯鎶ュ憡_瀵嗛挜澶栭儴鍖栦笌鎵撳寘鍘诲瘑_2026-09-26.md`锛�7 鏉$敤渚嬪叏閫氳繃锛夈��
 
 ## 涓夈�侀仐鐣欓棶棰樹笌寰呭姙
 
-1. **銆愰渶鐢ㄦ埛鎿嶄綔銆戣疆鎹㈠凡娉勯湶鐨� DeepSeek key**锛氭帶鍒跺彴鏂板缓 key 鈫� 鍒犻櫎鏃� key 鈫� 閮ㄧ讲鏈哄閮� `application.yml` 濉柊 key 鈫� 閲嶅惎楠岃瘉銆傛棫 jar 鏃犳硶鏀跺洖锛岃疆鎹㈡槸鍞竴鏍规不鎵嬫銆�
+1. **銆愪粛闇�鐢ㄦ埛鎿嶄綔銆戣疆鎹㈠凡娉勯湶鐨� DeepSeek key**锛堟湰鏈轰笌浠撳簱宸叉棤鏄庢枃锛屼絾鏃� jar 閲岀殑閭d唤杩樻病浣滃簾锛夛細鎺у埗鍙版柊寤� key 鈫� 鍒犻櫎鏃� key 鈫� 閮ㄧ讲鏈哄閮� `application.yml` 濉柊 key 鈫� 閲嶅惎楠岃瘉銆傛棫 jar 鏃犳硶鏀跺洖锛岃疆鎹㈡槸鍞竴鏍规不鎵嬫銆�
 2. 鏈満鏁版嵁搴� root 鍙d护锛�123456锛夊悓鏍峰湪鏃� jar 閲岋紝寤鸿閮ㄧ讲鏈烘崲鍙d护銆�
 3. 涓嬫閲嶆柊鎵撳寘缁欓儴缃叉満鏃讹紝寤鸿鎸� `鎵撳寘閮ㄧ讲璇存槑.md` 鐨勮嚜鏌ユ楠ょ‘璁� jar 鍐呮棤鐪熷疄鍊硷紝骞堕『甯﹀悓姝ラ儴缃插寘鍐呯殑鏃ф瘝鐗堬紙P2-5锛夈��
 4. 椤圭洰鍏跺畠閬楃暀锛圥0/P1/P2锛夎 `docs/浜ゆ帴鏂囨。_2026-09-21.md` 绗� 4 鑺備笌 `docs/浜ゆ帴鏂囨。_2026-09-23.md`銆�
diff --git "a/docs/\346\211\223\345\214\205\351\203\250\347\275\262\350\257\264\346\230\216.md" "b/docs/\346\211\223\345\214\205\351\203\250\347\275\262\350\257\264\346\230\216.md"
index 93b547b..05c977c 100644
--- "a/docs/\346\211\223\345\214\205\351\203\250\347\275\262\350\257\264\346\230\216.md"
+++ "b/docs/\346\211\223\345\214\205\351\203\250\347\275\262\350\257\264\346\230\216.md"
@@ -233,6 +233,19 @@
 | jar 鍚岀骇鐨� `backend/application.yml` | 閮ㄧ讲鏈虹湡瀹炲�硷紙浼樺厛绾ч珮浜� jar 鍐呯疆锛� | 鍚� | 鍚︼紙鍦ㄥ寘澶栵紝鐜板満濉級 |
 | 鐜鍙橀噺 `TRAFFIC_DB_PASSWORD` / `TRAFFIC_DB_USER` / `TRAFFIC_DB_URL` / `TRAFFIC_JWT_SECRET` / `DEEPSEEK_API_KEY` | 瑕嗙洊浠ヤ笂浠绘剰涓�椤� | 鍚� | 鍚� |
 
+### 鏈満寮�鍙戯紙鍊兼斁鐜鍙橀噺锛屼笉钀芥枃浠讹級
+
+```powershell
+setx TRAFFIC_DB_PASSWORD "鏈満 MySQL 鍙d护"     # 璁句竴娆″嵆鍙紝涔嬪悗鏂板紑鐨勭粓绔嚜鍔ㄥ甫涓�
+setx DEEPSEEK_API_KEY   "DeepSeek key"
+# 闇�瑕佹椂鍐嶈鐩栵細setx TRAFFIC_DB_URL / TRAFFIC_DB_USER / TRAFFIC_JWT_SECRET
+
+powershell -NoProfile -ExecutionPolicy Bypass -File start-dev.ps1   # 浼氳嚜鍔ㄤ粠娉ㄥ唽琛ㄨˉ榻愬苟娉ㄥ叆鍚庣杩涚▼
+```
+
+- `traffic-audit-server/config/application.yml` 鍙暀娉ㄩ噴璇存槑锛堟棤鏄庢枃锛夛紱鍒犳帀瀹冧篃涓嶅奖鍝嶏紙鍊煎叏鍦ㄧ幆澧冨彉閲忛噷锛夈��
+- 鑻ョ敤 IDE 鐩存帴璺戜富绫伙紝璇峰湪**鏂板紑鐨�**缁堢/IDE 閲屽惎鍔紙璁╂柊缁堢缁ф壙鐢ㄦ埛鐜鍙橀噺锛夛紝鎴栨墜鍔� `setx` 鍚庨噸鍚� IDE銆�
+
 ### 鎵撳寘鍓嶈嚜鏌ワ紙30 绉掞級
 
 ```powershell
diff --git a/start-dev.ps1 b/start-dev.ps1
index 5dcf2ba..de2dca6 100644
--- a/start-dev.ps1
+++ b/start-dev.ps1
@@ -12,6 +12,19 @@
 $root = Split-Path -Parent $MyInvocation.MyCommand.Path
 $webDir = Join-Path $root 'traffic-audit-web'
 
+# ---------- 瀵嗛挜锛氫粠 Windows 鐢ㄦ埛鐜鍙橀噺琛ラ綈锛堢湡瀹炲�间笉钀芥枃浠讹級----------
+# 鑻ュ綋鍓� shell 鏄棫杩涚▼銆佹嬁涓嶅埌鏂拌鐨勫彉閲忥紝鍒欎粠娉ㄥ唽琛� HKCU\Environment 璇讳竴娆★紝
+# 渚涘悗绔瓙杩涚▼缁ф壙锛堥伩鍏�"瀵嗛挜涓嶅湪浠讳綍鏂囦欢閲屻�佸張璇讳笉鍒扮幆澧冨彉閲�"鐨勭┖妗o級銆�
+foreach ($name in @('TRAFFIC_DB_PASSWORD', 'DEEPSEEK_API_KEY', 'TRAFFIC_DB_URL', 'TRAFFIC_DB_USER', 'TRAFFIC_JWT_SECRET')) {
+  if (-not [Environment]::GetEnvironmentVariable($name, 'Process')) {
+    $val = [Environment]::GetEnvironmentVariable($name, 'User')
+    if ($val) {
+      [Environment]::SetEnvironmentVariable($name, $val, 'Process')
+      Write-Host "宸蹭粠鐢ㄦ埛鐜鍙橀噺杞藉叆 $name"
+    }
+  }
+}
+
 function Test-PortListening($port) {
   try {
     $c = Get-NetTCPConnection -LocalPort $port -State Listen -ErrorAction Stop

--
Gitblit v1.9.1