in chef/cookbooks/cpe_crowdstrike_falcon_sensor/resources/cpe_crowdstrike_falcon_sensor.rb [582:606]
def falconctl_healthy?(falconctl_path = falcon_agent_prefs['falconctl_path'])
status = false
if macos?
if node.catalina? || node.mojave?
cmd = shell_out("#{falconctl_path} stats")
status = cmd.nil? ? false : cmd.exitstatus.zero?
else
cmd = shell_out("#{falconctl_path} stats agent_info --plist").stdout
if cmd.nil? || cmd.empty?
return false
else
cmd_plist = Plist.parse_xml(cmd)
end
if cmd_plist.nil? || cmd_plist.empty?
return false
else
sensor_operational = cmd_plist['agent_info']['sensor_operational']
end
status = sensor_operational.nil? ? false : sensor_operational.downcase == 'true'
end
end
status
end