2026-08-24 项目审查与 GitHub 上传完整记录
标签:#项目 #GitHub #安全审查 #数据脱敏 日期:2026-08-24
一、会话背景与环境
1.1 运行环境确认
- 工具:Claude Code(Anthropic 官方 CLI)
- 底层模型:
deepseek-v4-pro[1m](DeepSeek 的 Anthropic 兼容端点,非官方 Claude 模型) - API 端点:
https://api.deepseek.com/anthropic - 动机:省钱(DeepSeek API 比 Claude 官方 API 便宜)
关键认识:工具外壳是 Claude Code,但"大脑"是 DeepSeek。这带来一个实际限制——当前模型不支持图片识别(详见第八节)。
1.2 API Key 安全改造
发现 ~/.claude/settings.json 里明文存着 DeepSeek API token,做了以下改造:
- 把 token 从配置文件移到 Windows 用户级环境变量
ANTHROPIC_AUTH_TOKEN(用setx设置) - 从
settings.json中删除明文 token 行 - 清理了 file-history 快照、会话记录里残留的明文 token
二、项目审查(原始项目 G:\data_test)
2.1 项目概况
- 性质:Boss 直聘数据爬虫 + Spark 分析 + Django Web 可视化系统
- 规模:559 个文件、386 MB
- 技术栈:Python(爬虫/Django)、Scala(Spark)、MySQL、ECharts、DeepSeek API
- 来源:原始雏形是"买来的",本次审查目的是排查侵权、个人标识、埋雷
2.2 发现的高危问题 🔴
| 问题 | 位置 | 说明 |
|---|---|---|
| 2 个 DeepSeek API Key | ai.env、.idea/workspace.xml |
上传即泄露,可被盗刷 |
| 2143 个真实手机号 | db.sql、0126.sql、20260301.sql |
mobile 字段,严重隐私泄露 |
| 招聘者真实姓名(本记录已脱敏) | 6 个 CSV(5.7 万行) | 如"<已脱敏姓名>""<已脱敏姓氏>先生" |
| Django SECRET_KEY | settings.py:25 |
硬编码 |
数据库密码 <数据库账号>/<明文密码> |
Scala×4、settings.py、word_cloud_picture.py | 明文 |
内网 IP <已脱敏> |
遍布源码 | HDFS/MySQL 地址 |
| 管理员弱口令 | settings.py:138 |
<管理员账号>/<弱口令> |
| 用户密码明文存储 | views.py |
违背安全实践 |
2.3 未发现的问题 ✅
- 无恶意后门代码:无
subprocess/os.system远程执行、无eval/exec后门、无 socket 外联、无隐藏遥测 ast.literal_eval和pickle.load属正常数据处理- 无
.git目录,无 git 历史二次泄露风险
2.4 侵权结论
- 代码本身干净,侵权风险主要在数据来源(爬虫)和原作者署名(footer)上,非代码抄袭
- 第三方库(bootstrap/jQuery/ECharts 等)均为 Apache/MIT 许可,合法
三、清理与脱敏(副本 G:\data_test_github)
原则:全部操作在副本上进行,原始
data_test保持不动。
3.1 复制
robocopy 复制 data_test → data_test_github(559 文件、384.66 MB,零失败)。
3.2 A 组:删除敏感文件
删除:ai.env、2 个 .idea/、3 个 SQL、6 个 CSV、zhangsan_resume.txt、chromedriver.exe、salary_predict_model.pkl、target/、spark-warehouse/、全部 .pyc/.jar
结果:559 → 464 文件。
3.3 B 组:脱敏配置文件
settings.py:SECRET_KEY →os.environ.get("DJANGO_SECRET_KEY", ...);DEBUG → 环境变量;数据库密码/HOST → 环境变量;admin 注释改为安全提示- 4 个 Scala 文件:
<内网IP>→your_host,123456→your_password word_cloud_picture.py、README.txt:同样脱敏
3.4 C 组:.gitignore
根目录新建,排除:.env、.idea/、*.pyc、*.sql、*.csv、编译产物、二进制等。
3.5 D 组:署名
用户选择保留原名"基于Spark的IT岗位薪资分析预测系统",未改动。
3.6 额外删除
新建 DOCX 文档.docx、项目图集/(用户确认后删除)。
最终副本:456 文件、293 MB,核心敏感信息全部清零。
四、上传 GitHub
4.1 关键决策
- 仓库可见性:公开 Public
- 提交身份:匿名邮箱
Zoeyshi-code@users.noreply.github.com(不暴露真实姓名/QQ 邮箱) - 仓库名:最终改为
Spark-based-IT-Job-Salary-Analysis-and-Prediction-System-Boss
4.2 SSH 配置
- 原有
id_rsa(3072 位)被 GitHub 判定 weak - 生成新 ed25519 密钥:
~/.ssh/id_ed25519 - 配置
~/.ssh/config让 github.com 走 ed25519 - 公钥添加到 GitHub 账户
4.3 推送
git init -b main→ 匿名身份提交 →git remote add origin→--force-with-lease推送(覆盖自动生成的空 README)
五、README 编写
从论文 F:\Obsidian\data\dify企业问答知识库项目\data_test_github.md 精炼成 GitHub README,包含:
- 项目简介、功能特性、技术栈、系统架构、目录结构
- 快速开始(含环境变量配置、依赖安装)
- 效果展示、项目说明与合规免责声明
六、截图与改名
6.1 截图
14 张截图复制到 screenshots/ 并重命名(home、login、profile、6 个可视化模块、salary-prediction、ai-job-match、3 个后台管理)。
6.2 仓库改名
- 原名
-Spark-IT-BOSS-(以-开头不规范) - 改为
Spark-based-IT-Job-Salary-Analysis-and-Prediction-System-Boss - 本地 remote 已同步更新并验证
七、环境变量清单(运行项目需要)
DJANGO_SECRET_KEY # Django 密钥
DJANGO_DEBUG # "True"/"False"
DB_HOST # 数据库地址
DB_PASSWORD # 数据库密码
DEEPSEEK_API_KEY # AI 岗位匹配模块需要
八、遗留注意事项 / 待办 ⚠️
8.1 截图敏感信息未检查(最重要)
- 当前模型(DeepSeek)不支持图片识别,无法自动检查截图内容
- 截图来自运行界面,可能含真实招聘者姓名、手机号
- 待办:用户需自行打开 GitHub 仓库页面,逐张检查截图,尤其薪资分析、企业情况、后台管理这几张
8.2 其他已处理项
- ✅
http.sslverify已恢复为true(之前被关闭,有中间人攻击风险) - ✅ SSH key 已切换到 ed25519
- ✅ 匿名提交身份已配置
8.3 可选后续
- LICENSE:目前"保留所有权利",如需开源可选 MIT/Apache-2.0
- README 截图占位已填充,可继续补充更多说明
九、最终仓库信息
- 仓库地址:https://github.com/Zoeyshi-code/Spark-based-IT-Job-Salary-Analysis-and-Prediction-System-Boss
- 本地副本:
G:\data_test_github(干净版) - 原始项目:
G:\data_test(未改动)