silnite version 8 generates proper JSON output

If you were to guess the most popular download from this site, I suspect you’d say SilentKnight, exactly as I too would have expected. In fact, far outnumbering downloads of SilentKnight are those of its command tool sibling, silnite. Here for all those who just can’t wait to get their hands on an update is silnite version 8, at last.

I incorporated support for XProtect Remediator into the previous version, but not long after that was released I was asked to offer an improved output format which was either proper XML or JSON, not the mutilated ‘JSONised XML’ format which Apple seems to love so much. silnite version 8 gives you a choice of three output formats:

  • regular human-readable text, complete with a few emoji, as the default,
  • JSONised XML as before, and now
  • JSON proper.

Here are two examples:

The command silnite aj generates a full report:
{"XpremVer":"75","MRTUpdate":"2022-04-29 20:08:18 +0000","SIPstatus":"System Integrity Protection status: enabled.\n","KEXTV":"17.0.0","SSVstatus":"Authenticated Root status: enabled\n","TCCVer":"17.0","UpdateWaiting":false,"macOS":"Version 12.6 (Build 21G115)","KEXTE":"17.0.0","XpremUpdate":"2022-09-29 17:26:57 +0000","GatekeeperE":"181","GateVer":"181","XProtectV":"2162","FileVault":true,"GatekeeperDEV":"8.0","XPremV":"75","TCCE":"150.19","XPro":true,"XProtectE":"2162","TCCV":"150.19","MRTE":"1.93","MacModel":"iMacPro1,1\u0000","MRTV":"1.93","GatekeeperDEE":"8.0","GateUpdate":"2019-08-26 16:57:09 +0000","MRTVer":"1.93","TCCUpdate":"2019-06-05 04:49:18 +0000","EFIE":"1731.140.2.0.0","EFIV":"1731.140.2.0.0 (iBridge: 19.16.16067.0.0,0)\u0000","XPremE":"75","XproUpdate":"2022-08-18 18:25:33 +0000","XproVer":"2162","GatekeeperV":"181"}

and silnite bj provides the shorter:
{"GateVer":"181","XProtectV":"2162","KEXTV":"17.0.0","UpdateWaiting":false,"XpremUpdate":"2022-09-29 17:26:57 +0000","XPro":true,"SIPstatus":"System Integrity Protection status: enabled.\n","XproUpdate":"2022-08-18 18:25:33 +0000","XpremVer":"75","macOS":"Version 12.6 (Build 21G115)","XproVer":"2162","GateUpdate":"2019-08-26 16:57:09 +0000","EFIV":"1731.140.2.0.0 (iBridge: 19.16.16067.0.0,0)\u0000","MRTUpdate":"2022-04-29 20:08:18 +0000","TCCUpdate":"2019-06-05 04:49:18 +0000","XPremV":"75","MacModel":"iMacPro1,1\u0000","SSVstatus":"Authenticated Root status: enabled\n","FileVault":true,"MRTV":"1.93","MRTVer":"1.93","TCCV":"150.19","TCCVer":"17.0","GatekeeperDEV":"8.0","GatekeeperV":"181"}

Another user request was to provide a convenient way to read the version number of silnite, which turns out to be a viper’s nest. silnite has both an embedded code signature (as it has to for notarization) and Info.plist, within which is its version. While the Finder is able to read that version number, it seems far more difficult to do that from the command line, which for a command tool is somewhat inconvenient. In silnite version 8, when you obtain usage info with the h option, the first line now states its version.

silnite version 8 is now available from here: silnite8a
from Downloads above, and from its Product Page. Being a command tool, you don’t get sissy things like auto-updates, I’m afraid.