P.S. as Mikkel says, "attribute" is fairly formal and dignified, and does not go well with "mess," which is informal and colloquial.
You would be more likely to say "Who made this mess?"
Also, in your example the correct form of the "who" is "whom," because it is not a subject, but an (indirect?) object: "To whom do you attribute this mess?" In real life, native English speakers ignore this distinction most of the time. You can just use "who" all the time and nobody but a copy editor or an English teacher will complain.
Having started a sentence with the formal words "To whom do you attribute..." you are committed to a formal tone of voice, and you would probably use a different word than "mess." Possibilities:
"To whom do you attribute this disarray?"
"To whom do you attribute this chaotic state of affairs?"
"To whom do you attribute this bedlam?"
All of these sound more like a professor or schoolteacher than a normal native speaker!