T09 · Insecure Skill Coding Practices
- Location
bin/run.mjs:23- Finding
API Token Exposed Through URL Query Parameters and Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a narrow Reddit comments API wrapper, but it handles the API token in a way that can leak through URLs or process logs.
Review before installing if the JustOneAPI token has billing, quota, or access sensitivity. Use a narrowly scoped, revocable token, avoid logging commands or full request URLs, and rotate the token if it may have appeared in process or URL logs.
bin/run.mjs:23API Token Exposed Through URL Query Parameters and Command-Line Arguments
This skill explicitly handles an access token and transmits it as user-supplied data in the request URL, which materially increases the chance of credential exposure. Because the skill is an API wrapper whose primary purpose is remote data access, mishandling the credential directly affects authentication security and can enable unauthorized API use if the token is leaked.
"parameters": [
{
"defaultValue": null,
"description": "Access token for this API service.",
"enumValues": [],
"location": "query",
"name": "token",
The presence of an access token parameter at line 15 indicates the skill handles credentials, and in this context those credentials are collected via a query parameter. While credential use is expected for authenticated APIs, the combination of credential handling and insecure placement in the URL makes this a real security weakness rather than a false positive.
"parameters": [
{
"defaultValue": null,
"description": "Access token for this API service.",
"enumValues": [],
"location": "query",
"name": "token",
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `token` | `query` | yes | `string` | n/a | Access token for this API service. |
| `postId` | `query` | yes | `string` | n/a | The unique identifier of the Reddit post. |
| `cursor` | `query` | no | `string` | n/a | Pagination token for the next page of results. |
The skill invokes a network-capable helper (node .../bin/run.mjs) to call an external API but does not declare an explicit tool scope such as permissions or allowed-tools. That mismatch can weaken policy enforcement and reviewability, making it easier for the skill to perform outbound requests without clear operator approval or runtime restrictions.
The skill defines the API access token as a query parameter and the runtime automatically appends all query parameters to the request URL. Query-string credentials are commonly exposed through logs, browser/history equivalents, proxy/CDN telemetry, monitoring systems, and error traces, making accidental disclosure more likely than header-based authentication.
The skill requires an API access token to be sent as a query parameter, which is unsafe because query strings are commonly logged by clients, proxies, web servers, analytics tooling, and browser history. This creates an unnecessary credential exposure risk even though the endpoint itself appears to perform a benign Reddit data retrieval function.
No suspicious patterns detected.