Why this conclusion was reached
1/4 dimensions flagged Block Declared vs actual capability 3 undeclared or violating capabilities were inferred.
Review Hidden execution and egress 10 lower-risk artifacts were extracted and still need context.
Pass Attack chain and severe findings There is no explicit malicious chain in the report.
Pass Dependencies and supply chain hygiene Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
阴影功能:本地SQLite存储凭证 +15
dao.py创建smyx-common-claw.db存储token/open_token等敏感信息,SKILL.md未声明
阴影功能:读取平台内部环境变量 +10
AgentContextUtil读取OPENCLAW_SENDER_OPEN_ID、FEISHU_OPEN_ID等平台内部变量
Most important evidence
Medium Sensitive Access
本地数据库存储用户凭证
dao.py创建本地SQLite数据库smyx-common-claw.db,存储sys_user表包含username、token、open_token等敏感凭证,SKILL.md未声明
skills/smyx_common/scripts/dao.py:91 在SKILL.md中声明需要本地存储用户凭证以支持自动登录功能
Low Doc Mismatch
平台内部环境变量读取
OpenIdUtil和ConstantEnum读取OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID等平台内部环境变量,用于身份关联,SKILL.md未提及
skills/smyx_common/scripts/util.py:299 补充文档说明技能与平台的身份关联机制
Low Sensitive Access
自动登录API调用
RequestUtil.http_request自动调用/sys/phoneLogin接口进行静默登录,传入open_id参数,代码注释掉的默认值ou_86fdd8e0d5f116c18a9dd550abefe6d2未在文档说明
skills/smyx_common/scripts/util.py:214 明确自动登录机制的作用范围和隐私影响
Declared capability vs actual capability
Filesystem Block
Declared READ
→ Inferred WRITE
dao.py:91 创建SQLite数据库文件 Network Pass
Declared READ
→ Inferred READ
api_service.py HTTP请求到lifeemergence.com Shell Pass
Declared NONE
→ Inferred NONE
无subprocess调用 Environment Block
Declared NONE
→ Inferred READ
util.py:299-301 读取OPENCLAW_SENDER_OPEN_ID等 Database Block
Declared NONE
→ Inferred WRITE
dao.py:91 create_engine创建本地SQLite
Suspicious artifacts and egress
Medium External URL
https://lifeemergence.com/sample.html SKILL.md:36
Medium External URL
http://192.168.1.234:9601/smyx-open-api skills/smyx_common/scripts/config-dev.yaml:2
Medium External URL
http://192.168.1.234:4100 skills/smyx_common/scripts/config-dev.yaml:3
Medium External URL
http://192.168.1.234:7070/jeecg-boot-xzgz skills/smyx_common/scripts/config-dev.yaml:4
Medium External URL
https://livemonitortest.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config-test.yaml:2
Medium External URL
http://livemonitortest.lifeemergence.com skills/smyx_common/scripts/config-test.yaml:3
Medium External URL
https://healthtest.lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config-test.yaml:4
Medium External URL
https://lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config.yaml:4
Medium External URL
https://open.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config.yaml:5
Medium External URL
http://livemonitor.lifeemergence.com skills/smyx_common/scripts/config.yaml:6
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
| pydash | 8.0.6 | pip | No | 版本锁定 |
| SQLAlchemy | 2.0.46 | pip | No | 版本锁定 |
| PyYAML | 6.0.3 | pip | No | 版本锁定 |
File composition
29 files · 2781 lines Python 18 files · 2499 linesMarkdown 3 files · 247 linesYAML 6 files · 29 linesText 2 files · 6 lines
Files of concern · 3
skills/smyx_common/scripts/util.py Python · 718 lines
平台内部环境变量读取 · 自动登录API调用
skills/smyx_common/scripts/dao.py Python · 499 lines
本地数据库存储用户凭证
SKILL.md Markdown · 207 lines
https://lifeemergence.com/sample.html
Other files · config.py · study_analysis.py · skill.py · smyx_analysis.py · api_service.py · skill.py +3
29 files · 112.1 KB · 2781 lines
Python 18f · 2499LMarkdown 3f · 247LYAML 6f · 29LText 2f · 6L
├─
▾
📁
references
│ └─
📝
api_doc.md
Markdown
21L · 644 B
├─
▾
📁
scripts
│ ├─
🐍
__init__.py
Python
1L · 33 B
│ ├─
🐍
config.py
Python
24L · 658 B
│ ├─
📋
config.yaml
YAML
1L · 2 B
│ ├─
🐍
skill.py
Python
23L · 567 B
│ └─
🐍
study_analysis.py
Python
238L · 8.5 KB
├─
▾
📁
skills
│ ├─
▾
📁
smyx_analysis
│ │ ├─
▾
📁
references
│ │ │ └─
📝
api_doc.md
Markdown
19L · 427 B
│ │ ├─
▾
📁
scripts
│ │ │ ├─
🐍
__init__.py
Python
0 B
│ │ │ ├─
🐍
api_service.py
Python
40L · 1.5 KB
│ │ │ ├─
🐍
config.py
Python
39L · 1003 B
│ │ │ ├─
📋
config.yaml
YAML
1L · 3 B
│ │ │ ├─
🐍
skill.py
Python
175L · 6.4 KB
│ │ │ └─
🐍
smyx_analysis.py
Python
115L · 3.7 KB
│ │ ├─
🐍
__init__.py
Python
0 B
│ │ └─
📄
requirements.txt
Text
3L · 45 B
│ └─
▾
📁
smyx_common
│ ├─
▾
📁
scripts
│ │ ├─
🐍
__init__.py
Python
9L · 177 B
│ │ ├─
🐍
api_service.py
Python
101L · 2.6 KB
│ │ ├─
🐍
base.py
Python
33L · 469 B
│ │ ├─
📋
config-dev.yaml
YAML
6L · 214 B
│ │ ├─
📋
config-prod.yaml
YAML
0 B
│ │ ├─
📋
config-test.yaml
YAML
6L · 256 B
│ │ ├─
🐍
config.py
Python
399L · 23.8 KB
│ │ ├─
📋
config.yaml
YAML
15L · 472 B
│ │ ├─
🐍
dao.py
Python
499L · 17.8 KB
│ │ ├─
🐍
skill.py
Python
85L · 2.4 KB
│ │ └─
🐍
util.py
Python
718L · 28.1 KB
│ ├─
🐍
__init__.py
Python
0 B
│ └─
📄
requirements.txt
Text
3L · 47 B
└─
📝
SKILL.md
Markdown
207L · 12.4 KB
Security positives
依赖包版本锁定:pydash、SQLAlchemy、PyYAML均指定版本
无远程代码执行或shell管道
无base64编码或eval混淆
API通信目标明确为官方域名
无访问~/.ssh、~/.aws等敏感路径