Yes, witnesses can front-run, but
Everything is transparent, front-running will eventually be detected, and the witness could loose his (hopefully profitable) position as a witness.
this!
If someone do front-running greedy and foolishly, it's easy to detect.
But is there any detail report about this?
How often nodes can front-run without being detected?
How can we detect front-running concretely? What kind of statistical method can we use?
There are no reports (that I know of).
How does front-running work?
Suppose there's one (or more) order on the book that sells (for example) 1 BTS for 0.9 bitUSD. Suppose that another order comes in that wants to buy 1 BTS for 1 bitUSD. The evil witness who is about to create a block scans the incoming transactions and detects that there's a price overlap between the market and the incoming order. He then inserts two transactions of his own, right before the overlapping tx: one to buy 1 BTS for 0.9 bitUSD, and one to sell 1 BTS for 1 bitUSD. The first one will be matched with the order on the book, the second one will be placed into the book, only to be matched with the overlapping tx a moment later. Evil witness has a risk-free profit of 0.1 bitUSD.
How to detect that?
Look for blocks that contain such a suspicious succession of transactions. Note that the evil witness could exclude the original tx from his own block to make it look less suspicious, because most likely it will be included by the next witness. In conclusion, you should check such suspicious sequences in adjacent blocks as well. If you detect any, count such events for each witness. An evil one should stick out like a sore thumb.