There are some interesting attack vectors to be aware of if you run a service where users can define webhooks, and your service will will call the user-defined webhooks to notify about certain system events. In my case, a monitoring service which can send notifications by calling user-defined webhook. * Timeouts: the user can set up a webhook receiver that takes very long to generate a response. Your service must be…
It seems like webhooks have enough corner cases for the sender to require a specialized tool to protect itself from malicious users and to stay performant. Does anyone have suggestion for such tools/services that they might have used in production?
Collection of best practices for providing and consuming webhooks
11–20 of 42 posts
Re: Collection of best practices for providing and consuming webhooks
#12Earlier quoted context omitted.
It seems like webhooks have enough corner cases for the sender to require a specialized tool to protect itself from malicious users and to stay performant. Does anyone have suggestion for such tools/services that they might have used in production?
At Slite, for all outgoing calls we use a sandboxed proxy. It has saved us a few times already. We detailed the trick in a blog post -> https://slite-tech-blog.ghost.io/anti-ssrf-solution/
Re: Collection of best practices for providing and consuming webhooks
#13There are some interesting attack vectors to be aware of if you run a service where users can define webhooks, and your service will will call the user-defined webhooks to notify about certain system events. In my case, a monitoring service which can send notifications by calling user-defined webhook. * Timeouts: the user can set up a webhook receiver that takes very long to generate a response. Your service must be…
Re: Collection of best practices for providing and consuming webhooks
#14Re: Collection of best practices for providing and consuming webhooks
#15As this page makes very clear, it's actually pretty hard to make a robust webhooks implementation! What alternatives are there? I've looked at: * Publishing AWS EventBridge events to other accounts. * /events instead of webhooks https://blog.sequin.io/events-not-webhooks/ * ???
Re: Collection of best practices for providing and consuming webhooks
#16There are some interesting attack vectors to be aware of if you run a service where users can define webhooks, and your service will will call the user-defined webhooks to notify about certain system events. In my case, a monitoring service which can send notifications by calling user-defined webhook. * Timeouts: the user can set up a webhook receiver that takes very long to generate a response. Your service must be…
Re: Collection of best practices for providing and consuming webhooks
#17Excellent. I'm in process of building a service delivering notifications via webhooks right now. Thank you!
There are only 3 companies on webhooks.fyi's list with 3 green checks, and we're powering webhooks for one of those. :)
Re: Collection of best practices for providing and consuming webhooks
#18It would be great to see advice about implementations. Things like when to process in a queue and when not to, tying idempotency tokens to database transactions, etc. These are subtle issues, but when done well can help make very robust systems.
Re: Collection of best practices for providing and consuming webhooks
#19There are some interesting attack vectors to be aware of if you run a service where users can define webhooks, and your service will will call the user-defined webhooks to notify about certain system events. In my case, a monitoring service which can send notifications by calling user-defined webhook. * Timeouts: the user can set up a webhook receiver that takes very long to generate a response. Your service must be…
Resolution and timeouts: the aiohttp library for Python is slightly better in terms of letting you configure these things, though it's better to just use a sending proxy that does it all for you and is also located in an isolated VPC to make sure that you're protected.
Re: Collection of best practices for providing and consuming webhooks
#20Excellent. I'm in process of building a service delivering notifications via webhooks right now. Thank you!
Shameless plug: we make it super easy for companies to send webhooks. https://www.svix.com There are only 3 companies on webhooks.fyi's list with 3 green checks, and we're powering webhooks for one of those. :)
Looks promising!