I think '{}' is the right thing to do. From man find:

```
       find . -type f -exec file '{}' \;

       Runs  `file'  on  every file in or below the current directory.  Notice
       that the braces are enclosed in single quote marks to protect them from
       interpretation as shell script punctuation.  The semicolon is similarly
       protected by the use of a backslash, though single  quotes  could  have
       been used in that case also.
```