Scan Report
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.
Use with caution
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.
Findings 8 items
| Severity | Finding | Location |
|---|---|---|
| High | Hardcoded MySQL credentials in config.yaml Credential Theft | skills/scripts/common/config.yaml:4 |
| High | Hardcoded Feishu app credentials in config.yaml Credential Theft | skills/scripts/common/config.yaml:10 |
| High | Hardcoded JWT bearer tokens in exception handler fallback Credential Theft | skills/scripts/common/util.py:217 |
| High | Undeclared MySQL database connectivity — SKILL.md mismatch Doc Mismatch | skills/scripts/common/dao.py:58 |
| Medium | No dependency version pinning in requirements.txt Supply Chain | requirements.txt:1 |
| Medium | Undeclared environment variable reading for user identity Priv Escalation | skills/scripts/common/config.py:178 |
| Medium | User token storage in external MySQL database — undeclared data sink Data Exfil | skills/scripts/common/dao.py:232 |
| Low | Internal network IP (172.31.16.2) hardcoded Sensitive Access | skills/scripts/common/config.yaml:4 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | SKILL.md: scripts/risk_analysis.py reads local files with os.path.exists, os.pat… |
| Network | READ | WRITE | ✗ Violation | SKILL.md does not declare network:WRITE; risk_analysis.py sends POST requests to… |
| Database | NONE | WRITE | ✗ Violation | SKILL.md declares no database access; dao.py uses SQLAlchemy to connect to MySQL… |
| Shell | NONE | NONE | — | No subprocess/shell execution found |
| Environment | NONE | READ | ✓ Aligned | config.py reads ALERT_FEISHU_WEBHOOK, RISK_ANALYSIS_API_KEY, RISK_ANALYSIS_API_U… |
| Clipboard | NONE | NONE | — | No clipboard access found |
| Browser | NONE | NONE | — | No browser access found |
| Skill Invoke | NONE | NONE | — | No dynamic skill invocation found |
1 High 7 findings
High IP Address 硬编码 IP 地址
172.31.16.2 skills/scripts/common/config.yaml:4 Medium External URL 外部 URL
https://open.lifeemergence.com/smyx-open-api scripts/config.py:56 Medium External URL 外部 URL
http://livemonitortest.lifeemergence.com/smyx-open-api skills/scripts/common/config-dev.yaml:4 Medium External URL 外部 URL
https://healthtest.lifeemergence.com/jeecg-boot skills/scripts/common/config-dev.yaml:5 Medium External URL 外部 URL
http://192.168.1.234:8080/jeecg-boot skills/scripts/common/config-dev.yaml:6 Medium External URL 外部 URL
https://lifeemergence.com/jeecg-boot skills/scripts/common/config.yaml:6 Info Email 邮箱地址
[email protected] skills/scripts/common/config-dev.yaml:3 File Tree
19 files · 62.9 KB · 1765 lines 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
Dependencies 7 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
requests | >=2.28.0 | pip | No | Version not pinned — minimum declared is 2.28.0, latest 2.32.5 may be installed |
opencv-python | >=4.5.5 | pip | No | Version not pinned |
numpy | >=1.21.0 | pip | No | Version not pinned |
pillow | >=9.0.0 | pip | No | Version not pinned |
SQLAlchemy | 2.0.46 | pip | No | Exact pinned version present in requirements.txt |
PyMySQL | 1.1.2 | pip | No | Exact pinned version |
pydash | 8.0.6 | pip | No | Exact pinned version; used for response extraction |
Security Positives
✓ 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