The AP inbox (POST {apRoot}/:user/inbox) is unauthenticated by design in Phase 1. The recent hardening (SECURITY.md) added an SSRF gate on all outbound delivery + state-growth caps, which mitigates the abuse surface, but the inbox still accepts activities without verifying the sender's HTTP Signature.
What's needed: verify the Signature header against the actor's published public key before trusting/storing an activity, per the AP + HTTP-Signatures convention. This is a real feature (fetch actor key over the gated fetch, canonicalize, verify), not a one-liner.
Tracked as accepted-risk in SECURITY.md. Until then the inbox mitigations are the SSRF gate + maxInbox/follower-dedupe caps.
The AP inbox (
POST {apRoot}/:user/inbox) is unauthenticated by design in Phase 1. The recent hardening (SECURITY.md) added an SSRF gate on all outbound delivery + state-growth caps, which mitigates the abuse surface, but the inbox still accepts activities without verifying the sender's HTTP Signature.What's needed: verify the
Signatureheader against the actor's published public key before trusting/storing an activity, per the AP + HTTP-Signatures convention. This is a real feature (fetch actor key over the gated fetch, canonicalize, verify), not a one-liner.Tracked as accepted-risk in SECURITY.md. Until then the inbox mitigations are the SSRF gate +
maxInbox/follower-dedupe caps.