T08 · Insecure Dependencies
- Location
references/setup.md:23- Finding
Unpinned Package Execution Through npx
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a disclosed Mapbox development guide, but it normalizes risky token handling and broad account permissions that users should review carefully.
Install only if you are comfortable giving your AI assistant development-time access to Mapbox account operations. Prefer OAuth hosted setup, pin any `npx` bridge package, avoid project-committed MCP configs for secrets, never paste real tokens into shared config files, and create narrowly scoped tokens instead of all-scopes development tokens.
references/setup.md:23Unpinned Package Execution Through npx
references/setup.md:121Mapbox Access Token Embedded in Plaintext Editor Configuration
references/design-patterns.md:48Development Tokens Recommended With Excessive Account Scopes
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
| Tool | Purpose | Example Use |
| --------------------- | --------------------- | ---------------------------- |
| **create_token_tool** | Generate access token | "Create token for localhost" |
| **list_tokens_tool** | Show all tokens | "List my tokens and scopes" |
### Validation & Analysis
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
The [Mapbox MCP DevKit Server](https://github.com/mapbox/mcp-devkit-server) is a Model Context Protocol (MCP) server that gives AI assistants direct access to Mapbox developer APIs:
- **Style management** - Create, list, update, delete, preview, validate, compare, and optimize styles
- **Token management** - Generate and list access tokens with scopes
- **Validation** - Validate GeoJSON, expressions, styles, and coordinates
- **Geographic utilities** - Calculate bounding boxes, convert coordinates, query tiles
- **Color tools** - Check WCAG contrast ratios for accessibility
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
The [Mapbox MCP DevKit Server](https://github.com/mapbox/mcp-devkit-server) is a Model Context Protocol (MCP) server that gives AI assistants direct access to Mapbox developer APIs:
- **Style management** - Create, list, update, delete, preview, validate, compare, and optimize styles
- **Token management** - Generate and list access tokens with scopes
- **Validation** - Validate GeoJSON, expressions, styles, and coordinates
- **Geographic utilities** - Calculate bounding boxes, convert coordinates, query tiles
- **Color tools** - Check WCAG contrast ratios for accessibility
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## Prerequisites
- Mapbox account with access token
- AI coding assistant that supports MCP (Claude Code, Cursor, Windsurf, Cline, etc.)
## Option 1: Hosted Server (Recommended)
The self-hosted example shows a plaintext MAPBOX_ACCESS_TOKEN embedded directly in configuration, which can be exposed through source control, local file disclosure, backups, screenshots, or shared workstation access. Because this is a setup guide likely to be copied verbatim, it can normalize insecure credential handling and directly lead to token compromise.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
**Check:**
1. Access token has `styles:write` scope
2. Style name is unique
3. JSON is valid Mapbox Style Spec
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
**Check:**
1. Access token has `styles:write` scope
2. Style name is unique
3. JSON is valid Mapbox Style Spec
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### Security
- **Never commit access tokens** - Use environment variables
- **Use scoped tokens** - Minimal necessary permissions
- **Add URL restrictions** - Limit to your domains
- **Rotate tokens regularly** - Generate new tokens periodically
The skill documents destructive and credential-generating capabilities such as style deletion and token creation, but it does not warn users that these actions can permanently change resources or mint new credentials. In an AI-assisted workflow, this increases the chance of unsafe or unintended actions being suggested or executed without adequate user confirmation.
The self-hosted configuration example shows MAPBOX_ACCESS_TOKEN inline, which can normalize placing secrets directly into config files, prompts, or shared documentation. This creates a realistic risk of accidental credential exposure through version control, screenshots, logs, or copied examples.
The skill explicitly promotes token generation and listing by AI assistants but provides no warning about credential sensitivity, secure storage, least-privilege scoping, or avoiding disclosure in chat/output. In a skill designed for AI-assisted development, this omission increases the chance that users will create overly broad tokens or expose secrets in conversational logs and tool output.
The workflow directs users to create environment-specific tokens but omits basic safeguards such as minimum required scopes, secure storage, masking, rotation, and verification that tokens are not printed or persisted insecurely. Because these are operational steps likely to be followed verbatim, the missing warnings materially raise the risk of accidental credential exposure or over-privileged token creation.
The documentation explicitly recommends project-level MCP configuration that can be committed to git, but does not warn that MCP config files may later include sensitive server settings, auth material, or environment references. In an AI-assistant setup guide, this omission increases the chance users will store or publish sensitive configuration in repositories without realizing the persistence and sharing risk.
The guide recommends a project-local .cursor/mcp.json, which creates persistent local configuration inside the workspace and may be accidentally committed or inherited across collaborators. In MCP contexts, persistence matters because server endpoints and future auth-related settings can become part of project state and unintentionally broaden trust or disclosure.
Create or edit .cursor/mcp.json (project-local) or ~/.cursor/mcp.json (global):
{
This markdown file documents token creation and enumeration workflows, including 'Show me all my Mapbox tokens and their scopes', but it does not warn that tokens are sensitive secrets whose values should not be displayed, shared, or stored insecurely. Although the file includes general best practices later, it does not provide a user-facing warning near these credential-related operations about exposure risk or careful handling.
This markdown file includes a workflow pattern where the AI saves generated styles to styles/home-map.json and explicitly writes JSON to a file. The surrounding documentation presents this as a normal pattern but does not warn users that the skill may modify local files, which is a user-data/system-integrity relevant behavior for markdown under SQP-2.
This markdown file includes an example where the AI fixes issues and saves cleaned data to data/locations.json, which is a file write affecting user data. The surrounding troubleshooting content does not provide any warning or disclosure that the workflow may modify files on disk.