Custom plugin for Watchman Monitoring to provide results if an OS update is available.
Alerting if specific Apple security updates have not been installed, or are available for installation.
- No longer relies on
silnitefor any reporting. - Uses Sofa to determine if updates are available.
- Simplified output to the dashboard.
- Includes latest release date.
- Informational warning (no ticket/email) if update was released within the last 8 days.
- Alert (ticket/email) if update is pending and it has been longer than 8 days after release.
- Preference Pane/Settings removed.
- Removes the use of
silnitebinary and only relies on information curled from Apple. - No longer reports MRT, XProtect, or XProtect Remediator information.
- No longer checks if SIP or XProtect is disabled.
- Uses curl to pull down current OS version information from https://gdmf.apple.com/v2/pmv.
- Shout out to Ross Matsuda of https://www.sudoade.com/author/ross/ for the excellent write up on how to get the latest OS version updates.
- Uses
curlresult to determine if the current OS matches on alerting for ticket/email (exit 2). - Will run OS version check during every run.
- Configuration Data related to XProtect/MRT/etc will continue to run according to schedule.
- Results for Configuration data will be an informational result (no ticket/email) in the Watchman Monitoring dashboard (
exit 20).
- Requires silnite 10 to be installed
- Creates a text file with results of a full run at
/Library/MonitoringClient/PluginSupport/_wm_silnite_results.txt - Will run an hourly light run based off results file.
- Full run of
silniteresults will still be based off Frequency to check for updates... results file will be updated at that time. - Fixes stale plugin results (now that data is sent during every run).
- Added Run Count Information to Plugin results.
- Removes Gatekeeper Version reporting (results removed from silnite 10).
- Adds XProtect Remediator Version reporting.
- Uses
/Library/Preferences/com.apple.SoftwareUpdate.plist/Library/Preferences/com.apple.SoftwareUpdate.plistfor gathering list of recommended updates (stops usingsoftwareupdate -l). - Adjusts if a plist setting file is missing an expected value.
- Creates a default settings plist on new installation.
- Changes default reporting frequency to 8 from 12 (more frequently).
- Simply a version bump to match current
silnitebinary version number - Requires silnite 9 to be installed
- Get silnite version 9 from Eclectic Light: https://eclecticlight.co/lockrattler-systhist/
- Adds compatibility for silnite 6, which in turn adds compatibility with Apple Silicon and macOS 12.
- Get silnite version 6 from Eclectic Light: https://eclecticlight.co/lockrattler-systhist/
- This version is NOT compatible with older versions of silnite. Requires silnite 6 to be installed.
Preference Pane
-
Frequency to check for updates
- Sets how often a full run will be done. More time between full checks will help speed up regular Watchman Monitoring reporting.
-
Unable to check for updates attempts
- If
silniteis unable to check for updates due to a connection failure, an informational warning will be generated (no tickets/emails) in your Watchman Monitoring dashboard. If the number of attempts exceeds this number, an alert (ticket/email) will be generated.
- If
Terminal/Command Line Options
- Force a one-time full run ignoring the frequency count:
sudo defaults write /Library/MonitoringClient/PluginSupport/_wm_silnite_settings.plist First_Run -bool true - Set the "Frequency to check for updates" count (set NUM to the number):
sudo defaults write /Library/MonitoringClient/PluginSupport/_wm_silnite_settings.plist Check_For_Updates _NUM_ - Set the "Unable to check for updates attempts" count (set NUM to the number):
sudo defaults write /Library/MonitoringClient/PluginSupport/_wm_silnite_settings.plist Warn_Updates_Attempts _NUM_
Emails daily/ticket created (exit 2) if...
silnitereports updates are availableUpdateWaiting = 1
This means...
- MRT could be out-of-date
- XProtect Remediator could be out-of-date
- XProtect could be out-of-date
- Other updates from
softwareupdateare available and will be listed
If unable to check for updates, shows informational warning (exit 20) Includes report of installed versions:
- MRT
- XProtect Remediator
- XProtect
(initial testing complete, still needs more testing) Sends one-time alerts (exit 200) if...
- SIP Disabled
- XProtect Disabled
Known Issues
- None
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

