Trust Assessment
gitlab-api received a trust score of 29/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 8 findings: 0 critical, 2 high, 6 medium, and 0 low severity. Key findings include Hidden network beacons / undisclosed telemetry, Sensitive environment variable access: $GITLAB_TOKEN, Sensitive environment variable access: $GITLAB_URL.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings8
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Hidden network beacons / undisclosed telemetry Command output piped through base64 encoding Remove undisclosed network calls and telemetry. All outbound communication should be documented and necessary for the skill's stated purpose. BCC injection in email tools is almost always malicious. | Manifest | skills/d1gl3/gitlab-api/SKILL.md:73 | |
| HIGH | Hidden network beacons / undisclosed telemetry Command output piped through base64 encoding Remove undisclosed network calls and telemetry. All outbound communication should be documented and necessary for the skill's stated purpose. BCC injection in email tools is almost always malicious. | Manifest | skills/d1gl3/gitlab-api/scripts/gitlab_api.sh:68 | |
| MEDIUM | Sensitive environment variable access: $GITLAB_TOKEN Access to sensitive environment variable '$GITLAB_TOKEN' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/d1gl3/gitlab-api/SKILL.md:39 | |
| MEDIUM | Sensitive environment variable access: $GITLAB_URL Access to sensitive environment variable '$GITLAB_URL' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/d1gl3/gitlab-api/SKILL.md:40 | |
| MEDIUM | Sensitive environment variable access: $GITLAB_TOKEN Access to sensitive environment variable '$GITLAB_TOKEN' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/d1gl3/gitlab-api/scripts/gitlab_api.sh:8 | |
| MEDIUM | Sensitive environment variable access: $GITLAB_URL Access to sensitive environment variable '$GITLAB_URL' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/d1gl3/gitlab-api/scripts/gitlab_api.sh:9 | |
| MEDIUM | Unescaped user input in JSON payload The `branch` and `commit_msg` variables are directly interpolated into JSON payloads for GitLab API requests without proper JSON escaping. An attacker controlling these inputs could inject arbitrary JSON fields, potentially altering the API request's intent or causing unexpected behavior. For example, injecting a double quote followed by a comma and a new field could modify the API call's parameters. JSON-escape the `$branch` and `$commit_msg` variables before embedding them into the JSON payload. This can be done using a tool like `jq -sRr @json`. For example, `local escaped_branch=$(echo "$branch" | jq -sRr @json)` and then use `"$escaped_branch"` in the JSON. | LLM | scripts/gitlab_api.sh:80 | |
| MEDIUM | Unescaped user input in JSON payload The `branch` and `commit_msg` variables are directly interpolated into JSON payloads for GitLab API requests without proper JSON escaping. An attacker controlling these inputs could inject arbitrary JSON fields, potentially altering the API request's intent or causing unexpected behavior. For example, injecting a double quote followed by a comma and a new field could modify the API call's parameters. JSON-escape the `$branch` and `$commit_msg` variables before embedding them into the JSON payload. This can be done using a tool like `jq -sRr @json`. For example, `local escaped_branch=$(echo "$branch" | jq -sRr @json)` and then use `"$escaped_branch"` in the JSON. | LLM | scripts/gitlab_api.sh:107 |
Scan History
Embed Code
[](https://skillshield.io/report/464886d0271d21f0)
Powered by SkillShield