Safeguard
Security Guides•

How do you inventory inbound webhooks and vendor callbacks?

Inbound webhook endpoints are integrations that expose a URL on your side. List each one with its sender, owner, verification method and retirement plan.

Safeguard Security Team
3 min read

Inventory inbound webhooks by listing every URL on your side that a vendor calls: the path, the vendor that sends to it, the team that owns it, how you verify the sender, and what the endpoint can change. These endpoints are integrations too, and they are public by design.

Why webhooks get missed

Most inventories start from outbound calls, because that is what code search and egress logs show. A webhook runs the other way. The vendor calls you, so nothing appears in your egress logs, and the code is often a small route handler that looks like any other endpoint.

OWASP's inventory guidance asks for API hosts to be documented with their environment, who should have network access and the version, and it warns about unnecessarily exposed hosts. A webhook receiver with a public URL fits that description exactly, so it deserves a row.

Where to find them

SourceWhat to look for
Router and framework route filesPaths with names such as webhook, callback, hook, notify or events
API gateway or load balancer configPublic routes that skip your normal login
Vendor dashboardsConfigured webhook destinations on your accounts
Access logsInbound requests from vendor address ranges or with vendor user agents
Infrastructure codeRoutes and rules created for a specific vendor

The vendor dashboard check matters because it finds URLs registered months ago for features that have since changed.

What to record per endpoint

  1. Public path and host. Include environment, since staging endpoints are often registered with the vendor too.
  2. Sender. Vendor and the account used.
  3. Owner. Team and a named person.
  4. Verification method. Signature header, shared secret, mutual TLS or source address allowlist. Record which one, and where the secret lives.
  5. What it can do. Read only, update records, trigger payments, send messages.
  6. Replay handling. Whether the handler rejects an old or repeated delivery.
  7. Failure behavior. What happens if your endpoint is down and the vendor retries.
  8. Last delivery seen. A date that tells you whether it is still live.

Close the gaps you find

An endpoint with no verification is the first fix. An endpoint with no deliveries in months is a candidate for removal: ask the owner, remove the registration at the vendor, then remove the route. Do both ends, or the vendor will keep trying a URL that no longer exists.

Also check that the webhook sender account is one you recognize. A destination registered under a former employee's login is a common orphan.

Link it to the outbound side

Many vendors use both directions: you call their API and they call you back. Link the two rows so a change to one prompts a review of the other.

Quick check

Do webhooks show up in an SBOM?

No. An SBOM lists components. A route handler is your own code, so discover it through route files, gateway config and vendor dashboards.

What is the first fix for an unverified webhook?

Add sender verification, using the method the vendor documents, and reject unverified requests.

Safeguard offers SBOM and dependency scanning and asset discovery that can feed this kind of inventory. You can run a free scan at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.