Why this conclusion was reached
2/4 dimensions flagged Block Declared vs actual capability 3 undeclared or violating capabilities were inferred.
Block Hidden execution and egress 1 high-risk artifacts or egress signals were extracted.
Pass Attack chain and severe findings There is no explicit malicious chain in the report.
Review Dependencies and supply chain hygiene 2 dependency or supply-chain issues need attention.
What drove the risk score up
阴影功能:admin 权限操作未声明 +10
token_is_site_admin、admin/users API、创建 system-config 仓库等操作在 SKILL.md 中未提及
供应链风险:无版本锁定 +5
requests、python-dotenv 使用 * 版本
信息泄露:硬编码 IP +5
env-example.txt 包含 43.134.182.170,可能暴露内网基础设施
Most important evidence
Medium Doc Mismatch
Admin 级别操作未在文档中声明
gitea_api.py 中的 token_is_site_admin()、/admin/users 和 /admin/users/{username}/repos API 调用,以及 system_config.py 创建 system-config 系统仓库管理用户/团队/权限数据,均未在 SKILL.md 中提及。
scripts/gitea_api.py:55 在 SKILL.md 的执行流程或权限说明中明确声明需要 Gitea admin token 以及会创建系统控制仓库。
Low Supply Chain
依赖包无版本锁定
requirements.txt 中的 requests 和 python-dotenv 未指定版本号,可能引入未知版本依赖。
requirements.txt:1 使用锁定版本:requests>=2.28.0, python-dotenv>=0.19.0
Low Sensitive Access
环境示例文件包含硬编码 IP 地址
env-example.txt 中硬编码了 43.134.182.170 作为 GITEA_URL,可能泄露内网基础设施信息。
env-example.txt:1 将 IP 替换为占位符如 YOUR_GITEA_HOST,或使用 localhost/127.0.0.1
Info Priv Escalation
未声明的脚本执行能力
setup.sh 执行 pip install 和文件复制操作,但未在 SKILL.md 中声明。
setup.sh:1 如 skill 需要自动安装依赖,应在文档中说明。
Declared capability vs actual capability
Network Block
Declared NONE
→ Inferred WRITE
gitea_api.py:51 使用 requests 库访问 Gitea API Environment Block
Declared NONE
→ Inferred READ
gitea_api.py:27 读取 GITEA_ADMIN_TOKEN Shell Block
Declared NONE
→ Inferred WRITE
setup.sh:2 pip install 和文件操作
Suspicious artifacts and egress
High IP Address
43.134.182.170 env-example.txt:1
Medium External URL
http://43.134.182.170:3000 env-example.txt:1
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
| requests | * | pip | No | 无版本锁定 |
| python-dotenv | * | pip | No | 无版本锁定 |
File composition
14 files · 714 lines Python 8 files · 606 linesMarkdown 1 files · 74 linesJSON 1 files · 18 linesText 2 files · 7 linesShell 1 files · 5 linesJavaScript 1 files · 4 lines
Files of concern · 3
scripts/gitea_api.py Python · 202 lines
Admin 级别操作未在文档中声明
setup.sh Shell · 5 lines
未声明的脚本执行能力
env-example.txt Text · 5 lines
环境示例文件包含硬编码 IP 地址 · 43.134.182.170 · http://43.134.182.170:3000
Other files · system_config.py · catalog.py · save_review.py · kb_schema.py · SKILL.md · generate_onboarding.py +3
14 files · 23.0 KB · 714 lines
Python 8f · 606LMarkdown 1f · 74LJSON 1f · 18LText 2f · 7LShell 1f · 5LJavaScript 1f · 4L
├─
▾
📁
scripts
│ ├─
🐍
catalog.py
Python
63L · 2.5 KB
│ ├─
🐍
generate_onboarding.py
Python
45L · 1.6 KB
│ ├─
🐍
gitea_api.py
Python
202L · 6.7 KB
│ ├─
🐍
kb_schema.py
Python
64L · 2.0 KB
│ ├─
🐍
kb_templates.py
Python
23L · 1.3 KB
│ ├─
🐍
save_review.py
Python
61L · 2.0 KB
│ ├─
🐍
system_config.py
Python
113L · 3.4 KB
│ └─
🐍
utils.py
Python
35L · 1.0 KB
├─
📝
SKILL.md
Markdown
74L · 1.8 KB
├─
📋
_meta.json
JSON
18L · 405 B
├─
📄
env-example.txt
Text
5L · 131 B
├─
📜
main.js
JavaScript
4L · 92 B
├─
📄
requirements.txt
Text
2L · 25 B
└─
🔧
setup.sh
Shell
5L · 148 B
Security positives
代码结构清晰,无混淆、无 base64 编码执行
无凭证收割行为,admin token 仅用于 Gitea API 认证
无外部数据外泄,网络请求仅指向配置的 GITEA_URL
无文件系统的任意读写,仅操作指定的 KB 目录和 /tmp 草稿
所有文件操作均有错误处理和日志