I don't think it exists. One reason it might not be a great feature to have is that it would be hard to really get right. If it only worked based on assembly depenencies it would report false positive for packages which don't include assemblies but include
scripts or source code, or other files/resources, etc.
Tim

Should have a tool ready for this in the coming weeks. Feel free to pitch in and help if you are interested. There is a case for false positives, but on the whole the aim is to have it run in two modes:

Audit and report, but no changes (this will probably be the first version out, and is pretty close to testable).

Audit, report and fix. This would give the option to remove unused references from the .csproj (based on runtime transitive or not), and remove unused packages from the packages.config.

We already have a tool we use for auditing an entire feed for package sanity which:

Checks to ensure that all packaged assemblies have their manifest dependencies met by either