Compétences design Historique des audits
📦

Historique des audits

design - 1 audit

26 oct. 2026, 14:46

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.

38
Fichiers analysés
6,617
Lignes analysées
15
Éléments à examiner
0
Faux positifs ignorés

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

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.
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.
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.
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.
Éléments d’évaluation des capacités (7)

Il s’agit de capacités locales réelles qui peuvent être attendues pour cette compétence ; elles nécessitent donc un examen, mais ne sont pas comptabilisées comme comportement malveillant confirmé.

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

Facteurs de risque

🔑 Variables d’environnement (50)
📁 Accès au système de fichiers (25)
🌐 Accès réseau (33)
⚙️ Commandes externes (50)
Audité par: codex