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}withwebhookByEvents/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-tokenand 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
HIGHInsecure credential handling detected in skill instructions.
W011
MEDIUMThird-party content exposure detected (indirect prompt injection risk).
W008
HIGHSecret detected in skill content (API keys, tokens, passwords).
Audit Metadata