{"id":48489,"date":"2025-07-15T15:13:08","date_gmt":"2025-07-15T19:13:08","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=48489"},"modified":"2025-07-16T09:23:17","modified_gmt":"2025-07-16T13:23:17","slug":"gatekeeper-change-in-macos-15-4","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2025\/07\/15\/gatekeeper-change-in-macos-15-4\/","title":{"rendered":"Gatekeeper Change in macOS 15.4"},"content":{"rendered":"<p><a href=\"https:\/\/lapcatsoftware.com\/articles\/2025\/4\/8.html\">Jeff Johnson<\/a> (<a href=\"https:\/\/mastodon.social\/@lapcatsoftware\/114394187506039486\">Mastodon<\/a>):<\/p>\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/2025\/4\/8.html\"><p>On macOS 15.2, I was able to drag the exact same downloaded WebP file to TextEdit and BBEdit with no Gatekeeper alert! Thus, it appears that the Reddit poster was correct, and something did change recently.<\/p><p>[&#8230;]<\/p><p>I perused the unusually long Apple support document <a href=\"https:\/\/support.apple.com\/122373\">About the security content of macOS Sequoia 15.4<\/a>, but nothing in there jumped out at me as the probable cause of the Gatekeeper change.<\/p><p>[&#8230;]<\/p><p>The appearance or nonappearance of Gatekeeper alerts depends entirely on the downloaded file&rsquo;s extension. I edited the WebP file with a hex editor to make it into a plain text file, but it still triggered a Gatekeeper alert on opening in an app. On the other hand, when I kept the file contents the same, in WebP format, but changed the file extension to <code>.txt<\/code>, the Gatekeeper alert no longer appeared.<\/p><p>Overall, this feels like more security theater in macOS.<\/p><p>[&#8230;]<\/p><p>My test app will open any and every file type without a Gatekeeper alert, as far as I&rsquo;ve seen, when the <code>CFBundleDocumentTypes<\/code> has a single entry declaring the generic <code>public.data<\/code> in its <code>LSItemContentTypes<\/code>. The Gatekeeper alerts begin when I add a second entry with certain types, such as <code>com.apple.webarchive<\/code> or <code>public.unix-executable<\/code>. With just two declarations, one &ldquo;safe&rdquo; type such as <code>public.data<\/code> and one apparently &ldquo;dangerous&rdquo; type such as <code>com.apple.webarchive<\/code>, I see Gatekeeper alerts when trying to open any file, with any extension: <code>.webp<\/code>, <code>.png<\/code>, or even <code>.txt<\/code>.<\/p><\/blockquote>\n\n<p>He thinks the change in behavior may be a bug.<\/p>\n\n<p><a href=\"https:\/\/iosdev.space\/@tempelorg\/114593481569509436\">Thomas Tempelmann<\/a>:<\/p>\n<blockquote cite=\"https:\/\/iosdev.space\/@tempelorg\/114593481569509436\"><p>The problem (which has been around since macOS 10.0) is that it considers any file without a recognized extension to be an executable instead of being conservative and considering it something less. I always thought that to be a bad assumption. You cannot launch such executables directly from Finder anyway, so what&rsquo;s the use case for this?<\/p><\/blockquote>\n\n<p>Yesterday, I saw a variation on this dialog that was new to me. I was trying to open a compiled nib file with Archaeology, and it said:<\/p>\n<blockquote><p>Apple could not verify &ldquo;[file].nib&rdquo; is free of malware that may harm your Mac or compromise your privacy.<\/p><\/blockquote>\n<p>The only two buttons were <strong>Done<\/strong> and <strong>Move to Trash<\/strong>. This is a <em>document<\/em> file, not executable code, and the only way I could open it was to delete the <code>com.apple.quarantine<\/code> xattr.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/07\/09\/archaeology-1-3\/\">Archaeology 1.3<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/03\/31\/macos-15-4\/\">macOS 15.4<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/02\/17\/gatekeeper-vs-terminal-and-fileloc-files\/\">Gatekeeper vs. .terminal and .fileloc Files<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/09\/23\/sequoias-spctl-and-csrutil\/\">Sequoia&rsquo;s spctl and csrutil<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/05\/sequoia-removes-gatekeeper-contextual-menu-override\/\">Sequoia Removes Gatekeeper Contextual Menu Override<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/05\/06\/quarantine-apps-and-documents\/\">Quarantine: Apps and Documents<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/04\/16\/sandboxing-makes-quarantine-flags-almost-meaningless\/\">Sandboxing Makes Quarantine Flags Almost Meaningless<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Jeff Johnson (Mastodon): On macOS 15.2, I was able to drag the exact same downloaded WebP file to TextEdit and BBEdit with no Gatekeeper alert! Thus, it appears that the Reddit poster was correct, and something did change recently.[&#8230;]I perused the unusually long Apple support document About the security content of macOS Sequoia 15.4, but [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2025-07-15T19:13:12Z","apple_news_api_id":"a0fd313b-4073-4c57-8b8a-090a14a45734","apple_news_api_modified_at":"2025-07-16T13:23:19Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/AoP0xO0BzTFeLigkKFKRXNA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1902,465,370,30,2598],"class_list":["post-48489","post","type-post","status-publish","format-standard","hentry","category-technology","tag-extended-attributes","tag-gatekeeper","tag-interfacebuilder","tag-mac","tag-macos-15-sequoia"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=48489"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48489\/revisions"}],"predecessor-version":[{"id":48498,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48489\/revisions\/48498"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=48489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=48489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=48489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}