I mean, Zeraora hasn't even been released yet, so how do we have so much information about it? Like, how do we know all its possible moves, stats, and other stuff if its not even out yet?
Gekky is correct, the information has been "data-mined". That means it's been found in the code of the game itself. Mostly it is done by the people over at Project Pokemon like Kaphotics and SciresM.
So we knew about Zeraora before it was officially revealed, and in fact before USUM were even officially released (due to early leaks of the game). Same goes for Marshadow in SM.
There was a battle replay with Zeraora released. You can choose “mock battle”, and battle the Zeraora team with your own. If you bring a Ditto, you can copy Zeraora and estimate its stats by going into “Pokémon” and then pressing “Summary” under Ditto (now Zeraora). We also know for a fact that the 4 moves the Zeraora in the mock battle was legal. The rest was most likely found through hacking. (Zeraora is already programmed into Ultra Sun and Ultra Moon, it just never got released.)