扫描报告
52 /100
risk-analysis
高风险行为识别分析工具 — video/image-based fall detection, health risk analysis, and behavioral monitoring
Skill declares video/image risk analysis but contains undeclared MySQL database connectivity with hardcoded credentials, fallback hardcoded JWT tokens in source code, and connects to an internal IP (172.31.16.2) — all missing from SKILL.md documentation.
谨慎使用
Remove hardcoded credentials from config.yaml and source code. Declare all database and network resource access in SKILL.md. Pin dependency versions. Audit data flows for exfiltration risk before production deployment.
安全发现 8 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 高危 | Hardcoded MySQL credentials in config.yaml 凭证窃取 | skills/scripts/common/config.yaml:4 |
| 高危 | Hardcoded Feishu app credentials in config.yaml 凭证窃取 | skills/scripts/common/config.yaml:10 |
| 高危 | Hardcoded JWT bearer tokens in exception handler fallback 凭证窃取 | skills/scripts/common/util.py:217 |
| 高危 | Undeclared MySQL database connectivity — SKILL.md mismatch 文档欺骗 | skills/scripts/common/dao.py:58 |
| 中危 | No dependency version pinning in requirements.txt 供应链 | requirements.txt:1 |
| 中危 | Undeclared environment variable reading for user identity 权限提升 | skills/scripts/common/config.py:178 |
| 中危 | User token storage in external MySQL database — undeclared data sink 数据外泄 | skills/scripts/common/dao.py:232 |
| 低危 | Internal network IP (172.31.16.2) hardcoded 敏感访问 | skills/scripts/common/config.yaml:4 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | SKILL.md: scripts/risk_analysis.py reads local files with os.path.exists, os.pat… |
| 网络访问 | READ | WRITE | ✗ 越权 | SKILL.md does not declare network:WRITE; risk_analysis.py sends POST requests to… |
| 数据库 | NONE | WRITE | ✗ 越权 | SKILL.md declares no database access; dao.py uses SQLAlchemy to connect to MySQL… |
| 命令执行 | NONE | NONE | — | No subprocess/shell execution found |
| 环境变量 | NONE | READ | ✓ 一致 | config.py reads ALERT_FEISHU_WEBHOOK, RISK_ANALYSIS_API_KEY, RISK_ANALYSIS_API_U… |
| 剪贴板 | NONE | NONE | — | No clipboard access found |
| 浏览器 | NONE | NONE | — | No browser access found |
| 技能调用 | NONE | NONE | — | No dynamic skill invocation found |
1 高危 7 项发现
高危 IP 地址 硬编码 IP 地址
172.31.16.2 skills/scripts/common/config.yaml:4 中危 外部 URL 外部 URL
https://open.lifeemergence.com/smyx-open-api scripts/config.py:56 中危 外部 URL 外部 URL
http://livemonitortest.lifeemergence.com/smyx-open-api skills/scripts/common/config-dev.yaml:4 中危 外部 URL 外部 URL
https://healthtest.lifeemergence.com/jeecg-boot skills/scripts/common/config-dev.yaml:5 中危 外部 URL 外部 URL
http://192.168.1.234:8080/jeecg-boot skills/scripts/common/config-dev.yaml:6 中危 外部 URL 外部 URL
https://lifeemergence.com/jeecg-boot skills/scripts/common/config.yaml:6 提示 邮箱 邮箱地址
[email protected] skills/scripts/common/config-dev.yaml:3 目录结构
19 文件 · 62.9 KB · 1765 行 Python 11f · 1405L
Markdown 2f · 200L
Text 1f · 127L
YAML 5f · 33L
├─
▾
references
│ └─
risk_categories.md
Markdown
├─
▾
scripts
│ ├─
__init__.py
Python
│ ├─
config.py
Python
│ ├─
config.yaml
YAML
│ ├─
risk_analysis.py
Python
│ └─
skill.py
Python
├─
▾
skills
│ └─
▾
scripts
│ └─
▾
common
│ ├─
__init__.py
Python
│ ├─
api_service.py
Python
│ ├─
base.py
Python
│ ├─
config-dev.yaml
YAML
│ ├─
config-prod.yaml
YAML
│ ├─
config-test.yaml
YAML
│ ├─
config.py
Python
│ ├─
config.yaml
YAML
│ ├─
dao.py
Python
│ └─
util.py
Python
├─
__init__.py
Python
├─
requirements.txt
Text
└─
SKILL.md
Markdown
依赖分析 7 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
requests | >=2.28.0 | pip | 否 | Version not pinned — minimum declared is 2.28.0, latest 2.32.5 may be installed |
opencv-python | >=4.5.5 | pip | 否 | Version not pinned |
numpy | >=1.21.0 | pip | 否 | Version not pinned |
pillow | >=9.0.0 | pip | 否 | Version not pinned |
SQLAlchemy | 2.0.46 | pip | 否 | Exact pinned version present in requirements.txt |
PyMySQL | 1.1.2 | pip | 否 | Exact pinned version |
pydash | 8.0.6 | pip | 否 | Exact pinned version; used for response extraction |
安全亮点
✓ No subprocess, shell execution, or direct OS command invocation found
✓ No base64-encoded payloads or obfuscated execution
✓ No ~/.ssh, ~/.aws, or .env file reading
✓ No reverse shell, C2 communication patterns, or data theft to external IPs
✓ No cron/persistence mechanisms or startup hooks detected
✓ Skill follows a legitimate health monitoring use case (fall detection, risk analysis)
✓ Input validation exists for file paths and URL formats
✓ open-id enforcement is documented and implemented to prevent unauthorized analysis