Un lato della medaglia è che non dovresti avere sicurezza per oscurità, quindi non dovrebbe essere necessario nascondere azioni valide dietro 404 risposte quando l'azione non può essere chiamata senza autenticazione / autorizzazione comunque. È molto più bello restituire qualcosa di simile a 401 Non autorizzato. D'altra parte hai ragione, questo probabilmente consentirà la mappatura della tua API, che puoi anche mitigare, ad esempio, limitando le richieste errate.
La tua struttura API non è probabilmente il più grande di un segreto (non dovrebbe essere), i consumatori lo sanno già, o se è qualcosa di simile a un'API per la tua app mobile (o altra), il monitoraggio delle comunicazioni rivelerà rapidamente chiama un potenziale aggressore. Se è consumato da una SPA o da un'app mobile (qualcosa dato al client), il reverse engineering del client rivela anche l'API.
Inoltre, se è prevista una riduzione delle autorizzazioni su chiamate valide, sarà probabilmente possibile utilizzare un attacco di temporizzazione per scoprire quali chiamate sono valide e quali chiamate falsificare la risposta 404, poiché la decisione di autorizzazione richiederà del tempo.
Quindi penso che ci sia ben poco beneficio nel simulare 404 su chiamate non autorizzate ma altrimenti valide, e rende l'API meno utilizzabile (ma ovviamente non è una domanda di sicurezza).