Hume EVI + LangGraph Integration
PendingStatic analysis audit pending.
Overview
No static analysis result has been recorded yet. Pattern checks will appear here once the artifact has been analyzed.
Findings (0)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Using the skill may lead an agent or developer to create live Hume configurations and webhook registrations.
The guide directs implementations to call Hume's API to create EVI configurations and register webhooks. This is central to the stated purpose, but it is still a live third-party account mutation.
resp = httpx.post("https://api.hume.ai/v0/evi/configs", json=request_body, headers=headers)Use development accounts or test configs first, require user approval for live-provider changes, and document cleanup or rollback for generated Hume configs.
A Hume API key could be unintentionally exposed if generated TwiML, redirect URLs, or provider logs are shared broadly.
The TwiML example includes a Hume API key in a redirect URL. This appears purpose-aligned for the Hume/Twilio integration, but URLs can be exposed in logs or debugging output.
<Redirect>https://api.hume.ai/v0/evi/twilio?config_id={config_id}&api_key={api_key}</Redirect>Use least-privilege keys where possible, keep keys in a secrets manager or environment variables, avoid logging full redirect URLs, and rotate keys if exposure is suspected.
If implemented without webhook authentication and validation, a spoofed or malformed webhook could resume the wrong workflow or trigger post-call processing unexpectedly.
The webhook resolution pattern uses an external webhook body field to select and resume a LangGraph thread. The artifacts do not show webhook signature verification, shared-secret validation, or equivalent origin checks.
thread_id = config_to_thread.pop(body["config_id"])
Verify webhook authenticity, validate required fields and IDs, make the handler idempotent, and avoid relying only on config_id as proof that a webhook is legitimate.
Call transcripts, webhook payloads, and emotion analysis could persist in logs or state stores longer than users expect.
The checklist encourages raw response logging in an integration that fetches call transcripts and emotion features. Such logs or stored state may contain sensitive conversation and emotion data.
- [ ] Log raw response bodies and verify field names/casing
Redact or disable raw logs in production, get appropriate caller consent, define retention limits, encrypt stored transcripts and emotion timelines, and restrict access to state stores.
