Skip to main content

convex-http-actions

Facilitates external API integration and webhook handling with customizable HTTP endpoints in Convex applications.

Install this skill

or
16/100

Security score

The convex-http-actions skill was audited on Mar 1, 2026 and we found 36 security issues across 3 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 640

Template literal with variable interpolation in command context

SourceSKILL.md
640name: `${event.data.first_name} ${event.data.last_name}`,
medium line 648

Template literal with variable interpolation in command context

SourceSKILL.md
648name: `${event.data.first_name} ${event.data.last_name}`,
medium line 4

Webhook reference - potential data exfiltration

SourceSKILL.md
4description: External API integration and webhook handling including HTTP endpoint routing, request/response handling, authentication, CORS configuration, and webhook signature validation
medium line 7

Webhook reference - potential data exfiltration

SourceSKILL.md
7tags: [convex, http, actions, webhooks, api, endpoints]
medium line 12

Webhook reference - potential data exfiltration

SourceSKILL.md
12Build HTTP endpoints for webhooks, external API integrations, and custom routes in Convex applications.
medium line 29

Webhook reference - potential data exfiltration

SourceSKILL.md
29- Receive webhooks from third-party services
medium line 222

Webhook reference - potential data exfiltration

SourceSKILL.md
222### Webhook Handling
low line 232

Webhook reference - potential data exfiltration

SourceSKILL.md
232// Stripe webhook
low line 234

Webhook reference - potential data exfiltration

SourceSKILL.md
234path: "/webhooks/stripe",
low line 244

Webhook reference - potential data exfiltration

SourceSKILL.md
244// Verify webhook signature (in action with Node.js)
low line 246

Webhook reference - potential data exfiltration

SourceSKILL.md
246await ctx.runAction(internal.stripe.verifyAndProcessWebhook, {
low line 252

Webhook reference - potential data exfiltration

SourceSKILL.md
252console.error("Webhook error:", error);
low line 253

Webhook reference - potential data exfiltration

SourceSKILL.md
253return new Response("Webhook error", { status: 400 });
low line 258

Webhook reference - potential data exfiltration

SourceSKILL.md
258// GitHub webhook
low line 260

Webhook reference - potential data exfiltration

SourceSKILL.md
260path: "/webhooks/github",
low line 272

Webhook reference - potential data exfiltration

SourceSKILL.md
272await ctx.runAction(internal.github.processWebhook, {
medium line 285

Webhook reference - potential data exfiltration

SourceSKILL.md
285### Webhook Signature Verification
low line 298

Webhook reference - potential data exfiltration

SourceSKILL.md
298export const verifyAndProcessWebhook = internalAction({
low line 305

Webhook reference - potential data exfiltration

SourceSKILL.md
305const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
low line 308

Webhook reference - potential data exfiltration

SourceSKILL.md
308const event = stripe.webhooks.constructEvent(
low line 311

Webhook reference - potential data exfiltration

SourceSKILL.md
311webhookSecret
medium line 565

Webhook reference - potential data exfiltration

SourceSKILL.md
565### Complete Webhook Integration
low line 575

Webhook reference - potential data exfiltration

SourceSKILL.md
575// Clerk webhook for user sync
low line 577

Webhook reference - potential data exfiltration

SourceSKILL.md
577path: "/webhooks/clerk",
low line 599

Webhook reference - potential data exfiltration

SourceSKILL.md
599console.error("Clerk webhook error:", error);
low line 600

Webhook reference - potential data exfiltration

SourceSKILL.md
600return new Response("Webhook verification failed", { status: 400 });
low line 615

Webhook reference - potential data exfiltration

SourceSKILL.md
615import { Webhook } from "svix";
low line 626

Webhook reference - potential data exfiltration

SourceSKILL.md
626const webhookSecret = process.env.CLERK_WEBHOOK_SECRET!;
low line 627

Webhook reference - potential data exfiltration

SourceSKILL.md
627const wh = new Webhook(webhookSecret);
low line 683

Webhook reference - potential data exfiltration

SourceSKILL.md
683webhookEvents: defineTable({
medium line 713

Webhook reference - potential data exfiltration

SourceSKILL.md
713- Verify webhook signatures before processing
medium line 714

Webhook reference - potential data exfiltration

SourceSKILL.md
714- Log webhook events for debugging
medium line 721

Webhook reference - potential data exfiltration

SourceSKILL.md
7212. **Not validating webhook signatures** - Security vulnerability
low line 296

Access to .env file

SourceSKILL.md
296const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
low line 305

Access to .env file

SourceSKILL.md
305const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
low line 626

Access to .env file

SourceSKILL.md
626const webhookSecret = process.env.CLERK_WEBHOOK_SECRET!;
Scanned on Mar 1, 2026
View Security Dashboard