While looking for unused custom fields in the database I have found some really old customfields:
| Test Sessions | 10008 | com.atlassian.bonfire.plugin:bonfire-multi-session-cft |
| Testing Status | 10017 | com.atlassian.bonfire.plugin:bonfire-testing-status-cft |
| Bonfire Browser | 10011 | com.atlassian.bonfire.plugin:bonfire-text |
| Bonfire Operating System | 10012 | com.atlassian.bonfire.plugin:bonfire-text |
| Bonfire User Agent | 10010 | com.atlassian.bonfire.plugin:bonfire-text |
| issueFunction | 10402 | com.onresolve.jira.groovy.groovyrunner:jqlFunctionsCustomFieldType |
| Bonfire jQuery Version | 10015 | com.atlassian.bonfire.plugin:bonfire-text |
| Bonfire URL | 10013 | com.atlassian.bonfire.plugin:bonfire-text |
| Bonfire Screen Resolution | 10014 | com.atlassian.bonfire.plugin:bonfire-text |
| uuid | 10018 | com.atlassian.jconnect.jconnect-plugin:uuid |
Those fields are not displayed on custom field list in Jira. When I try referencing the field by the ID jira shows:

There are no customfieldvalue entries for these fields in the database.
Plugins/Apps that probably introduced those fields (Bonfire, Script Runner, jconnect) are long gone from our instance. I suppose old versions of these plugins were unable to properly clean after themselves while uninstalling, and those old fields were carried over with all our subsequent jira upgrades.
Integrity Checker shows that everything is fine - obviously it can't detect those fields.
How can I clean those orhpaned unused customfields without breaking anything? Is there any tool for this? Or maybe some KB article on this?