Skill Trust Decision

gitlab

Skill contains hardcoded GitLab API token and undocumented script that uses subprocess with curl, creating significant credential exposure and exfiltration risk.

Install decision first Source: Manual upload Scanned: Apr 3, 2026
Files 6
Artifacts 9
Violations 1
Findings 4
Most direct threat evidence
Critical
Hardcoded GitLab API Token

Personal Access Token 'glpat-UEfWfdCYx9e46BQnW5nz' for host 'https://git.littaro.cn' is hardcoded in plaintext in scripts/fetch_repos.py. This token could be scraped and used to access all repositories the token has permission for.

scripts/fetch_repos.py:7

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 3 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

Attack Chain

01
fetch_repos.py contains hardcoded GitLab token for git.littaro.cn

Entry · scripts/fetch_repos.py:7

02
Undocumented subprocess with curl executes API calls using hardcoded token

Escalation · scripts/fetch_repos.py:14

03
Credential exposure through hardcoded PAT allows unauthorized repository access

Impact · scripts/fetch_repos.py:7

What drove the risk score up

Hardcoded API token +30

GitLab PAT glpat-UEfWfdCYx9e46BQnW5nz hardcoded in scripts/fetch_repos.py:7

Hidden script functionality +20

fetch_repos.py not documented in SKILL.md, uses undocumented subprocess/curl

Undeclared shell execution +15

SKILL.md does not mention subprocess or curl usage for API calls

SSL verification disabled +5

-k flag in curl allows MITM attacks on credential transmission

Most important evidence

Critical

Hardcoded GitLab API Token

Personal Access Token 'glpat-UEfWfdCYx9e46BQnW5nz' for host 'https://git.littaro.cn' is hardcoded in plaintext in scripts/fetch_repos.py. This token could be scraped and used to access all repositories the token has permission for.

scripts/fetch_repos.py:7
Remove hardcoded token and require config.json for all credential handling
High

Undocumented Script with Subprocess

fetch_repos.py uses subprocess.run() with curl to fetch repositories, but this functionality is not declared in SKILL.md. Users have no awareness this script exists or that it performs network operations.

scripts/fetch_repos.py:14
Document all scripts in SKILL.md or remove undocumented implementations
High

Disabled SSL Verification

curl command uses -k flag to skip SSL certificate verification, exposing credentials to interception in MITM attacks.

scripts/fetch_repos.py:15
Remove -k flag or implement proper SSL verification for production use
Medium

Data Exfiltration Risk

The hidden fetch_repos.py script fetches all accessible repositories and could be modified to exfiltrate repository list to external servers. The hardcoded host and token combination makes this particularly risky.

scripts/fetch_repos.py:7
Audit all scripts for data transmission behavior not present in documented skill capabilities

Declared capability vs actual capability

Filesystem Pass
Declared READ
Inferred READ
SKILL.md states read access only
Network Pass
Declared READ
Inferred READ
SKILL.md documents API operations
Shell Block
Declared NONE
Inferred WRITE
fetch_repos.py:14-18 uses subprocess.run()

Suspicious artifacts and egress

Critical API Key
glpat-UEfWfdCYx9e46BQnW5nz

scripts/fetch_repos.py:7

Medium External URL
https://gitlab.example.com

SKILL.md:16

Medium External URL
https://gitlab.example.com/username/my-project

SKILL.md:61

Medium External URL
https://gitlab.example.com/username/my-project.git

SKILL.md:62

Medium External URL
https://gitlab.example.com/group/project

SKILL.md:85

Medium External URL
https://oauth2:TOKEN@host/project.git

SKILL.md:92

Medium External URL
https://gitlab.example.com/group/project-name

SKILL.md:116

Medium External URL
https://git.littaro.cn

scripts/fetch_repos.py:8

Medium External URL
https://host/group/project

scripts/gitlab_api.py:112

Dependencies and supply chain

There are no structured dependency warnings.

File composition

6 files · 1177 lines
Python 3 files · 794 linesMarkdown 1 files · 326 linesJSON 2 files · 57 lines
Files of concern · 4
scripts/config.json JSON · 4 lines
scripts/gitlab_api.py Python · 698 lines
https://host/group/project
SKILL.md Markdown · 326 lines
https://gitlab.example.com · https://gitlab.example.com/username/my-project · https://gitlab.example.com/username/my-project.git · https://gitlab.example.com/group/project · https://oauth2:TOKEN@host/project.git · https://gitlab.example.com/group/project-name
scripts/fetch_repos.py Python · 33 lines
Hardcoded GitLab API Token · Undocumented Script with Subprocess · Disabled SSL Verification · Data Exfiltration Risk · glpat-UEfWfdCYx9e46BQnW5nz · https://git.littaro.cn
Other files · evals.json · list_repos.py

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