Ce rapport n’est pas traduit dans la langue demandée. Le rapport anglais canonique est affiché à la place.

Évaluation de sécurité versionnée

ID du rapport: SA-698AEBFB

10/26/2026, 2:46:18 PM

design évaluation de sécurité v1

Rapport de certification de sécurité de la compétence

Historique des audits
Version du scanner 3.0.0 Modèle d’audit: codex Dernier rapport publié
Nom de la compétence
design
Version
v2.1.0
Mainteneur
nextlevelbuilder
Couverture
38 Fichiers analysés · 6,617 Lignes analysées
Version de la politique
skillstore-security-audit-policy-v1

Gravité la plus élevée des résultats confirmés

Moyen

4 constats de sécurité confirmés nécessitent une attention.

Contexte d’installation

Consultez la page Skill actuelle

Cette page résume uniquement les éléments de preuve du rapport. La page de la Skill fournit l’avis d’installation canonique.

Ouvrir la page Skill actuelle

Ce rapport ne bloque ni n’autorise le manifeste ou le ZIP.

Most static findings are benign documentation, design terminology, mocked tests, or expected credential configuration. Confirmed findings expose API keys through unrestricted polling destinations and cross-origin redirects. Semantic findings identify incomplete DNS checks, unsanitized SVG and HTML output, and disabled browser sandboxing; no evidence found of deliberate prompt injection.

Position du rapport

Dernier rapport publié

Dernier fait référence à la séquence des rapports, et non à l’actualité de l’artefact.

Attestation d’audit

Attestation active

Une attestation publique est disponible pour ce rapport exact.

Vérification humaine

Non vérifié

Aucune vérification humaine n’est enregistrée pour ce rapport.

Couverture

38 Fichiers analysés · 6,617 Lignes analysées

11 éléments affichés pour révision

Limitations

Ce rapport ne prétend pas à une exécution en environnement d’exécution ou en bac à sable et ne prouve pas l’absence d’effets secondaires.

Chaîne de preuves

Suivez les preuves depuis la liaison à la source jusqu’au contrat d’installation. Les preuves disponibles permettent la vérification ; elles ne constituent pas une garantie de sécurité.

  1. Source

    Commit et chemin liés

  2. Artefact

    Hachages du contenu et de l’arborescence liés

  3. Audit

    Terminé

  4. Contrat d’installation

    Ouvrir le manifeste pour vérifier

    Ouvrir le manifeste

Fonctionnalités observées

Observé signifie que ce rapport a consigné des éléments de preuve à l’appui. Non enregistré ne prouve pas qu’une capacité est absente.

Contient des scripts

Peut exécuter du code inclus avec la Skill.

Non enregistré par cet audit

Accès réseau

Peut se connecter à des services externes.

Observé dans 32 emplacements de preuve

Accès au système de fichiers

Peut lire ou écrire des fichiers locaux.

Observé dans 25 emplacements de preuve

Variables d’environnement

Peut lire des valeurs depuis l’environnement du processus.

Observé dans 47 emplacements de preuve

Commandes externes

Peut appeler des commandes ou des programmes en dehors de la Skill.

Observé dans 50 emplacements de preuve

Éléments d’évaluation des capacités (7)
Élevé
HTTP client library
def redirect_request(self, req, fp, code, msg, headers, newurl):
The redirect handler accepts unrelated HTTPS origins without removing authentication headers. A provider redirect can therefore disclose the API key to another host.
Élevé
HTTP client library
return super().redirect_request(req, fp, code, msg, headers, newurl)
The superclass redirect implementation copies authentication headers across origins. An offline standard-library check confirmed that x-api-key survives an HTTPS cross-host redirect.
Élevé
HTTP client library
def _json_request(
The request helper attaches credentials without restricting the destination origin. Its MuAPI caller supplies a response-controlled polling URL, enabling credential disclosure.
Élevé
HTTP client library
data = _json_request(
Polling sends x-api-key to result_url from the provider response. HTTPS validation does not restrict that URL to the MuAPI origin.
Élevé
Generic API/secret keys
api_key_header: auth_value,
This header attaches the API key to a URL without checking its provider origin. Response-controlled polling URLs can receive that credential.
Élevé
Generic API/secret keys
api_key,
The MuAPI key is passed to polling requests for a response-controlled URL. No same-origin check prevents sending the key to another HTTPS host.
Élevé
Generic API/secret keys
api_key_header="x-api-key",
The x-api-key header is explicitly enabled for the response-controlled polling URL. Arbitrary HTTPS destinations pass validation and can receive the credential.

Résultats des risques

Les problèmes de sécurité confirmés sont séparés des éléments qui nécessitent encore une vérification.

Préoccupations de sécurité confirmées (4)

RISK-001 Moyen
DNS Resolution Bypasses Private Address Checks
URL validation rejects literal private IP addresses but accepts unresolved hostnames. A provider-controlled hostname resolving internally can bypass the intended network boundary.
Nonliteral hostnames return before any DNS address check. Exploitation requires a suitable HTTPS endpoint and a malicious or compromised provider response.
RISK-002 Moyen
Generated SVG Is Saved Without Active Content Filtering
SVG extraction checks text structure but preserves scripts, event handlers, and external references. Malicious generated markup can execute when opened directly or embedded inline.
The extraction and save path contains no SVG element or attribute allowlist. Prompt instructions against external references do not enforce output safety.
RISK-003 Moyen
Presentation Labels Are Interpolated Without HTML Escaping
Brand names and filename-derived labels enter HTML text and attributes without escaping. Crafted input can inject markup or scripts when the presentation is opened.
Python f-strings insert input directly into the title, image attributes, and headings. Exploitation requires crafted labels and opening the generated document.
RISK-004 Moyen
Screenshot Workflow Disables Browser Sandboxing
The recommended Chrome command includes --no-sandbox while rendering HTML that may load external resources. This removes browser containment during screenshot export.
The documented command explicitly disables the Chrome sandbox without an isolation requirement. This increases compromise impact if rendered content exploits a browser vulnerability.

Mesures correctives

Les correctifs suggérés par cet audit sont consignés. Leur application relève de la responsabilité du responsable de la maintenance.

  1. FIX-001
    Élevé
    Polling URLs and redirects can disclose provider credentials to unrelated hosts.
    Allowlist provider origins before attaching credentials, reject cross-origin API redirects, and add tests for hostile result URLs and redirects.
  2. FIX-002
    Moyen
    Hostname validation does not check resolved destination addresses.
    Validate all resolved IPv4 and IPv6 addresses, reject private destinations, and prevent DNS rebinding across connections and redirects.
  3. FIX-003
    Moyen
    Generated SVG can retain active content.
    Parse and sanitize SVG with an element and attribute allowlist; reject scripts, event handlers, foreignObject, and external URLs before saving.
  4. FIX-004
    Moyen
    Presentation inputs are inserted into HTML without escaping.
    Escape all dynamic text and attribute values, validate style values separately, and test brand names and filenames containing markup.
  5. FIX-005
    Moyen
    The screenshot example disables Chrome sandboxing.
    Remove --no-sandbox from the default command; document isolated, unprivileged execution for environments that cannot enable the sandbox.

Preuves d’experts

Identité immuable du sujet, métadonnées du scanner, correspondances ignorées et éléments de preuve au niveau de la source.

Sujet de l’artefact

Commit Marketplace
698aebfbf8b189a05c80c44eca0361bb7899b093
Empreinte du contenu
e93fe3683b7fa18a9bfcd00c0dc6e12c6859be07b7bfe20145f96ea49b72da13
Empreinte de l’arborescence
44e2891ffb1eb58e59be09d523c715ac55c9e08d9f46420bada22a3f3c3fa9eb
Chemin du Skill
skills/nextlevelbuilder/design
Empreinte de la charge d’audit
5b4a069e1e1598e5400e01f2a22e21a0

Métadonnées d’analyse

Modèle d’audit: codex

État de l’analyse: Terminé

Le périmètre est limité aux fichiers, lignes, méthodes et éléments de preuve enregistrés. Aucune exécution en environnement d’exécution ou en bac à sable n’est déclarée.

Vérifier et exporter

Le manifeste et le fichier de verrouillage lient les artefacts d’installation à des hachages cryptographiques. Cette affirmation d’intégrité est distincte de l’évaluation de sécurité.

Attestation d’audit: active