ngrok-unofficial-webhook-skill
Fail
Audited by Gen Agent Trust Hub on Feb 14, 2026
Risk Level: CRITICALCOMMAND_EXECUTIONREMOTE_CODE_EXECUTIONDATA_EXFILTRATIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION] (CRITICAL): The
autoForwardfunction inscripts/webhook-server.jsexecutes shell commands using templates defined in neighboring skills'skill.jsonfiles. - Evidence: Lines 196-200:
command = command.replace('{{meeting_id}}', meetingId);followed byexecFile('sh', ['-c', command], ...). - Vulnerability: The
meetingIdis extracted directly from the untrusted webhook body viaresolvePath(Line 191) without any sanitization or validation. An attacker can use shell metacharacters (e.g.,;,&,|,`) in the webhook payload to execute arbitrary system commands. - [REMOTE_CODE_EXECUTION] (HIGH): The skill implements a 'confused deputy' pattern by discovering and executing commands defined in other skills.
- Evidence:
discoverWebhookSkills()(Lines 60-93) scans all sibling directories and parsesskill.jsonforwebhookCommands. - Risk: A malicious skill installed in the same environment can leverage this skill to gain persistent execution triggered by external network events, bypassing local security boundaries.
- [DATA_EXFILTRATION] (MEDIUM): The skill automatically processes and broadcasts incoming webhook data which may contain sensitive information.
- Evidence:
process.stdout.write(Line 218) andnotifyUser(Line 228) leak the full webhook payload to system logs and external messaging channels (WhatsApp/Telegram via the OpenClaw CLI). - Risk: Sensitive PII, meeting IDs, or API tokens delivered via webhooks are exposed to unintended logs and third-party notification platforms.
- [EXTERNAL_DOWNLOADS] (LOW): Relies on the
@ngrok/ngrokpackage which downloads the ngrok binary at runtime. - Note: This is a trusted dependency per [TRUST-SCOPE-RULE], but the functionality inherently exposes local ports to the public internet, significantly increasing the attack surface.
Recommendations
- AI detected serious security threats
Audit Metadata