Alto

Funções de rede fora do alcance da chave anônima

Chama por RPC, com a chave anônima, funções das extensões http, pg_net e dblink, e falha se alguma delas puder ser executada.

Por que importa

Essas funções fazem o banco enviar requisições ou conectar a outros bancos. Se a chave anônima pode chamá-las, qualquer visitante usa o seu banco para acessar endereços internos (SSRF), que não deveriam ser alcançáveis pela internet.

Como corrigir

Revogue a execução para a role anon, por exemplo REVOKE EXECUTE ON FUNCTION http_get(text) FROM anon, ou mova as funções para um schema que a API não expõe. O Shield testa estes nomes: http_get, http_post, http, pg_net_http_get, pg_net_http_post, net_http_get, net_http_post, dblink, dblink_exec e dblink_connect.

Como conferir a correção

SB-007
# 200, ou 400 e 422 sem o código 42883, indicam que a função pode ser chamada.
curl -s -w '\n%{http_code}\n' -X POST "$SUPABASE_URL/rest/v1/rpc/http_get" \
  -H "apikey: $ANON_KEY" -H "Authorization: Bearer $ANON_KEY" \
  -H 'Content-Type: application/json' -d '{}'

Referências