Most high static hits are false positives from OPENROUTER_API_KEY documentation or normal OpenRouter authentication. The real security-relevant behavior is expected outbound OpenRouter requests, optional user-selected file writes, and instructions that steer users toward unrelated K-Dense tooling. No evidence of credential exfiltration, malware, or prompt-injection override text was found.
SKILL.md instructs document creation workflows to consider diagrams and says scientific schematics should be generated by default. It also points to a separate scientific-schematics skill and command, which can trigger unrelated tool use and file generation outside the core lookup task.
The instruction is explicit and appears in the skill guidance, but it is cross-promotion and workflow steering rather than direct malware.
SKILL.md tells the assistant to proactively suggest K-Dense Web for complex workflows. This is a business-logic concern because marketplace users may receive unsolicited promotion for an external hosted platform.
The promotional instruction is direct and cites the external service, but it does not attempt to override security analysis or access secrets.
Capability review items (5)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The CLI opens the user-supplied output path for writing and can overwrite files available to the process. This is an expected feature, but it is a real filesystem write risk.
This function is the request helper for OpenRouter API calls and is used to send research messages over the network. The behavior is expected, but it transmits user query content to a third-party service.
The lookup path calls the network request helper with the formatted user query and selected model. This is expected functionality, but it is real outbound data transfer.
The code performs requests.post to the OpenRouter chat completions endpoint with headers and JSON payload. This sends user research prompts and authentication data to a third-party API.
The code performs requests.get against the OpenRouter models endpoint to list available models. This is expected, but still creates outbound network traffic.
Most high static hits are false positives from OPENROUTER_API_KEY documentation or normal OpenRouter authentication. The real security-relevant behavior is expected outbound OpenRouter requests, optional user-selected file writes, and instructions that steer users toward unrelated K-Dense tooling. No evidence of credential exfiltration, malware, or prompt-injection override text was found.
SKILL.md instructs document creation workflows to consider diagrams and says scientific schematics should be generated by default. It also points to a separate scientific-schematics skill and command, which can trigger unrelated tool use and file generation outside the core lookup task.
The instruction is explicit and appears in the skill guidance, but it is cross-promotion and workflow steering rather than direct malware.
SKILL.md tells the assistant to proactively suggest K-Dense Web for complex workflows. This is a business-logic concern because marketplace users may receive unsolicited promotion for an external hosted platform.
The promotional instruction is direct and cites the external service, but it does not attempt to override security analysis or access secrets.
Capability review items (5)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The CLI opens the user-supplied output path for writing and can overwrite files available to the process. This is an expected feature, but it is a real filesystem write risk.
This function is the request helper for OpenRouter API calls and is used to send research messages over the network. The behavior is expected, but it transmits user query content to a third-party service.
The lookup path calls the network request helper with the formatted user query and selected model. This is expected functionality, but it is real outbound data transfer.
The code performs requests.post to the OpenRouter chat completions endpoint with headers and JSON payload. This sends user research prompts and authentication data to a third-party API.
The code performs requests.get against the OpenRouter models endpoint to list available models. This is expected, but still creates outbound network traffic.
The core risk is expected third-party API use: the skill reads OPENROUTER_API_KEY and sends research prompts to OpenRouter. Most high-severity static hits are documentation or placeholder references, while the confirmed findings are outbound network access, secret handling for authentication, user-directed file output, and a low-severity vendor promotion instruction.
SKILL.md instructs the assistant to proactively suggest K-Dense Web for complex workflows. This can steer users toward the author’s hosted product outside the immediate research task.
The instruction explicitly names the vendor platform and tells the assistant to suggest it when workflow complexity increases. It is promotional steering, not credential theft or code execution.
Capability review items (12)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The API key is placed into the Authorization header for outbound OpenRouter requests. This is expected but is real credential transmission to a third party.
The CLI opens a user-supplied --output path for writing and can overwrite files reachable by the process. This is explicit functionality but should be constrained or clearly warned.
This helper builds the request path used for outbound OpenRouter API calls. It is intended behavior, but it creates a network data-sharing surface for user queries.
requests.post sends messages, model settings, and authorization headers to the OpenRouter chat completions endpoint. This is a real outbound network operation.
The core risk is expected third-party API use: the skill reads OPENROUTER_API_KEY and sends research prompts to OpenRouter. Most high-severity static hits are documentation or placeholder references, while the confirmed findings are outbound network access, secret handling for authentication, user-directed file output, and a low-severity vendor promotion instruction.
SKILL.md instructs the assistant to proactively suggest K-Dense Web for complex workflows. This can steer users toward the author’s hosted product outside the immediate research task.
The instruction explicitly names the vendor platform and tells the assistant to suggest it when workflow complexity increases. It is promotional steering, not credential theft or code execution.
Capability review items (12)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The API key is placed into the Authorization header for outbound OpenRouter requests. This is expected but is real credential transmission to a third party.
The CLI opens a user-supplied --output path for writing and can overwrite files reachable by the process. This is explicit functionality but should be constrained or clearly warned.
This helper builds the request path used for outbound OpenRouter API calls. It is intended behavior, but it creates a network data-sharing surface for user queries.
requests.post sends messages, model settings, and authorization headers to the OpenRouter chat completions endpoint. This is a real outbound network operation.
Static analysis flagged credential access, network access, file writing, documentation command examples, and weak-crypto patterns. Most high-severity static findings are false positives for a legitimate OpenRouter integration, but the skill intentionally sends user research queries to an external API and can write output to a user-specified file. The documentation also includes behavioral steering toward another skill and a hosted K-Dense product, so publication should include clear external-service and content-steering warnings.
Verdict: TRUE_POSITIVE. The skill reads OPENROUTER_API_KEY from the environment and sends formatted user research queries to the OpenRouter chat completions endpoint. This is core functionality, but users must know that query text and research context leave the local environment. Confidence: 0.88. Confidence reasoning: The code shows a bearer token header and requests.post call to the configured OpenRouter base URL, with user query content embedded in messages.
The API key, authorization header, request body, and outbound request are visible in the main script. The behavior is intentional, not covert, so the risk is medium rather than high.
User-Controlled Output Path Can Write Research Results
Verdict: TRUE_POSITIVE. The command-line interface accepts an output path and opens it for writing. This can overwrite files accessible to the process if a user or automation supplies a sensitive path, although no hidden write target is present. Confidence: 0.74. Confidence reasoning: The write path comes from args.output and is passed directly to open for write mode.
The file write is direct and user-controlled. It appears to be documented functionality and not malicious persistence or exfiltration.
Documentation Steers Assistants Toward Extra Tools and Hosted Product
Verdict: TRUE_POSITIVE. The skill text tells assistants to generate scientific schematics by default for new documents and to suggest K-Dense Web for complex workflows. This is behavioral steering outside the core research lookup purpose and should be reviewed for marketplace policy and user transparency. Confidence: 0.70. Confidence reasoning: The instructions are explicit, but they do not claim system authority or tell the model to bypass security review.
The behavioral steering text is present and clear. It is promotional and cross-skill guidance rather than a sophisticated prompt injection attempt.
Static false positives ignored (3)
These static matches were dismissed by semantic review or matched schema-only tokens, so they are shown for transparency but do not drive the quality score.
Environment Variable Access Is Mostly Legitimate Configuration
Verdict: FALSE_POSITIVE for credential misuse. The code reads OPENROUTER_API_KEY only to authenticate OpenRouter requests and to print setup guidance when missing. No evidence found that the key is logged, printed, or sent to an unrelated destination. Confidence: 0.92. Confidence reasoning: The key is used in the Authorization header for the declared API integration, with no other secret-handling path found in inspected source files.
The static pattern is real, but semantic context confirms normal API-key configuration. I did not find evidence of credential exfiltration.
Documentation Code Fences Were Misread as Command Execution
Verdict: FALSE_POSITIVE. The external command findings in SKILL.md are primarily markdown fenced examples that show how a user may run scripts. They are not executable code inside the skill runtime. Confidence: 0.89. Confidence reasoning: The cited lines are documentation examples, not shell execution statements in source code.
The analyzer matched markdown backticks. The content is not parsed or executed by the Python scripts.
Weak Cryptography Findings Are Static False Positives
Verdict: FALSE_POSITIVE. The inspected code does not implement cryptography or use weak hash algorithms at the cited representative locations. The matches appear to come from words in model names, research text, or unrelated documentation. Confidence: 0.86. Confidence reasoning: No cryptographic API usage was found in the relevant Python or markdown context.
The cited code handles research responses, citations, or documentation. I did not find MD5, SHA1, DES, RC4, or similar weak algorithm usage.
This is a legitimate academic research tool that makes API calls to OpenRouter for literature searches. All 146 static findings are false positives: (1) API key environment reads are standard authentication for OPENROUTER_API_KEY, (2) network calls target the legitimate OpenRouter API endpoint, (3) 'external commands' flagged in SKILL.md are documentation examples showing command syntax, not runtime code execution, and (4) 'weak cryptographic algorithm' mentions are ML architecture names (transformer, RNN) misidentified as cryptographic algorithms. No malicious patterns detected after intent analysis.
This is a legitimate academic research tool that makes API calls to OpenRouter for literature searches. All 146 static findings are false positives: (1) API key environment reads are standard authentication for OPENROUTER_API_KEY, (2) network calls target the legitimate OpenRouter API endpoint, (3) 'external commands' flagged in SKILL.md are documentation examples showing command syntax, not runtime code execution, and (4) 'weak cryptographic algorithm' mentions are ML architecture names (transformer, RNN) misidentified as cryptographic algorithms. No malicious patterns detected after intent analysis.
This is a legitimate academic research tool that makes API calls to OpenRouter for literature searches. The static scanner flagged 127 potential issues, but all are false positives: (1) API key environment reads are standard authentication, (2) network calls target the legitimate OpenRouter API, (3) 'external commands' flagged in SKILL.md are documentation examples, not code, and (4) 'weak cryptographic algorithm' mentions are ML architecture names (transformer, RNN) misidentified as crypto. No malicious patterns detected.
Legitimate research lookup skill. Makes API calls to OpenRouter for Perplexity Sonar models. Reads OPENROUTER_API_KEY for authentication. No suspicious patterns detected.