#セキュリティ

1 件の記事

komugi·10月19日·4 分

Supabase の RLS でゲーム内通貨が無限に増やせた話 — サーバーだけが書ける値の正しい置き場

Supabase で作っていたゲームのコードレビューで、致命的な穴が 2 つ見つかった。どちらも「クライアントから改ざんできてはいけない値」の置き場所の問題だった。 1 つ目は、サーバーが決めるはずの到達記録を profiles テーブルの列に置いていたこと。2 つ目は、security definer の関数が外から誰でも叩けたこと。 両方とも動作は正常で、テストも通っていた。穴は「動くかどうか」では見つからない。