Scan Report
70 /100
gitlab
GitLab operations including creating and cloning repositories, listing projects, managing issues, merge requests, branches, commits, and pipelines.
Skill contains hardcoded GitLab API token and undocumented script that uses subprocess with curl, creating significant credential exposure and exfiltration risk.
Do not install this skill
Remove hardcoded credentials from fetch_repos.py, declare all scripts in SKILL.md, and audit all subprocess calls for hidden network behavior.
Attack Chain 3 steps
◎
Entry fetch_repos.py contains hardcoded GitLab token for git.littaro.cn
scripts/fetch_repos.py:7⬡
Escalation Undocumented subprocess with curl executes API calls using hardcoded token
scripts/fetch_repos.py:14◉
Impact Credential exposure through hardcoded PAT allows unauthorized repository access
scripts/fetch_repos.py:7Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Critical | Hardcoded GitLab API Token | scripts/fetch_repos.py:7 |
| High | Undocumented Script with Subprocess | scripts/fetch_repos.py:14 |
| High | Disabled SSL Verification | scripts/fetch_repos.py:15 |
| Medium | Data Exfiltration Risk | scripts/fetch_repos.py:7 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | SKILL.md states read access only |
| Network | READ | READ | ✓ Aligned | SKILL.md documents API operations |
| Shell | NONE | WRITE | ✗ Violation | fetch_repos.py:14-18 uses subprocess.run() |
1 Critical 9 findings
Critical API Key 硬编码 API 密钥
glpat-UEfWfdCYx9e46BQnW5nz scripts/fetch_repos.py:7 Medium External URL 外部 URL
https://gitlab.example.com SKILL.md:16 Medium External URL 外部 URL
https://gitlab.example.com/username/my-project SKILL.md:61 Medium External URL 外部 URL
https://gitlab.example.com/username/my-project.git SKILL.md:62 Medium External URL 外部 URL
https://gitlab.example.com/group/project SKILL.md:85 Medium External URL 外部 URL
https://oauth2:TOKEN@host/project.git SKILL.md:92 Medium External URL 外部 URL
https://gitlab.example.com/group/project-name SKILL.md:116 Medium External URL 外部 URL
https://git.littaro.cn scripts/fetch_repos.py:8 Medium External URL 外部 URL
https://host/group/project scripts/gitlab_api.py:112 File Tree
6 files · 42.5 KB · 1177 lines Python 3f · 794L
Markdown 1f · 326L
JSON 2f · 57L
├─
▾
evals
│ └─
evals.json
JSON
├─
▾
scripts
│ ├─
config.json
⚠
JSON
│ ├─
fetch_repos.py
Python
│ ├─
gitlab_api.py
Python
│ └─
list_repos.py
Python
└─
SKILL.md
Markdown
Security Positives
✓ gitlab_api.py uses config.json for credentials (proper credential handling)
✓ list_repos.py reads credentials from config.json only
✓ SKILL.md documents proper config.json usage for user credentials
✓ Skill functionality (GitLab operations) is legitimate and documented