T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Mutable and Unpinned Installation Dependencies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a straightforward Camino fitness-search skill, with ordinary privacy and supply-chain cautions rather than evidence of hidden or malicious behavior.
Before installing, use a dedicated Camino API key, avoid sending sensitive precise locations unless needed, and prefer a pinned release or reviewed commit instead of mutable latest or default-branch install commands. Installing only camino-fitness-finder is lower scope than installing the full companion suite.
SKILL.md:14Mutable and Unpinned Installation Dependencies
scripts/fitness-finder.sh:45Unvalidated JSON Values Are Concatenated into the Request URL
Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.
Add your key to Claude Code:
Add to your ~/.claude/settings.json:
{
The skill advertises shell-based usage and declares runtime requirements for curl and jq, but it does not define an explicit tool scope such as allowed-tools or permissions. That can cause an agent platform to overgrant shell access or leave execution boundaries ambiguous, increasing the chance of unintended command execution beyond the skill's intended network-query behavior.
The installation instruction uses npx skills add from a remote GitHub repository without pinning a specific version, tag, or commit. This creates a supply-chain risk because future changes to the package or repo contents could silently alter what gets installed and executed.
This second npx skills add example also installs from a mutable remote repository state without version pinning. Users following the command may execute changed code later than what was originally reviewed, enabling supply-chain compromise or unexpected behavior.
The npx clawhub@latest install instruction explicitly tracks latest, which is a mutable target. If the upstream package is compromised or introduces unsafe changes, users will fetch and run it automatically.
The skill demonstrates sending requests, including location parameters and an API key header, to https://api.getcamino.ai/query, which is an external transmission. This is inherent to the skill's purpose, but it still presents a real data exposure surface because sensitive query and location data leave the local environment and the credential is used against a third-party service.
curl -H "X-API-Key: $CAMINO_API_KEY" \
"https://api.getcamino.ai/query?query=gyms+yoga+studios+fitness+centers&lat=40.7589&lon=-73.9851&radius=1500&rank=true"
The skill sends user-supplied search text and potentially precise latitude/longitude to a third-party API without any explicit disclosure, consent, or minimization. Because location data can be sensitive, this creates a privacy risk even though the transmission is functionally necessary for the skill.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -s -X GET \
-H "X-API-Key: $CAMINO_API_KEY" \
-H "X-Client: claude-code-skill" \
"https://api.getcamino.ai/query?${QUERY_STRING}" | jq .
The skill clearly relies on a remote Camino API and location-based queries, but it does not prominently warn users that location data and API credentials will be transmitted off-box. For a location intelligence skill this data flow is expected, yet the missing explicit privacy warning can still lead to inadvertent sharing of sensitive location information.
The manifest presents this skill as a fitness-facility search tool, but the code also depends on reading a secret from the process environment. Accessing environment-stored credentials is an additional capability not mentioned in the stated purpose, even though it is used to call the backend service.
No suspicious patterns detected.