Você pode criar regras de segurança. Por exemplo, você pode limitar o acesso a pessoas autenticadas, ou apenas para o criador do arquivo.
Também pode usar o AppCheck para garantir que as requisições venham da sua aplicação.
Da para diminuir os riscos, mas sempre existe a possibilidade de algum abuso de gente má intensionada.
O write ja é pra pessoas autenticadas na aplicação, quem upa as imagens no storage é o back, provindo de requisição autenticadas do usuario. Não entendi bem o appcheck, mas uma vez que a url da imagem é publica, as requisições a ela não ficariam vinculadas a minha aplicação, pois preciso disponibilizar a imagem pro front.
Não encontrei nada dentro do firebase storage que limite a quantidade de request a uma imagem publica.
Usei o Appcheck apenas em Android até agora, não sei direito como funciona na web.
https://firebase.google.com/docs/app-check/web/custom-provider?hl=pt-br
Acredito que vocé pode encontrar o que precisa no link