项目作者: hrbrmstr

项目描述 :
⁇ 'osquery' 'DBI' and 'dbplyr' Interface for R
高级语言: R
项目地址: git://github.com/hrbrmstr/osqueryr.git
创建时间: 2018-05-25T20:50:34Z
项目社区:https://github.com/hrbrmstr/osqueryr

开源协议:Other

下载


osqueryr

‘osquery’ ‘DBI’ and ‘dbplyr’ Interface for R

WIP WIP WIP

But, so far it seems to work pretty well.

NOTE: You need to install osquery for this to work.

Read https://osquery.readthedocs.io/en/stable before proceeding.

HEY!

One of the super cool things abt osquery is that it works on every
major platform so you can use this package to normalize OS-level queries
for anything that you may have wanted to do before but didn’t feel like
doing b/c you had to handle so many OS foibles.

Description

‘osquery’ https://osquery.readthedocs.io/en/stable is an operating
system instrumentation framework for ‘Windows’, ‘OS X (macOS)’, ‘Linux’,
and ‘FreeBSD’. The tools make low-level operating system analytics and
monitoring both performant and intuitive. A full ‘dbplyr’-compliant
‘DBI’-driver interface is provided facilitating intuitive and tidy
analytic idioms.

What’s Inside The Tin

Pretty much what you’d expect for DBI and dbplyr plus:

The following functions are implemented:

  • osq_fs_logs: List all the logs on our local system
  • osq_expose_tables: Return all (or selected) local or remote osquery tables as a named list of dbplyr tibbles
  • osq_load_tables: Return all (or selected) local or remote osquery tables as a named list of dbplyr tibbles

TODO (y’all are encouraged to contribute)

  • finish DBI driver
  • smart(er) type conversion
  • tests
  • vignette(s)

Installation

  1. devtools::install_git("git://gitlab.com/hrbrmstr/osqueryr")
  2. devtools::install_git("git://github.com/hrbrmstr/osqueryr")

Usage

  1. library(osqueryr)
  2. library(tidyverse)
  3. library(knitr)
  4. # current verison
  5. packageVersion("osqueryr")
  1. ## [1] '0.1.0'

osquery info

  1. osqdb <- src_dbi(osqueryr::dbConnect(Osquery()))
  2. glimpse(tbl(osqdb, "osquery_info"))
  1. ## Observations: ??
  2. ## Variables: 11
  3. ## $ build_distro <chr> "10.12"
  4. ## $ build_platform <chr> "darwin"
  5. ## $ config_hash <chr> ""
  6. ## $ config_valid <chr> "0"
  7. ## $ extensions <chr> "inactive"
  8. ## $ instance_id <chr> "0bda930c-43ad-48cc-a324-23ca614aaa00"
  9. ## $ pid <chr> "45863"
  10. ## $ start_time <chr> "1527364673"
  11. ## $ uuid <chr> "709F311C-B34D-5CF4-A111-91C8AA4E079B"
  12. ## $ version <chr> "3.2.4"
  13. ## $ watcher <chr> "-1"

This can work with remote hosts, too:

  1. con <- osqueryr::dbConnect(Osquery())
  2. con
  1. ## <OsqueryConnection>
  1. local_db <- src_dbi(con)
  2. local_db
  1. ## NULL
  2. ## src: OsqueryConnection
  3. ## tbls: account_policy_data, acpi_tables, ad_config, alf, alf_exceptions, alf_explicit_auths, alf_services, app_schemes,
  4. ## apps, apt_sources, arp_cache, asl, augeas, authorization_mechanisms, authorizations, authorized_keys, block_devices,
  5. ## browser_plugins, carbon_black_info, carves, certificates, chrome_extensions, cpu_time, cpuid, crashes, crontab, curl,
  6. ## curl_certificate, device_file, device_firmware, device_hash, device_partitions, disk_encryption, disk_events,
  7. ## dns_resolvers, docker_container_labels, docker_container_mounts, docker_container_networks, docker_container_ports,
  8. ## docker_container_processes, docker_container_stats, docker_containers, docker_image_labels, docker_images,
  9. ## docker_info, docker_network_labels, docker_networks, docker_version, docker_volume_labels, docker_volumes, etc_hosts,
  10. ## etc_protocols, etc_services, event_taps, extended_attributes, fan_speed_sensors, file, file_events, firefox_addons,
  11. ## gatekeeper, gatekeeper_approved_apps, groups, hardware_events, hash, homebrew_packages, interface_addresses,
  12. ## interface_details, iokit_devicetree, iokit_registry, kernel_extensions, kernel_info, kernel_panics, keychain_acls,
  13. ## keychain_items, known_hosts, last, launchd, launchd_overrides, listening_ports, lldp_neighbors, load_average,
  14. ## logged_in_users, magic, managed_policies, mounts, nfs_shares, nvram, opera_extensions, os_version, osquery_events,
  15. ## osquery_extensions, osquery_flags, osquery_info, osquery_packs, osquery_registry, osquery_schedule, package_bom,
  16. ## package_install_history, package_receipts, pci_devices, platform_info, plist, power_sensors, preferences,
  17. ## process_envs, process_events, process_memory_map, process_open_files, process_open_sockets, processes,
  18. ## prometheus_metrics, python_packages, quicklook_cache, routes, safari_extensions, sandboxes, shared_folders,
  19. ## sharing_preferences, shell_history, signature, sip_config, smbios_tables, smc_keys, startup_items, sudoers, suid_bin,
  20. ## system_controls, system_info, temperature_sensors, time, time_machine_backups, time_machine_destinations, uptime,
  21. ## usb_devices, user_events, user_groups, user_interaction_events, user_ssh_keys, users, virtual_memory_info,
  22. ## wifi_networks, wifi_status, wifi_survey, xprotect_entries, xprotect_meta, xprotect_reports, yara, yara_events,
  23. ## yum_sources
  1. osq1_con <- osqueryr::dbConnect(Osquery(), host = "hrbrmstr@osq1")
  2. osq1_con
  1. ## <OsqueryConnection>
  2. ## <ssh session>
  3. ## connected: hrbrmstr@osq1:22
  4. ## server: 37:92:1c:e3:a5:4a:e8:6f:dc:e7:86:00:16:3a:46:5b:b4:9f:df:f1
  1. osq1_db <- src_dbi(osq1_con)
  2. osq1_db
  1. ## <ssh session>
  2. ## connected: hrbrmstr@osq1:22
  3. ## server: 37:92:1c:e3:a5:4a:e8:6f:dc:e7:86:00:16:3a:46:5b:b4:9f:df:f1
  4. ## src: OsqueryConnection
  5. ## tbls: account_policy_data, acpi_tables, ad_config, alf, alf_exceptions, alf_explicit_auths, alf_services, app_schemes,
  6. ## apps, apt_sources, arp_cache, asl, augeas, authorization_mechanisms, authorizations, authorized_keys, block_devices,
  7. ## browser_plugins, carbon_black_info, carves, certificates, chrome_extensions, cpu_time, cpuid, crashes, crontab, curl,
  8. ## curl_certificate, device_file, device_firmware, device_hash, device_partitions, disk_encryption, disk_events,
  9. ## dns_resolvers, docker_container_labels, docker_container_mounts, docker_container_networks, docker_container_ports,
  10. ## docker_container_processes, docker_container_stats, docker_containers, docker_image_labels, docker_images,
  11. ## docker_info, docker_network_labels, docker_networks, docker_version, docker_volume_labels, docker_volumes, etc_hosts,
  12. ## etc_protocols, etc_services, event_taps, extended_attributes, fan_speed_sensors, file, file_events, firefox_addons,
  13. ## gatekeeper, gatekeeper_approved_apps, groups, hardware_events, hash, homebrew_packages, interface_addresses,
  14. ## interface_details, iokit_devicetree, iokit_registry, kernel_extensions, kernel_info, kernel_panics, keychain_acls,
  15. ## keychain_items, known_hosts, last, launchd, launchd_overrides, listening_ports, lldp_neighbors, load_average,
  16. ## logged_in_users, magic, managed_policies, mounts, nfs_shares, nvram, opera_extensions, os_version, osquery_events,
  17. ## osquery_extensions, osquery_flags, osquery_info, osquery_packs, osquery_registry, osquery_schedule, package_bom,
  18. ## package_install_history, package_receipts, pci_devices, platform_info, plist, power_sensors, preferences,
  19. ## process_envs, process_events, process_memory_map, process_open_files, process_open_sockets, processes,
  20. ## prometheus_metrics, python_packages, quicklook_cache, routes, safari_extensions, sandboxes, shared_folders,
  21. ## sharing_preferences, shell_history, signature, sip_config, smbios_tables, smc_keys, startup_items, sudoers, suid_bin,
  22. ## system_controls, system_info, temperature_sensors, time, time_machine_backups, time_machine_destinations, uptime,
  23. ## usb_devices, user_events, user_groups, user_interaction_events, user_ssh_keys, users, virtual_memory_info,
  24. ## wifi_networks, wifi_status, wifi_survey, xprotect_entries, xprotect_meta, xprotect_reports, yara, yara_events,
  25. ## yum_sources
  1. osq2_con <- osqueryr::dbConnect(Osquery(), host = "bob@osq2", osquery_remote_path = "/usr/bin")
  2. osq2_con
  1. ## <OsqueryConnection>
  2. ## <ssh session>
  3. ## connected: bob@osq2:22
  4. ## server: f4:b6:c1:28:28:7d:d0:03:92:a3:a5:fe:c3:40:e3:7d:8c:db:71:1a
  1. osq2_db <- src_dbi(osq2_con)
  2. osq2_db
  1. ## <ssh session>
  2. ## connected: bob@osq2:22
  3. ## server: f4:b6:c1:28:28:7d:d0:03:92:a3:a5:fe:c3:40:e3:7d:8c:db:71:1a
  4. ## src: OsqueryConnection
  5. ## tbls: acpi_tables, apt_sources, arp_cache, augeas, authorized_keys, block_devices, carbon_black_info, carves,
  6. ## chrome_extensions, cpu_time, cpuid, crontab, curl, curl_certificate, deb_packages, device_file, device_hash,
  7. ## device_partitions, disk_encryption, dns_resolvers, docker_container_labels, docker_container_mounts,
  8. ## docker_container_networks, docker_container_ports, docker_container_processes, docker_container_stats,
  9. ## docker_containers, docker_image_labels, docker_images, docker_info, docker_network_labels, docker_networks,
  10. ## docker_version, docker_volume_labels, docker_volumes, ec2_instance_metadata, ec2_instance_tags, etc_hosts,
  11. ## etc_protocols, etc_services, file, file_events, firefox_addons, groups, hardware_events, hash, intel_me_info,
  12. ## interface_addresses, interface_details, iptables, kernel_info, kernel_integrity, kernel_modules, known_hosts, last,
  13. ## listening_ports, lldp_neighbors, load_average, logged_in_users, magic, md_devices, md_drives, md_personalities,
  14. ## memory_devices, memory_info, memory_map, mounts, msr, npm_packages, opera_extensions, os_version, osquery_events,
  15. ## osquery_extensions, osquery_flags, osquery_info, osquery_packs, osquery_registry, osquery_schedule, pci_devices,
  16. ## platform_info, portage_keywords, portage_packages, portage_use, process_envs, process_events, process_file_events,
  17. ## process_memory_map, process_open_files, process_open_sockets, processes, prometheus_metrics, python_packages, routes,
  18. ## rpm_package_files, rpm_packages, shadow, shared_memory, shell_history, smbios_tables, socket_events, sudoers,
  19. ## suid_bin, syslog_events, system_controls, system_info, time, uptime, usb_devices, user_events, user_groups,
  20. ## user_ssh_keys, users, yara, yara_events, yum_sources

available tables

  1. osqdb
  1. ## NULL
  2. ## src: OsqueryConnection
  3. ## tbls: account_policy_data, acpi_tables, ad_config, alf, alf_exceptions, alf_explicit_auths, alf_services, app_schemes,
  4. ## apps, apt_sources, arp_cache, asl, augeas, authorization_mechanisms, authorizations, authorized_keys, block_devices,
  5. ## browser_plugins, carbon_black_info, carves, certificates, chrome_extensions, cpu_time, cpuid, crashes, crontab, curl,
  6. ## curl_certificate, device_file, device_firmware, device_hash, device_partitions, disk_encryption, disk_events,
  7. ## dns_resolvers, docker_container_labels, docker_container_mounts, docker_container_networks, docker_container_ports,
  8. ## docker_container_processes, docker_container_stats, docker_containers, docker_image_labels, docker_images,
  9. ## docker_info, docker_network_labels, docker_networks, docker_version, docker_volume_labels, docker_volumes, etc_hosts,
  10. ## etc_protocols, etc_services, event_taps, extended_attributes, fan_speed_sensors, file, file_events, firefox_addons,
  11. ## gatekeeper, gatekeeper_approved_apps, groups, hardware_events, hash, homebrew_packages, interface_addresses,
  12. ## interface_details, iokit_devicetree, iokit_registry, kernel_extensions, kernel_info, kernel_panics, keychain_acls,
  13. ## keychain_items, known_hosts, last, launchd, launchd_overrides, listening_ports, lldp_neighbors, load_average,
  14. ## logged_in_users, magic, managed_policies, mounts, nfs_shares, nvram, opera_extensions, os_version, osquery_events,
  15. ## osquery_extensions, osquery_flags, osquery_info, osquery_packs, osquery_registry, osquery_schedule, package_bom,
  16. ## package_install_history, package_receipts, pci_devices, platform_info, plist, power_sensors, preferences,
  17. ## process_envs, process_events, process_memory_map, process_open_files, process_open_sockets, processes,
  18. ## prometheus_metrics, python_packages, quicklook_cache, routes, safari_extensions, sandboxes, shared_folders,
  19. ## sharing_preferences, shell_history, signature, sip_config, smbios_tables, smc_keys, startup_items, sudoers, suid_bin,
  20. ## system_controls, system_info, temperature_sensors, time, time_machine_backups, time_machine_destinations, uptime,
  21. ## usb_devices, user_events, user_groups, user_interaction_events, user_ssh_keys, users, virtual_memory_info,
  22. ## wifi_networks, wifi_status, wifi_survey, xprotect_entries, xprotect_meta, xprotect_reports, yara, yara_events,
  23. ## yum_sources

sample table

  1. tbl(osqdb, "dns_resolvers")
  1. ## NULL
  2. ## # Source: table<dns_resolvers> [?? x 5]
  3. ## # Database: OsqueryConnection
  4. ## address id netmask options type
  5. ## <chr> <chr> <chr> <chr> <chr>
  6. ## 1 "" 0 32 1729 nameserver
  7. ## 2 "" 1 32 1729 nameserver
  8. ## 3 9.9.9.9 2 32 1729 nameserver
  9. ## 4 hsd1.nh.comcast.net 0 "" 1729 search
  10. ## 5 hsd1.nh.comcast.net 1 "" 1729 search

check out processes

  1. procs <- tbl(osqdb, "processes")
  2. filter(procs, cmdline != "") %>%
  3. select(cmdline, total_size)
  1. ## NULL
  2. ## # Source: lazy query [?? x 2]
  3. ## # Database: OsqueryConnection
  4. ## cmdline total_size
  5. ## <chr> <chr>
  6. ## 1 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console 45940736
  7. ## 2 /usr/sbin/cfprefsd agent 4009984
  8. ## 3 /usr/libexec/UserEventAgent (Aqua) 6242304
  9. ## 4 /usr/sbin/distnoted agent 16588800
  10. ## 5 /System/Library/CoreServices/ControlStrip.app/Contents/MacOS/TouchBarAgent 3379200
  11. ## 6 /usr/libexec/lsd 18866176
  12. ## 7 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter -L 7561216
  13. ## 8 /usr/libexec/trustd --agent 13250560
  14. ## 9 /usr/libexec/languageassetd --firstLogin 7131136
  15. ## 10 /usr/libexec/secinitd 14454784
  16. ## # ... with more rows
  1. filter(procs, name %like% '%fire%') %>%
  2. glimpse()
  1. ## Observations: ??
  2. ## Variables: 26
  3. ## $ cmdline <chr> "/usr/libexec/ApplicationFirewall/Firewall", "/Applications/FirefoxDeveloperEdition.app/...
  4. ## $ cwd <chr> "/", "/"
  5. ## $ disk_bytes_read <chr> "8192", "261332992"
  6. ## $ disk_bytes_written <chr> "0", "1746137088"
  7. ## $ egid <chr> "20", "20"
  8. ## $ euid <chr> "501", "501"
  9. ## $ gid <chr> "20", "20"
  10. ## $ name <chr> "Firewall", "firefox"
  11. ## $ nice <chr> "0", "0"
  12. ## $ on_disk <chr> "1", "1"
  13. ## $ parent <chr> "1", "1"
  14. ## $ path <chr> "/usr/libexec/ApplicationFirewall/Firewall", "/Applications/FirefoxDeveloperEdition.app/...
  15. ## $ pgroup <chr> "28329", "39010"
  16. ## $ pid <chr> "28329", "39010"
  17. ## $ resident_size <chr> "32768", "1188757504"
  18. ## $ root <chr> "", ""
  19. ## $ sgid <chr> "20", "20"
  20. ## $ start_time <chr> "1089108", "1216586"
  21. ## $ state <chr> "R", "R"
  22. ## $ suid <chr> "501", "501"
  23. ## $ system_time <chr> "3", "289281"
  24. ## $ threads <chr> "2", "65"
  25. ## $ total_size <chr> "647168", "1064378368"
  26. ## $ uid <chr> "501", "501"
  27. ## $ user_time <chr> "6", "768714"
  28. ## $ wired_size <chr> "0", "0"

see if any processes have no corresponding disk image

  1. filter(procs, on_disk == 0) %>%
  2. select(name, path, pid)
  1. ## NULL
  2. ## # Source: lazy query [?? x 3]
  3. ## # Database: OsqueryConnection

(gosh I hope ^^ was empty)

top 10 largest processes by resident memory size

  1. arrange(procs, desc(resident_size)) %>%
  2. select(pid, name, uid, resident_size)
  1. ## NULL
  2. ## # Source: lazy query [?? x 4]
  3. ## # Database: OsqueryConnection
  4. ## # Ordered by: desc(resident_size)
  5. ## name pid resident_size uid
  6. ## <chr> <chr> <chr> <chr>
  7. ## 1 java 35914 1434951680 501
  8. ## 2 firefox 39010 1188757504 501
  9. ## 3 RStudio 42595 745156608 501
  10. ## 4 plugin-container 40130 613330944 501
  11. ## 5 plugin-container 39014 499740672 501
  12. ## 6 plugin-container 42533 304885760 501
  13. ## 7 plugin-container 42666 277454848 501
  14. ## 8 plugin-container 45069 268763136 501
  15. ## 9 Adobe Desktop Service 642 252526592 501
  16. ## 10 Messages 43128 203517952 501
  17. ## # ... with more rows

process count for the top 10 most active processes

  1. count(procs, name, sort=TRUE)
  1. ## NULL
  2. ## # Source: lazy query [?? x 2]
  3. ## # Database: OsqueryConnection
  4. ## # Ordered by: desc(n)
  5. ## n name
  6. ## <chr> <chr>
  7. ## 1 15 MTLCompilerService
  8. ## 2 9 mdworker
  9. ## 3 6 Dropbox
  10. ## 4 6 ssh
  11. ## 5 5 plugin-container
  12. ## 6 4 com.apple.CommerceKit.TransactionService
  13. ## 7 4 distnoted
  14. ## 8 4 trustd
  15. ## 9 3 ACCFinderSync
  16. ## 10 3 AdobeCRDaemon
  17. ## # ... with more rows

get all processes listening on a port (join example)

  1. listen <- tbl(osqdb, "listening_ports")
  2. left_join(procs, listen, by="pid") %>%
  3. filter(port != "") %>%
  4. distinct(name, port, address, pid)
  1. ## NULL
  2. ## # Source: lazy query [?? x 4]
  3. ## # Database: OsqueryConnection
  4. ## address name pid port
  5. ## <chr> <chr> <chr> <chr>
  6. ## 1 "" 2BUA8C4S2C.com.agilebits.onepassword4-helper 476 0
  7. ## 2 127.0.0.1 2BUA8C4S2C.com.agilebits.onepassword4-helper 476 6258
  8. ## 3 ::1 2BUA8C4S2C.com.agilebits.onepassword4-helper 476 6258
  9. ## 4 127.0.0.1 2BUA8C4S2C.com.agilebits.onepassword4-helper 476 6263
  10. ## 5 ::1 2BUA8C4S2C.com.agilebits.onepassword4-helper 476 6263
  11. ## 6 "" Adobe CEF Helper 745 0
  12. ## 7 "" Adobe CEF Helper 25701 0
  13. ## 8 "" Adobe Desktop Service 642 0
  14. ## 9 127.0.0.1 Adobe Desktop Service 642 15292
  15. ## 10 "" AdobeIPCBroker 596 0
  16. ## # ... with more rows

get file info

  1. files <- tbl(osqdb, "file")
  2. filter(files, path == "/etc/hosts") %>%
  3. select(filename, size)
  1. ## NULL
  2. ## # Source: lazy query [?? x 2]
  3. ## # Database: OsqueryConnection
  4. ## filename size
  5. ## <chr> <chr>
  6. ## 1 hosts 1037548

users

  1. tbl(osqdb, "users")
  1. ## NULL
  2. ## # Source: table<users> [?? x 10]
  3. ## # Database: OsqueryConnection
  4. ## description directory gid gid_signed shell uid uid_signed username uuid
  5. ## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
  6. ## 1 Guest User /Users/Guest 201 201 /bin/bash 201 201 Guest FFFFEEEE-DDDD-C…
  7. ## 2 AMaViS Daemon /var/virusmails 83 83 /usr/bin/false 83 83 _amavisd FFFFEEEE-DDDD-C…
  8. ## 3 AppleEvents Daemon /var/empty 55 55 /usr/bin/false 55 55 _appleevents FFFFEEEE-DDDD-C…
  9. ## 4 applepay Account /var/db/applepay 260 260 /usr/bin/false 260 260 _applepay FFFFEEEE-DDDD-C…
  10. ## 5 Application Owner /var/empty 87 87 /usr/bin/false 87 87 _appowner FFFFEEEE-DDDD-C…
  11. ## 6 Application Server /var/empty 79 79 /usr/bin/false 79 79 _appserver FFFFEEEE-DDDD-C…
  12. ## 7 Apple Remote Desktop /var/empty 67 67 /usr/bin/false 67 67 _ard FFFFEEEE-DDDD-C…
  13. ## 8 Asset Cache Service /var/empty 235 235 /usr/bin/false 235 235 _assetcache FFFFEEEE-DDDD-C…
  14. ## 9 Astris Services /var/db/astris 245 245 /usr/bin/false 245 245 _astris FFFFEEEE-DDDD-C…
  15. ## 10 ATS Server /var/empty 97 97 /usr/bin/false 97 97 _atsserver FFFFEEEE-DDDD-C…
  16. ## # ... with more rows
  1. tbl(osqdb, "logged_in_users")
  1. ## NULL
  2. ## # Source: table<logged_in_users> [?? x 6]
  3. ## # Database: OsqueryConnection
  4. ## host pid time tty type user
  5. ## <chr> <chr> <chr> <chr> <chr> <chr>
  6. ## 1 "" 111 1526120904 console user bob
  7. ## 2 "" 40196 1527301872 ttys001 user bob
  8. ## 3 "" 45313 1527364233 ttys002 dead bob
  9. ## 4 "" 36182 1527218774 ttys003 dead bob
  10. ## 5 "" 45379 1527364355 ttys004 dead bob
  11. ## 6 "" 67343 1527010299 ttys005 dead bob
  12. ## 7 "" 4386 1527013112 ttys006 dead bob
  13. ## 8 "" 56171 1527005765 tty?? dead bob
  14. ## 9 "" 16477 1527024957 ttys007 dead bob
  15. ## 10 "" 5013 1527013576 ttys008 dead bob
  16. ## # ... with more rows

groups

  1. tbl(osqdb, "groups")
  1. ## NULL
  2. ## # Source: table<groups> [?? x 5]
  3. ## # Database: OsqueryConnection
  4. ## gid gid_signed groupname
  5. ## <chr> <chr> <chr>
  6. ## 1 83 83 _amavisd
  7. ## 2 55 55 _appleevents
  8. ## 3 260 260 _applepay
  9. ## 4 87 87 _appowner
  10. ## 5 81 81 _appserveradm
  11. ## 6 79 79 _appserverusr
  12. ## 7 33 33 _appstore
  13. ## 8 67 67 _ard
  14. ## 9 235 235 _assetcache
  15. ## 10 245 245 _astris
  16. ## # ... with more rows

homebrew!

  1. tbl(osqdb, "homebrew_packages")
  1. ## NULL
  2. ## # Source: table<homebrew_packages> [?? x 3]
  3. ## # Database: OsqueryConnection
  4. ## name path version
  5. ## <chr> <chr> <chr>
  6. ## 1 adns /usr/local/Cellar/adns/ 1.5.1
  7. ## 2 apache-arrow /usr/local/Cellar/apache-arrow/ 0.9.0
  8. ## 3 aria2 /usr/local/Cellar/aria2/ 1.33.1
  9. ## 4 asciinema /usr/local/Cellar/asciinema/ 2.0.0_1
  10. ## 5 asciinema2gif /usr/local/Cellar/asciinema2gif/ 0.5
  11. ## 6 atk /usr/local/Cellar/atk/ 2.28.1_1
  12. ## 7 atomicparsley /usr/local/Cellar/atomicparsley/ 0.9.6
  13. ## 8 augeas /usr/local/Cellar/augeas/ 1.10.1
  14. ## 9 autoconf /usr/local/Cellar/autoconf/ 2.69
  15. ## 10 automake /usr/local/Cellar/automake/ 1.16.1
  16. ## # ... with more rows

Code of Conduct

Please note that this project is released with a Contributor Code of
Conduct
. By participating in this project you agree to
abide by its terms.