evolution-api

Fail

Audited by Snyk on Jun 27, 2026

Risk Level: HIGH
Full Analysis

HIGH W007: Insecure credential handling detected in skill instructions.

  • Insecure credential handling detected (high risk: 0.90). The prompt shows and requires API keys and instance tokens to be passed directly in request headers and responses (e.g., "apikey: " and returned "generated-instance-token"), which would force an agent to embed secret values verbatim in generated commands/requests.

MEDIUM W011: Third-party content exposure detected (indirect prompt injection risk).

  • Third-party content exposure detected (high risk: 0.75). Outsider free text can enter the agent’s LLM context via webhook/event delivery: WhatsApp message bodies (e.g., data.message.conversation / captions) originate from external chat participants and are forwarded as readable JSON to the configured webhook URL (/webhook/set/{instance} with webhookByEvents/global webhook), where an integration/agent may pass that text into the LLM.

HIGH W008: Secret detected in skill content (API keys, tokens, passwords).

  • Secret detected (high risk: 1.00). I scanned the documentation for literal, high-entropy values that could be real credentials.

Flagged:

  • The example value for AUTHENTICATION_API_KEY in references/environment-variables.md: 429683C4C977415CAAFCCE10F7D57E11. This is a 32-character hex-like string (high entropy) shown as an "Example" for the global API key. It is not a generic placeholder (e.g., YOUR_API_KEY) or a simple example password, so it looks like a real API key and should be treated as a secret.

Ignored (with reasons):

  • "YOUR_API_KEY", <api-key>, generated-instance-token, optional-custom-token and similar placeholders in examples — documentation placeholders (ignored).
  • postgresql://user:pass@localhost:5432/evolution — contains dummy user:pass placeholder, not a real credential.
  • evolution (WA_BUSINESS_TOKEN_WEBHOOK example) — simple word, low entropy, treated as an example.
  • Redis/S3/RabbitMQ URIs and examples like redis://localhost:6379/6, amqp://localhost, and empty S3 keys — either not secrets, placeholders, or non-sensitive examples.
  • No PEM/RSA private key blocks or other high-entropy secrets found.

Because the AUTHENTICATION_API_KEY example is a specific, high-entropy literal that could be a usable global API key, I mark it as a secret.

Issues (3)

W007
HIGH

Insecure credential handling detected in skill instructions.

W011
MEDIUM

Third-party content exposure detected (indirect prompt injection risk).

W008
HIGH

Secret detected in skill content (API keys, tokens, passwords).

Audit Metadata
Risk Level
HIGH
Analyzed
Jun 27, 2026, 12:14 PM
Issues
3