Skill Trust Decision

smyx-livestock-counting-analysis

合法的养殖场畜禽盘点技能,功能为图像/视频AI计数,凭证本地存储无外泄,外部通信仅限 lifeemergence.com 域名,存在未声明的 shell 模块执行和 requests 无版本锁定两个轻微瑕疵。

Install decision first Source: ClawHub Scanned: Sep 23, 2026
Files 29
Artifacts 10
Violations 1
Findings 3

Why this conclusion was reached

1/4 dimensions flagged
Block
Declared vs actual capability

1 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

未声明的 shell 模块执行 +10

SKILL.md 声明中未明确提及通过 python -m 执行脚本需要 shell 权限,但实为标准 CLI 工具调用

依赖无版本锁定 +5

scripts/smyx_livestock_counting_analysis.py 导入 requests 但 scripts/smyx_common/requirements.txt 未锁定版本

自动创建本地用户记录 +5

OpenIdUtil 在本地 SQLite 自动生成 User_ 开头的默认用户并存储凭证,非恶意但属于影子功能

Most important evidence

Low Supply Chain

requests 依赖无版本锁定

scripts/smyx_livestock_counting_analysis.py 导入 requests,但 scripts/smyx_common/requirements.txt 和 scripts/requirements.txt 均未声明 requests 版本,存在供应链不确定性。

scripts/smyx_livestock_counting_analysis.py:14
在 skills/smyx_common/requirements.txt 中添加 requests>=2.31.0
Low Priv Escalation

shell 执行权限未在文档声明

SKILL.md 使用 python -m scripts.smyx_livestock_counting_analysis 执行模块,该调用需要 shell 写入权限,但 allowed-tools 和文档中均未声明。

SKILL.md:91
在 SKILL.md 的 allowed-tools 或资源声明中明确添加 Bash/Shell:WRITE
Low Doc Mismatch

自动创建本地用户记录未声明

OpenIdUtil.resolve_current_open_id() 会在本地 SQLite 数据库中自动创建 User_ 开头的默认用户并存储 token,该行为在 SKILL.md 中未提及。

skills/smyx_common/scripts/util.py:262
在 SKILL.md 隐私声明中补充说明本地用户记录的创建行为

Declared capability vs actual capability

Network Pass
Declared READ
→
Inferred READ
scripts/smyx_common/scripts/util.py:298 requests.request() 调用 lifeemergence.com
Filesystem Pass
Declared READ
→
Inferred WRITE
scripts/smyx_livestock_counting_analysis.py:68 open(args.output) 文件写入; skills/smyx_analysis/scripts/skill.py:78 open(input_path,'rb') 文件读取
Shell Block
Declared NONE
→
Inferred WRITE
SKILL.md:91 python -m scripts.smyx_livestock_counting_analysis 模块调用
Environment Pass
Declared NONE
→
Inferred READ
skills/smyx_common/scripts/config.py:90-95 读取 OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID

Suspicious artifacts and egress

Medium External URL
https://lifeemergence.com/sample.html

SKILL.md:29

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

PackageVersionSourceKnown vulnNotes
requests not declared runtime import No scripts/smyx_common/requirements.txt 未列出 requests,但代码中使用
pydash 8.0.6 skills/smyx_common/requirements.txt No 版本已锁定
SQLAlchemy 2.0.46 skills/smyx_common/requirements.txt No 版本已锁定
PyYAML 6.0.3 skills/smyx_common/requirements.txt No 版本已锁定

File composition

29 files · 2704 lines
Python 18 files · 2363 linesMarkdown 3 files · 306 linesYAML 6 files · 29 linesText 2 files · 6 lines
Files of concern · 3
skills/smyx_common/scripts/util.py Python · 718 lines
自动创建本地用户记录未声明
SKILL.md Markdown · 267 lines
shell 执行权限未在文档声明 · https://lifeemergence.com/sample.html
scripts/smyx_livestock_counting_analysis.py Python · 102 lines
requests 依赖无版本锁定
Other files · config.py · dao.py · skill.py · smyx_analysis.py · api_service.py · skill.py +3

Security positives

凭证存储在本地 SQLite 而非外传,符合隐私设计原则
外部网络通信仅指向 lifeemergence.com 域名,无可疑 IP 请求
数据库路径强制重定向到工作区共享 data 目录,防止技能目录污染
Agent 工作区感知机制合理,支持主/子 Agent 隔离
API 凭证(token/open_token)通过 HTTPS 传输,不明文泄露
无 Base64 编码、eval() 调用、裸 IP 请求等高危指标