低风险 — 风险评分 18/100
上次扫描:2 天前 重新扫描
18 /100
resume-jd-matcher
批量解析简历并与岗位JD进行AI智能匹配,生成结构化匹配报告(Excel)
合法的HR简历匹配工具,代码功能与文档一致,但配置文件包含硬编码API凭证存在泄露风险
技能名称resume-jd-matcher
分析耗时48.2s
引擎pi
可以安装
建议将API密钥迁移至环境变量或密钥管理服务,删除config文件中的真实凭证

安全发现 3 项

严重性 安全发现 位置
中危
配置文件包含硬编码API凭证
references/config_resume_match.yaml中硬编码了多个真实的API密钥,包括腾讯(sk-sp-sq7Y7eo9L0vgFpuESFLq5YsQB8qumjDnwOPeciB9v3F0BSKv)、阿里(sk-sp-3e0faf520b904151914a663bdbc884f7)、中国移动(Bearer YmQzNDQw...)等。这些密钥与placeholder密钥混在一起,增加了泄露风险。
api_key: "sk-sp-sq7Y7eo9L0vgFpuESFLq5YsQB8qumjDnwOPeciB9v3F0BSKv"
→ 使用环境变量替代硬编码密钥,如 os.getenv('TENCENT_API_KEY')
references/config_resume_match.yaml:20-70
低危
依赖无版本锁定
SKILL.md中声明的依赖(python-docx>=0.8.0, pdfplumber>=0.11.0等)使用>=而非精确版本,可能引入依赖供应链风险
python-docx>=0.8.0
→ 锁定具体版本号以确保构建可重现性
SKILL.md:136-141
提示
API模式依赖requests库
api模式下使用requests库调用外部AI服务,需确保网络通信安全
response = requests.post(API_URL, headers=headers, json=data, timeout=TIMEOUT)
→ 确认目标API端点可信,当前发现的API均为国内主流AI服务商
scripts/resume_match.py:310-340
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 SKILL.md声明读取简历和JD文件,代码正确实现
文件系统 WRITE WRITE ✓ 一致 SKILL.md声明生成Excel报告,代码使用openpyxl写入
网络访问 NONE READ ✓ 一致 config_resume_match.yaml:20-70 - api模式通过requests调用外部AI API
环境变量 NONE NONE 代码未访问os.environ
8 高危 17 项发现
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "sk-sp-sq7Y7eo9L0vgFpuESFLq5YsQB8qumjDnwOPeciB9v3F0BSKv"
references/config_resume_match.yaml:39
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "sk-sp-3e0faf520b904151914a663bdbc884f7"
references/config_resume_match.yaml:47
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_BAIDU_API_KEY"
references/config_resume_match.yaml:55
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_DEEPSEEK_API_KEY"
references/config_resume_match.yaml:63
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_MOONSHOT_API_KEY"
references/config_resume_match.yaml:71
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_TENCENT_API_KEY"
references/config_template.yaml:23
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_ALIBABA_API_KEY"
references/config_template.yaml:31
🔑
高危 API 密钥 疑似硬编码凭证
api_key: "YOUR_CMHK_API_KEY"
references/config_template.yaml:39
🔗
中危 外部 URL 外部 URL
https://api.hunyuan.tencent.com/v1/chat/completions
SKILL.md:96
🔗
中危 外部 URL 外部 URL
https://opensseapi.cmhk.com/CMHK-LMMP-PRD_Qwen3_235B/CMHK-LMMP-PRD/v1/chat/completions
references/config_resume_match.yaml:29
🔗
中危 外部 URL 外部 URL
https://api.lkeap.cloud.tencent.com/coding/anthropic/v1/messages
references/config_resume_match.yaml:40
🔗
中危 外部 URL 外部 URL
https://coding.dashscope.aliyuncs.com/v1
references/config_resume_match.yaml:48
🔗
中危 外部 URL 外部 URL
https://qianfan.baidubce.com/v2/chat/completions
references/config_resume_match.yaml:56
🔗
中危 外部 URL 外部 URL
https://api.deepseek.com/v1/chat/completions
references/config_resume_match.yaml:64
🔗
中危 外部 URL 外部 URL
https://api.moonshot.cn/v1/chat/completions
references/config_resume_match.yaml:72
🔗
中危 外部 URL 外部 URL
https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
references/config_template.yaml:32
📧
提示 邮箱 邮箱地址
[email protected]
README.md:8

目录结构

9 文件 · 73.8 KB · 2163 行
Python 4f · 1546L Markdown 2f · 408L YAML 2f · 191L JSON 1f · 18L
├─ 📁 references
│ ├─ 📋 config_resume_match.yaml YAML 139L · 4.2 KB
│ └─ 📋 config_template.yaml YAML 52L · 1.6 KB
├─ 📁 scripts
│ ├─ 🐍 batch_processor.py Python 206L · 6.8 KB
│ ├─ 🐍 resume_match.py Python 835L · 34.0 KB
│ └─ 🐍 skill_handler.py Python 374L · 12.9 KB
├─ 📋 _meta.json JSON 18L · 590 B
├─ 🐍 main.py Python 131L · 4.1 KB
├─ 📝 README.md Markdown 203L · 4.7 KB
└─ 📝 SKILL.md Markdown 205L · 4.9 KB

依赖分析 5 项

包名版本来源已知漏洞备注
openpyxl >=3.0.0 pip 无版本锁定
requests >=2.28.0 pip 无版本锁定
python-docx >=0.8.0 pip 无版本锁定
pyyaml >=6.0.0 pip 无版本锁定
pdfplumber >=0.11.0 pip 无版本锁定

安全亮点

✓ 代码功能与SKILL.md文档完全一致,无阴影功能
✓ 使用标准库进行文件处理(python-docx, pdfplumber, openpyxl)
✓ subagent模式使用OpenClaw内部工具,无需外部API暴露密钥
✓ 未发现任何凭证收割、远程执行、数据外泄等恶意行为
✓ 代码结构清晰,错误处理完善
✓ 支持增量处理,遵循最小权限原则