Back to skill

Security audit

Reddit Post Comments API

Security checks for vulnerabilities and agentic risk

Overview

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.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
bin/run.mjs:23
Finding

API Token Exposed Through URL Query Parameters and Command-Line Arguments

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Credential Access

High
Category
Privilege Escalation
Confidence
94% confidence
Finding

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.

Content

Scanner excerpt · bin/run.mjs (reported line 20)May include surrounding context.

js
"parameters": [
        {
          "defaultValue": null,
          "description": "Access token for this API service.",
          "enumValues": [],
          "location": "query",
          "name": "token",

Credential Access

High
Category
Privilege Escalation
Confidence
90% confidence
Finding

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.

Content

Scanner excerpt · generated/operations.json (reported line 15)May include surrounding context.

json
"parameters": [
        {
          "defaultValue": null,
          "description": "Access token for this API service.",
          "enumValues": [],
          "location": "query",
          "name": "token",

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · generated/operations.md (reported line 19)May include surrounding context.

md
| 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. |

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.