Scan Report
20 /100
gitlab
GitLab operations including creating and cloning repositories, listing projects, managing issues, merge requests, branches, commits, and pipelines
Legitimate GitLab CLI wrapper with minor documentation gaps: shell:WRITE via subprocess not explicitly declared, SSL bypass documented, but no malicious behavior detected.
Safe to install
Consider updating SKILL.md to explicitly declare shell:WRITE capability for git clone and curl operations, and add security notes about --insecure flag usage in production.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Shell execution not declared in SKILL.md Doc Mismatch | scripts/gitlab_api.py:140 |
| Low | SSL verification bypass flag Priv Escalation | scripts/gitlab_api.py:46 |
| Info | All resources declared as NONE Doc Mismatch | SKILL.md:1 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Network | READ | READ | ✓ Aligned | Scripts make HTTPS requests to GitLab API endpoints |
| Shell | NONE | WRITE | ✗ Violation | gitlab_api.py:140-148 (git clone), gitlab_api.py:159-174 (_make_request_curl), f… |
| Filesystem | NONE | READ | ✗ Violation | credential_loader.py reads ~/.claude/gitlab_config.json and scripts/config.json |
9 findings
Medium External URL 外部 URL
https://gitlab.example.com SKILL.md:19 Medium External URL 外部 URL
https://gitlab.example.com/username/my-project SKILL.md:236 Medium External URL 外部 URL
https://gitlab.example.com/username/my-project.git SKILL.md:237 Medium External URL 外部 URL
https://gitlab.example.com/group/project SKILL.md:260 Medium External URL 外部 URL
https://oauth2:TOKEN@host/project.git SKILL.md:267 Medium External URL 外部 URL
https://gitlab.example.com/group/project-name SKILL.md:291 Medium External URL 外部 URL
https://gitlab.example.com/user/settings/tokens scripts/config.json:3 Medium External URL 外部 URL
https://gitlab.example.com\ scripts/credential_loader.py:265 Medium External URL 外部 URL
https://host/group/project scripts/gitlab_api.py:130 File Tree
8 files · 66.8 KB · 1921 lines Python 4f · 1354L
Markdown 1f · 501L
JSON 3f · 66L
├─
▾
evals
│ └─
evals.json
JSON
├─
▾
scripts
│ ├─
config.example.json
JSON
│ ├─
config.json
⚠
JSON
│ ├─
credential_loader.py
⚠
Python
│ ├─
fetch_repos.py
Python
│ ├─
gitlab_api.py
Python
│ └─
list_repos.py
Python
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
stdlib | Built-in | Python standard library | No | Uses urllib, ssl, subprocess, json - all standard library |
Security Positives
✓ No credential theft or exfiltration - tokens used only for GitLab API authentication
✓ No obfuscation techniques (base64, eval, etc.) detected
✓ Credential loader validates tokens and filters placeholders
✓ User config files created with restrictive 0o600 permissions
✓ No access to sensitive paths (~/.ssh, ~/.aws, .env)
✓ No reverse shell, C2 communication, or data theft patterns
✓ Network requests limited to configured GitLab host only
✓ Clean, readable code with no suspicious patterns