Skip to content

Releases: google/santa

v2024.9

24 Sep 16:18
737525b
Compare
Choose a tag to compare

Notes

Fixed

❗ Fixed a caching bug preventing static rules from applying immediately
❗ Fixed a rare issue preventing blocking of some platform binaries

What's Changed

  • Use runtime platform binary check for exec evals by @mlw in #1424
  • static rules: fix cache invalidation on rule change by @tburgin in #1425

Full Changelog: 2024.8...2024.9

v2024.8

11 Sep 14:07
9f41fbb
Compare
Choose a tag to compare

Notes

Changed

↔️ Removed spurious debug logging of sync request JSON
↔️ Changed several sync proto fields to uint32 to restore backward compatibility with versions prior to 2024.6

Fixed

❗ Fixed a caching bug affecting bundle version numbers
❗ Fixed a sync bug affecting the Content-Type header sent in requests
❗ Fixed a crash that could occur under certain FAA configurations

What's Changed

Full Changelog: 2024.7...2024.8

v2024.7

07 Aug 14:47
6093118
Compare
Choose a tag to compare

Notes

Changed

↔️ Migrated syncservice from SCNetworkReachability to nw_path_monitor as the former is deprecated and occasionally causes crashes.

Fixed

❗ Fixed issue serializing the serial_num field in sync Preflight requests
❗ Fixed a rare crash caused by a race accessing metric callbacks

What's Changed

Full Changelog: 2024.6...2024.7

v2024.6

26 Jul 15:04
@mlw mlw
59382bc
Compare
Choose a tag to compare

⚠️ Warning ⚠️

Shortly after release we were notified that the serial_num field in Preflight sync requests is being sent as serial_number. If this causes issues for your sync service, you may want to hold off on upgrading to this release and wait for 2024.7, which will be released shortly.

Notes

Changed

↔️ Serializing/deserializing of all sync requests and responses is now handled by the protobuf library. If protobuf transfers aren't enabled, the buffers will be converted to/from JSON just-in-time. This should be a transparent change for sync servers. However, it's possible there could be issues with rarely used keys. Please open an issue if you notice any sync keys not working as expected.
↔️ macOS 11 is no longer supported.
↔️ A dock icon now displays for the blocked execution UI and the window is discoverable via Cmd+Tab.
↔️ A blocked execution dialog is now discoverable via Cmd+Tab and a Dock icon will display while the window is open.

Fixed

❗ Addressed issue where santactl fileinfo could fail to get rule status if too many files were evaluated simultaneously.

Added

➕ The Santa daemon now includes signal protection to prevent being killed, even by root users.
➕ You can now configure Santa to communicate with the sync server via binary protobufs.
➕ 10 new event types have been added to the telemetry stream: Loginwindow login/logout/lock/unlock, OpenSSH login/logout, Screensharing attach/detach, and login(1) login/logout
➕ The --filter-inclusive switch was added to santactl fileinfo to support combining multiple --filter predicates as an AND operation as opposed to the default OR operation.
➕ The MachineID configuration value has been added to the requests of all sync protocol stages.
➕ The "Dismiss" button text in the blocked event dialog is now configurable (previously labeled "Ignore")

What's Changed

New Contributors

Full Changelog: 2024.5...2024.6

v2024.5

04 Jun 15:55
@mlw mlw
7502bc2
Compare
Choose a tag to compare

Notes

Fixed

❗ Fixed issue rendering unicode in popup dialog messages

Changed

↔️ The scheduling priority for some Santa tasks (such as enrichment and logging) was slightly increased
↔️ santactl fileinfo output for Signing ID now uses standardized TeamID / platform prefix

Added

➕ More template options are now supported for the EventDetailURL configuration key
➕ Bundle events now include cdhash, Team ID and Signing ID values
santactl rule now supports adding Signing ID and Team ID rules by file path

What's Changed

New Contributors

Full Changelog: 2024.4...2024.5

v2024.4

11 Apr 15:31
@mlw mlw
22aca6b
Compare
Choose a tag to compare

Notes

Fixed

❗ Address issue introduced in v2024.3 where rule information was not displayed in santactl fileinfo output. This also fixes a crash in the santactl fileinfo command if the --json flag was used. (#1318)
❗ The default selected button and keyboard shortcut (Cmd+Enter) for the blocked binary window have been restored.

What's Changed

  • [Bug] Restore default button type to MessageWindow for blocked events by @radsec in #1316
  • Bump MOLCodesignChecker tag to latest by @mlw in #1321
  • Fix: Update code to use the new MOLCodesignChecker interfaces for codesigning info by @pmarkowsky in #1322
  • Add macOS-14 to the test matrix by @pmarkowsky in #1323

Full Changelog: 2024.3...2024.4

v2024.3

04 Apr 17:16
@mlw mlw
57fc2b0
Compare
Choose a tag to compare

WARNING

We were notified about an issue affecting the santactl fileinfo command in this version shortly after this version was released (#1318). For normal output, rule information cannot be obtained. Additionally, JSON output is broken.

We will be releasing a 2024.4 release ahead of schedule to address these issues.

Notes

Fixed

❗ The FileChangesRegex configuration key now applies to all file modification event types that can be logged. This was inadvertently made to only apply to WRITE log events starting in v2022.9. This will lead to a reduction in the number of logged events depending on how this key is configured. IMPORTANT: If you're using this configuration key, please make sure to test how this change will affect your deployments.

Changed

↔️ Improved logic on when to flush local caches when new rules are received. Caches should now be flushed less often. This can result in better performance in some deployment setups.
↔️ Improved transitive rule creation events when tracking RENAME events. This should improve transitive rule creation for some toolchains.

Added

➕ CDHash rules are now supported. These are now the highest precedent rule type (ahead of binary hash). This includes adding support in santactl and to the sync protocol for sync servers to send rules to clients. See the Sync Protocol documentation for more details on how to serve CDHash rules.
➕ JSON rule import for locally managed deployments now supports the --clean and --clean-all flags (behaving similarly to santactl sync).

What's Changed

  • ProcessTree: fix missing direct deps by @kallsyms in #1288
  • docs: Document that *PathRegex does not work on symlinks by @russellhancox in #1290
  • ProcessTree: add macOS specific loader and ES adapter (2/4) by @kallsyms in #1237
  • Some more lint fixes by @kallsyms in #1295
  • Make FileChangesRegex apply to all file change event types by @mlw in #1294
  • Refactor rule and count lookups by @mlw in #1298
  • Creating transitive rules for rename events should fallback to destination path by @mlw in #1299
  • Added clean flags for JSON rule import by @pmarkowsky in #1300
  • Add support for CDHash rule types by @mlw in #1301
  • Add required dep for internal builds by @mlw in #1302
  • Implement NSSecureCoding for SNTRuleIdentifiers by @pmarkowsky in #1307
  • ProcessTree: integrate process tree throughout the event processing lifecycle (3/4) by @kallsyms in #1281
  • Tests: Fix SNTRuleTableTest in the presence of local static rules by @russellhancox in #1311
  • Fix: Do not flush authcache when receiving duplicate block rules from the sync service by @pmarkowsky in #1310
  • Overrides disabled when running tests unless explicitly enabled by @mlw in #1312
  • Add CDHash to rule evaluation order documentation by @jasonmc in #1313
  • Fix BUILD deps by @kallsyms in #1314
  • Add missing EndpointSecurity dylib by @kallsyms in #1315

Full Changelog: 2024.2...2024.3

v2024.2

20 Feb 15:05
@mlw mlw
e4c0d56
Compare
Choose a tag to compare

IMPORTANT: This release includes a fix that can impact some operations for users on macOS 14.4. We encourage all hosts to be upgraded as soon as possible to mitigate potential disruption.

Fixed
❗ Events received with deadlines in the very near future would be automatically denied.

Changed
↔️ The FailClosed configuration key is now respected in Lockdown mode when determining whether automatic fallback responses to events whose deadlines are about to expire should be allowed or denied. In Monitor mode, Santa now fails open similar to other usages of the FailClosed key.

What's Changed

  • ProcessTree: add core process tree logic (1/4) by @kallsyms in #1236
  • Fix import issues and lint by @kallsyms in #1282
  • Fix automatically denied events with small deadlines by @mlw in #1284
  • Respect fail closed on deadlines by @mlw in #1285
  • Add build dep for internal process by @mlw in #1286
  • Remove proc tree tests for now as the code isn't yet included in builds by @mlw in #1287

Full Changelog: 2024.1...2024.2

v2024.1

02 Feb 15:00
@mlw mlw
70474ab
Compare
Choose a tag to compare

IMPORTANT: This release includes changes to some default behavior. Please carefully read the release notes for details!

Fixed
❗ Support for the config key EnableForkAndExitLogging was inadvertently removed in v2022.9. This has effectively been treated as if it had a default value of true, but the intention was for the default value to be false. Support for this key and its original default have been added back. If you require FORK and EXIT log events, please update your configuration to set this key appropriately.
Configuration documentation was updated to include several supported but previously missing keys.

Changed
↔️ Clean syncs now remove only non-transitive rules from a host's rules database before applying the newly received rules by default.
↔️ The clean_sync preflight response key has been deprecated. Sync server maintainers should migrate to using the new sync_type key. If the clean_sync key is used, it will trigger the new default behavior of only removing non-transitive rules.
↔️ Transitive rule configuration is now printed regardless of whether or not a sync server is configured. The field was also moved to be grouped with the daemon section rather than the sync section.

Added
➕ The switch santactl sync --clean-all was added to reproduce the old clean sync behavior of removing all rules (instead of only non-transitive rules).

Please refer to the clean sync documentation for a better understanding of the new clean sync behavior!

What's Changed

  • reorder e2e tests by @kallsyms in #1249
  • Revert "Project: Remove provisioning_profiles attributes from command-line to…" by @mlw in #1251
  • Initial support for some scoped types by @mlw in #1250
  • GUI: Change default button text to "Open..." by @russellhancox in #1254
  • Event drop metrics by @mlw in #1253
  • Fix issue with drop count calculations by @mlw in #1256
  • Fix santactl rule --check by @mlw in #1262
  • Change build target visibility by @mlw in #1264
  • Fix wrong srcs paths by @mlw in #1265
  • Added documentation to clarify clean sync with zero rule behavior by @pmarkowsky in #1259
  • Docs add missing config keys by @mlw in #1270
  • Add back support for EnableForkAndExitLogging config key by @mlw in #1271
  • chore: Fix multiple typos by @hugo-syn in #1273
  • chore: Fix typo s/occured/occurred/ by @hugo-syn in #1274
  • Make santactl status always print out transitive rule status if set by @pmarkowsky in #1277
  • Sync clean all by @mlw in #1275

New Contributors

Full Changelog: 2023.10...2024.1

v2023.10

08 Dec 15:11
@mlw mlw
2216644
Compare
Choose a tag to compare

Notes

Fixed

❗ Fixed USB block mode state not always reporting correctly in santactl status
❗ TeamID and SigningID rules are now ignored on execs of binaries signed with development certificates

Added

➕ Entitlements are now logged on EXEC events, along with new configuration keys to filter which entitlements are logged

What's Changed

  • Dismiss santa popup after integration tests by @kallsyms in #1226
  • Explicitly cast strings to std::string_view by @Coderlane in #1230
  • Add name for white space check by @pmarkowsky in #1223
  • Add support for logging entitlements in EXEC events by @mlw in #1225
  • Fix internal build issues, minor cleanup. by @mlw in #1231
  • Entitlements logging config options by @mlw in #1233
  • Experimental metrics by @mlw in #1238
  • Ignore TeamID and SigningID rules for dev signed code by @mlw in #1241
  • Bump to C++20 by @mlw in #1243
  • Fix test issue caused by move to C++20 by @mlw in #1245
  • Fix USB state issue in santactl status by @mlw in #1244
  • Revert back to C++17 for now by @mlw in #1246
  • Project: Remove provisioning_profiles attributes from command-line to… by @russellhancox in #1247
  • Expand debug logging for transitive rule failure case by @mlw in #1248

New Contributors

Full Changelog: 2023.9...2023.10