Ответы справочной службы
Русское словесное ударение
Правильно: на воре и шапка горит (такая рекомендация – в "Большом толковом словаре русского языка" под ред. С. А. Кузнецова, а также в справочнике "Русская фразеология" А. К. Бириха, В. М. Мокиенко, Л. И. Степановой). Но: вор у вора шапку украл (в этом фразеологизме как исключение ударение в слове вор переходит на окончание).
Справочники
На воре шапка горит – о человеке, совершившем что-либо дурное, который непременно себя выдаст. Оборот восходит к старинному анекдоту о том, как нашли на рынке вора. После тщетных попыток найти вора люди обратились за помощью к колдуну; тот громко крикнул в толпу: «Смотрите-ка! На воре шапка горит!» И вдруг все увидели, как какой-то человек схватился за шапку. Так вор был обнаружен и уличен.
...На воре шапка горит – о человеке, совершившем...
...На воре шапка горит!...