Versioned security assessment

Report ID: SA-A91F0964

6/30/2026, 11:36:49 AM

mulerouter security assessment v4

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
mulerouter
Version
v4
Maintainer
openmule
Coverage
44 Files scanned · 4,569 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

Medium

3 confirmed security findings require attention.

Installation context

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

Static analysis reported a critical heuristic because this skill combines local Python execution, outbound network calls, and API credential access. Manual review found no evidence of malicious exfiltration or prompt injection; the confirmed risk is expected third-party API use with bearer credentials and user-supplied media prompts. Publish with clear warnings about external API transmission and local credential handling.

Report position

Historical report

Open audit history before using this report to install.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

44 Files scanned · 4,569 Lines analyzed

3 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Binding unavailable

  2. Artifact

    Identity incomplete

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Observed in 8 evidence locations

Network access

May connect to external services.

Observed in 26 evidence locations

Filesystem access

May read or write local files.

Observed in 1 evidence location

Env variables

May read values from the process environment.

Observed in 49 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 79 evidence locations

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (3)

RISK-001 Medium
Authenticated requests send user inputs to external APIs
The client builds an Authorization bearer header from the configured API key and sends request bodies to MuleRouter or MuleRun endpoints. This is core functionality, but users must understand that prompts, media URLs, and task data leave the local environment.
The bearer token header and HTTP request call are directly visible. The behavior is legitimate for this API skill, but it is still a real data-sharing boundary.
RISK-002 Medium
Environment and .env credential loading
The configuration loader imports python-dotenv, loads a provided file or current-directory .env file, and reads MULEROUTER_SITE and MULEROUTER_API_KEY. This is expected credential configuration, but it can expose credentials to the skill process.
The environment loading and API key lookup are explicit. I did not find evidence that unrelated environment variables are sent over the network.
RISK-003 Medium
Dynamic local module loading for model registration
The model listing workflow executes local provider package files through importlib so endpoints can register themselves. The provider list is fixed in the repository, so this is not arbitrary user-controlled import, but it is still local code execution.
The importlib exec_module call is present in the model listing script. The provider names are hardcoded rather than supplied by user input.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Static false positives ignored (3)
Low
Markdown command examples are not runtime command execution
Static analysis flagged many fenced code examples and inline command references as shell execution. These are documentation examples in Markdown, not code paths that execute commands automatically.
The flagged locations are Markdown documentation blocks and inline examples. No runtime shell invocation is present at those locations.
Low
Weak cryptography alerts are string false positives
The weak cryptographic algorithm cluster appears to match ordinary words such as description, model names, version strings, and seed parameters. I did not find cryptographic hashing, encryption, or signature code in the inspected implementation.
The cited lines contain descriptions and model parameters, not crypto APIs. No evidence of weak cryptographic usage was found in reviewed core files.
Low
System reconnaissance alerts map to task metadata parsing
The low system reconnaissance alerts correspond to task response fields and model listing output, not host discovery or operating system inspection. No evidence found of system inventory collection.
The inspected lines parse API task IDs and optional site configuration. They do not enumerate files, users, processes, network interfaces, or host properties.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable