resume-jd-matcher
Skill contains 3 real hardcoded API keys and 5 placeholder keys in config files - credentials exposed in plaintext, though functionality appears consistent with stated resume matching purpose.
Three real API keys are hardcoded in config_resume_match.yaml: Tencent Hunyuan key, Alibaba Qwen key, and CMHK bearer token. These credentials are exposed in plaintext.
references/config_resume_match.yaml:39 为什么得出这个结论
2/4 个维度触发声明资源与推断能力基本一致。
提取到 8 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 3 项高危或严重发现。
发现 5 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
3 real API keys and 5 placeholder keys found in config_resume_match.yaml and config_template.yaml
API keys stored as plaintext strings, no encryption or env var usage
最关键的证据
Hardcoded Real API Keys in Configuration
Three real API keys are hardcoded in config_resume_match.yaml: Tencent Hunyuan key, Alibaba Qwen key, and CMHK bearer token. These credentials are exposed in plaintext.
references/config_resume_match.yaml:39 Hardcoded API Key in Config File
Real Alibaba API key found in config_resume_match.yaml
references/config_resume_match.yaml:47 Hardcoded Bearer Token in Config File
CMHK bearer token found in config_resume_match.yaml
references/config_resume_match.yaml:31 Placeholder API Keys in Config Files
5 placeholder keys found with pattern 'YOUR_*_API_KEY' - these are not immediately dangerous but indicate the credential management pattern
references/config_resume_match.yaml, references/config_template.yaml:55, 63, 71, 23, 31, 39 No Version Pinning for Dependencies
SKILL.md lists dependencies without version constraints, though requirements.txt in code uses >= operators
SKILL.md:108 声明能力 vs 实际能力
SKILL.md: Reads .docx/.pdf files, writes Excel output config_resume_match.yaml: Makes API calls to external AI services _meta.json: sessions_spawn, subagents, sessions_history No subprocess or shell execution found 可疑产物与外联
api_key: "sk-sp-sq7Y7eo9L0vgFpuESFLq5YsQB8qumjDnwOPeciB9v3F0BSKv" references/config_resume_match.yaml:39
api_key: "sk-sp-3e0faf520b904151914a663bdbc884f7" references/config_resume_match.yaml:47
api_key: "YOUR_BAIDU_API_KEY" references/config_resume_match.yaml:55
api_key: "YOUR_DEEPSEEK_API_KEY" references/config_resume_match.yaml:63
api_key: "YOUR_MOONSHOT_API_KEY" references/config_resume_match.yaml:71
api_key: "YOUR_TENCENT_API_KEY" references/config_template.yaml:23
api_key: "YOUR_ALIBABA_API_KEY" references/config_template.yaml:31
api_key: "YOUR_CMHK_API_KEY" references/config_template.yaml:39
https://api.hunyuan.tencent.com/v1/chat/completions SKILL.md:96
https://opensseapi.cmhk.com/CMHK-LMMP-PRD_Qwen3_235B/CMHK-LMMP-PRD/v1/chat/completions references/config_resume_match.yaml:29
https://api.lkeap.cloud.tencent.com/coding/anthropic/v1/messages references/config_resume_match.yaml:40
https://coding.dashscope.aliyuncs.com/v1 references/config_resume_match.yaml:48
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| openpyxl | >=3.0.0 | pip | 否 | Version constraint only, not pinned |
| requests | >=2.28.0 | pip | 否 | Version constraint only, not pinned |
| python-docx | >=0.8.0 | pip | 否 | Version constraint only, not pinned |
| pyyaml | >=6.0.0 | pip | 否 | Version constraint only, not pinned |
| pdfplumber | >=0.11.0 | pip | 否 | Version constraint only, not pinned |
文件构成
SKILL.md README.md references/config_resume_match.yaml references/config_template.yaml