{"code":"var Component=(()=>{var u=Object.create;var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var F=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports),v=(n,i)=>{for(var s in i)r(n,s,{get:i[s],enumerable:!0})},t=(n,i,s,l)=>{if(i&&typeof i==\"object\"||typeof i==\"function\")for(let a of m(i))!g.call(n,a)&&a!==s&&r(n,a,{get:()=>i[a],enumerable:!(l=p(i,a))||l.enumerable});return n};var b=(n,i,s)=>(s=n!=null?u(k(n)):{},t(i||!n||!n.__esModule?r(s,\"default\",{value:n,enumerable:!0}):s,n)),y=n=>t(r({},\"__esModule\",{value:!0}),n);var c=F((q,d)=>{d.exports=_jsx_runtime});var C={};v(C,{default:()=>h});var e=b(c());function o(n){let i={a:\"a\",blockquote:\"blockquote\",code:\"code\",em:\"em\",h2:\"h2\",h3:\"h3\",img:\"img\",li:\"li\",ol:\"ol\",p:\"p\",pre:\"pre\",span:\"span\",strong:\"strong\",table:\"table\",tbody:\"tbody\",td:\"td\",th:\"th\",thead:\"thead\",tr:\"tr\",ul:\"ul\",...n.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(i.p,{children:[\"Depuis macOS Sonoma, lorsqu'une application tentait de lire les donn\\xE9es priv\\xE9es d'une autre application, une invite s'affichait : \",(0,e.jsx)(i.em,{children:\"\\xAB App \\xBB souhaite acc\\xE9der aux donn\\xE9es d'autres applications.\"}),\" Vous pouviez autoriser ou refuser, et quoi qu'il se passe, vous saviez pourquoi. macOS 27 Golden Gate supprime cette invite. L'acc\\xE8s est d\\xE9sormais \",(0,e.jsx)(i.strong,{children:\"refus\\xE9 par d\\xE9faut et sans demande\"}),\". L'application qui voulait ces donn\\xE9es obtient simplement un r\\xE9sultat vide ou une erreur \\xAB Operation not permitted \\xBB. Vous ne le d\\xE9couvrez que lorsqu'une fonctionnalit\\xE9 cesse de fonctionner silencieusement.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Trois changements li\\xE9s dans la m\\xEAme version pointent dans la m\\xEAme direction : XProtect peut d\\xE9sormais bloquer l'acc\\xE8s aux donn\\xE9es couramment vol\\xE9es par les logiciels malveillants, les applications ne peuvent plus lire directement la base de donn\\xE9es de confidentialit\\xE9, et \",(0,e.jsx)(i.code,{children:\"launchd\"}),\" refuse de charger les fichiers de propri\\xE9t\\xE9s portant l'attribut de quarantaine. Ce guide explique chacun de ces points en s'appuyant sur le libell\\xE9 des notes de version d'Apple, montre comment v\\xE9rifier ce qui est concern\\xE9 sur votre Mac, et explique comment accorder l'acc\\xE8s de mani\\xE8re d\\xE9lib\\xE9r\\xE9e quand vous en avez besoin \\u2014 et quand vous ne devriez pas.\"]}),`\n`,(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:\"Un Mac dont les dossiers de donn\\xE9es d'application sont scell\\xE9s derri\\xE8re une barri\\xE8re de confidentialit\\xE9 transparente\",src:\"/images/blog/macos-27-app-data-containers-access-denied-operation-not-permitted-fix-2026/hero.webp\",width:\"1024\",height:\"541\"})}),`\n`,(0,e.jsx)(i.h2,{id:\"points-cl\\xE9s-\\xE0-retenir\",children:\"Points cl\\xE9s \\xE0 retenir\"}),`\n`,(0,e.jsxs)(i.ul,{children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Plus d'invite.\"}),\" Dans macOS 27, l'acc\\xE8s aux conteneurs de donn\\xE9es d'application et aux conteneurs de groupe d'applications d'un autre d\\xE9veloppeur est \\xAB refus\\xE9 par d\\xE9faut \\xBB et g\\xE9r\\xE9 dans les r\\xE9glages \",(0,e.jsx)(i.strong,{children:\"Confidentialit\\xE9 et s\\xE9curit\\xE9\"}),\". Les notes de version d'Apple classent ce changement sous System Integrity Protection.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Les outils en ligne de commande posent probl\\xE8me.\"}),\" Apple recense un probl\\xE8me connu : un processus sans bundle ID ne peut pas se voir accorder l'acc\\xE8s aux donn\\xE9es d'une application sp\\xE9cifique. La solution de contournement document\\xE9e consiste \\xE0 utiliser Full Disk Access \\xAB pour la dur\\xE9e du besoin \\xBB.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"XProtect prot\\xE8ge d\\xE9sormais les donn\\xE9es \\xAB couramment cibl\\xE9es \\xBB.\"}),\" Apple ne publie pas la liste, donc attendez-vous \\xE0 ce que l'acc\\xE8s \\xE0 certaines donn\\xE9es d'application soit refus\\xE9, m\\xEAme pour un outil qui les lisait sans probl\\xE8me auparavant.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Les applications ne peuvent plus lire directement la base de donn\\xE9es de confidentialit\\xE9 TCC.\"}),\" Les scripts et outils qui inspectaient \",(0,e.jsx)(i.code,{children:\"TCC.db\"}),\" pour rendre compte des autorisations doivent trouver une autre m\\xE9thode.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Les LaunchAgents en quarantaine cessent de se charger.\"}),\" Sur le Mac que nous avons v\\xE9rifi\\xE9, 9 des 20 agents pr\\xE9sents dans \",(0,e.jsx)(i.code,{children:\"~/Library/LaunchAgents\"}),\" portaient l'attribut de quarantaine \\u2014 tous \\xE9tant des agents de mise \\xE0 jour \\xE9crits par trois navigateurs tiers.\"]}),`\n`]}),`\n`,(0,e.jsx)(i.h2,{id:\"ce-qui-a-chang\\xE9--dune-invite-\\xE0-un-refus-par-d\\xE9faut\",children:\"Ce qui a chang\\xE9 : d'une invite \\xE0 un refus par d\\xE9faut\"}),`\n`,(0,e.jsx)(i.p,{children:\"Apple resserre cette zone \\xE9tape par \\xE9tape :\"}),`\n`,(0,e.jsxs)(i.table,{children:[(0,e.jsx)(i.thead,{children:(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.th,{children:\"Version\"}),(0,e.jsx)(i.th,{children:\"Acc\\xE8s aux donn\\xE9es d'une application d'un autre d\\xE9veloppeur\"})]})}),(0,e.jsxs)(i.tbody,{children:[(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"macOS 13 Ventura et versions ant\\xE9rieures\"}),(0,e.jsx)(i.td,{children:\"Largement ouvert \\xE0 tout processus s'ex\\xE9cutant sous votre identit\\xE9\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"macOS 14 Sonoma\"}),(0,e.jsx)(i.td,{children:\"Prot\\xE9g\\xE9 ; l'utilisateur voit une invite lui demandant d'autoriser l'acc\\xE8s aux \\xAB donn\\xE9es d'autres applications \\xBB\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"macOS 15 Sequoia\"}),(0,e.jsx)(i.td,{children:\"Protection \\xE9tendue aux conteneurs de groupe d'applications\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"macOS 27 Golden Gate\"}),(0,e.jsx)(i.td,{children:\"Refus\\xE9 par d\\xE9faut sans invite ; g\\xE9r\\xE9 dans les r\\xE9glages Confidentialit\\xE9 et s\\xE9curit\\xE9\"})]})]})]}),`\n`,(0,e.jsx)(i.p,{children:\"Le libell\\xE9 de macOS 27, tir\\xE9 de la section System Integrity Protection des notes de version :\"}),`\n`,(0,e.jsxs)(i.blockquote,{children:[`\n`,(0,e.jsx)(i.p,{children:\"L'acc\\xE8s aux fichiers dans les conteneurs de donn\\xE9es d'application et les conteneurs de groupe d'applications d'autres \\xE9quipes de d\\xE9veloppement ne d\\xE9clenche plus d'invite d'autorisation pour l'utilisateur ; ces acc\\xE8s sont refus\\xE9s par d\\xE9faut et peuvent \\xEAtre g\\xE9r\\xE9s par l'utilisateur dans les r\\xE9glages Confidentialit\\xE9 et s\\xE9curit\\xE9.\"}),`\n`]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Deux mots de cette phrase d\\xE9terminent si vous \\xEAtes concern\\xE9. \",(0,e.jsx)(i.strong,{children:\"\\xC9quipes de d\\xE9veloppement\"}),\" : la r\\xE8gle concerne les applications de d\\xE9veloppeurs \",(0,e.jsx)(i.em,{children:\"diff\\xE9rents\"}),\". Une suite d'applications d'un m\\xEAme d\\xE9veloppeur peut toujours partager un conteneur de groupe, car elles sont sign\\xE9es par la m\\xEAme \\xE9quipe. \",(0,e.jsx)(i.strong,{children:\"Conteneurs\"}),\" : la r\\xE8gle couvre les dossiers de donn\\xE9es en bac \\xE0 sable que les applications conservent dans votre dossier Library. Elle ne couvre pas votre dossier Documents, votre Bureau ni les fichiers que vous enregistrez vous-m\\xEAme \\u2014 ceux-ci rel\\xE8vent de leurs propres autorisations Fichiers et dossiers, qui n'ont pas chang\\xE9 de cette mani\\xE8re.\"]}),`\n`,(0,e.jsx)(i.h2,{id:\"ce-qui-compte-comme--donn\\xE9es-dune-autre-application-\",children:\"Ce qui compte comme \\xAB donn\\xE9es d'une autre application \\xBB\"}),`\n`,(0,e.jsx)(i.p,{children:\"Les applications en bac \\xE0 sable conservent leurs fichiers priv\\xE9s \\xE0 deux endroits dans votre dossier de d\\xE9part :\"}),`\n`,(0,e.jsxs)(i.ul,{children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.code,{children:\"~/Library/Containers/\"}),\" \\u2014 un dossier par application en bac \\xE0 sable, nomm\\xE9 d'apr\\xE8s son bundle ID, avec les donn\\xE9es r\\xE9elles de l'application sous \",(0,e.jsx)(i.code,{children:\"Data/\"})]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.code,{children:\"~/Library/Group Containers/\"}),\" \\u2014 des dossiers partag\\xE9s entre plusieurs applications d'un m\\xEAme d\\xE9veloppeur, nomm\\xE9s soit \",(0,e.jsx)(i.code,{children:\"group.\\u2026\"}),\", soit pr\\xE9c\\xE9d\\xE9s de l'identifiant d'\\xE9quipe du d\\xE9veloppeur\"]}),`\n`]}),`\n`,(0,e.jsx)(i.p,{children:\"Lister les noms de dossiers est sans risque et donne une id\\xE9e de l'ampleur. Sur le Mac que nous avons utilis\\xE9, toujours sous Tahoe 26.5.2 :\"}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/Containers\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" wc\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"                    # 956\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/Group\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"\\\\ \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"Containers\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" wc\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"             # 187\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/Group\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"\\\\ \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"Containers\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" grep\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -vc\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" '^group\\\\.'\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"   # 70 named with a team ID\"})]})]})})}),`\n`,(0,e.jsx)(i.p,{children:\"Cela repr\\xE9sente 956 conteneurs d'application et 187 conteneurs de groupe, chacun d\\xE9sormais interdit par d\\xE9faut \\xE0 toute application d'un d\\xE9veloppeur diff\\xE9rent. Dans la plupart des cas, c'est tr\\xE8s bien : une application bien \\xE9lev\\xE9e n'a aucune raison de lire la base de donn\\xE9es d'une autre. Le probl\\xE8me vient des outils qui la lisent l\\xE9gitimement pour vous.\"}),`\n`,(0,e.jsx)(i.h2,{id:\"\\xE0-quoi-ressemble-une-panne\",children:\"\\xC0 quoi ressemble une panne\"}),`\n`,(0,e.jsx)(i.p,{children:\"L'\\xE9chec ne s'accompagne d'aucune bo\\xEEte de dialogue ; il se manifeste donc sous forme de sympt\\xF4me. Les plus courants :\"}),`\n`,(0,e.jsxs)(i.table,{children:[(0,e.jsx)(i.thead,{children:(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.th,{children:\"Sympt\\xF4me\"}),(0,e.jsx)(i.th,{children:\"Cause probable\"})]})}),(0,e.jsxs)(i.tbody,{children:[(0,e.jsxs)(i.tr,{children:[(0,e.jsxs)(i.td,{children:[(0,e.jsx)(i.code,{children:\"ls: \\u2026 : Operation not permitted\"}),\" dans Terminal sur un chemin sous \",(0,e.jsx)(i.code,{children:\"~/Library/Containers/\\u2026/Data\"}),\" ou \",(0,e.jsx)(i.code,{children:\"~/Library/Group Containers/\"})]}),(0,e.jsx)(i.td,{children:\"L'application responsable du shell (Terminal, iTerm, votre IDE) n'a pas acc\\xE8s aux donn\\xE9es de cette application\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"Un outil de sauvegarde, de synchronisation ou d'exportation ignore les donn\\xE9es d'une application ou signale \\xAB permission denied \\xBB\"}),(0,e.jsx)(i.td,{children:\"L'outil n'est pas autoris\\xE9 \\xE0 lire ce conteneur\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"Un outil d'importation ne trouve rien \\xE0 importer depuis une autre application\"}),(0,e.jsx)(i.td,{children:\"Refus silencieux ; l'outil d'importation voit un dossier vide ou absent\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:\"Un lanceur, un gestionnaire de presse-papiers ou un outil d'automatisation perd une fonctionnalit\\xE9 qui lisait les donn\\xE9es d'une autre application\"}),(0,e.jsx)(i.td,{children:\"M\\xEAme refus, se traduisant par des r\\xE9sultats manquants\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsxs)(i.td,{children:[\"Un script ex\\xE9cut\\xE9 par \",(0,e.jsx)(i.code,{children:\"cron\"}),\" ou \",(0,e.jsx)(i.code,{children:\"launchd\"}),\" \\xE9choue sur un chemin qu'il lisait hier\"]}),(0,e.jsx)(i.td,{children:\"Processus en ligne de commande sans bundle ID \\u2014 voir le probl\\xE8me connu ci-dessous\"})]})]})]}),`\n`,(0,e.jsxs)(i.p,{children:[\"\\xAB Operation not permitted \\xBB (EPERM) est l'erreur standard que vous obtenez lorsque les contr\\xF4les de confidentialit\\xE9 de macOS bloquent un acc\\xE8s \\xE0 un fichier. Cela ne signifie pas que le fichier est manquant, et \",(0,e.jsx)(i.code,{children:\"sudo\"}),\" n'y changera rien \\u2014 la protection de la confidentialit\\xE9 s'applique aussi \\xE0 root.\"]}),`\n`,(0,e.jsx)(i.h2,{id:\"accorder-lacc\\xE8s-correctement\",children:\"Accorder l'acc\\xE8s correctement\"}),`\n`,(0,e.jsxs)(i.p,{children:[\"Apple place ce r\\xE9glage dans \",(0,e.jsx)(i.strong,{children:\"R\\xE9glages Syst\\xE8me \\u2192 Confidentialit\\xE9 et s\\xE9curit\\xE9\"}),\", et le probl\\xE8me connu ci-dessous concerne sp\\xE9cifiquement le panneau \",(0,e.jsx)(i.strong,{children:\"Fichiers et dossiers\"}),\". C'est l\\xE0 que l'acc\\xE8s aux donn\\xE9es d'une autre application est d\\xE9sormais accord\\xE9 application par application, au lieu de passer par une invite ponctuelle.\"]}),`\n`,(0,e.jsx)(i.h3,{id:\"pour-les-applications-classiques\",children:\"Pour les applications classiques\"}),`\n`,(0,e.jsxs)(i.ol,{children:[`\n`,(0,e.jsxs)(i.li,{children:[\"Ouvrez \",(0,e.jsx)(i.strong,{children:\"R\\xE9glages Syst\\xE8me \\u2192 Confidentialit\\xE9 et s\\xE9curit\\xE9 \\u2192 Fichiers et dossiers\"}),\".\"]}),`\n`,(0,e.jsx)(i.li,{children:\"Trouvez l'application qui a besoin de cet acc\\xE8s et d\\xE9veloppez-la.\"}),`\n`,(0,e.jsx)(i.li,{children:\"Autorisez les donn\\xE9es sp\\xE9cifiques dont elle a besoin, plut\\xF4t qu'un acc\\xE8s plus large.\"}),`\n`]}),`\n`,(0,e.jsxs)(i.p,{children:[\"La disposition exacte de ce panneau sous macOS 27 peut diff\\xE9rer de celle de Tahoe. Les notes d'Apple d\\xE9crivent \",(0,e.jsx)(i.em,{children:\"o\\xF9\"}),\" l'acc\\xE8s est g\\xE9r\\xE9, pas un cheminement clic par clic. Le principe reste le m\\xEAme dans tous les cas : accordez l'acc\\xE8s le plus restreint possible pour que la fonctionnalit\\xE9 marche.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Si la documentation d'une application vous indique plut\\xF4t d'accorder \",(0,e.jsx)(i.strong,{children:\"Full Disk Access\"}),\", cela fonctionne aussi \\u2014 Full Disk Access couvre les conteneurs de donn\\xE9es d'application. Mais il couvre \\xE9galement tout le reste de votre dossier de d\\xE9part, y compris les donn\\xE9es de Mail, Messages et Safari ; r\\xE9servez-le donc aux outils dont le travail consiste enti\\xE8rement \\xE0 lire votre disque : logiciels de sauvegarde, analyseurs de disque, etc.\"]}),`\n`,(0,e.jsxs)(i.h3,{id:\"pour-les-scripts-t\\xE2ches-cron-et-outils-en-ligne-de-commande\",children:[\"Pour les scripts, t\\xE2ches \",(0,e.jsx)(i.code,{children:\"cron\"}),\" et outils en ligne de commande\"]}),`\n`,(0,e.jsx)(i.p,{children:\"C'est ici qu'Apple recense un probl\\xE8me connu :\"}),`\n`,(0,e.jsxs)(i.blockquote,{children:[`\n`,(0,e.jsx)(i.p,{children:\"Dans le panneau Fichiers et dossiers, un processus sans bundle ID ne peut pas se voir accorder l'acc\\xE8s \\xE0 des conteneurs de donn\\xE9es d'application ou des conteneurs de groupe d'applications sp\\xE9cifiques appartenant \\xE0 d'autres \\xE9quipes de d\\xE9veloppement.\"}),`\n`,(0,e.jsx)(i.p,{children:\"Solution de contournement : \\xE9valuez si cet acc\\xE8s est r\\xE9ellement n\\xE9cessaire. Si c'est le cas, accordez Full Disk Access au processus pour la dur\\xE9e du besoin.\"}),`\n`]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Un \\xAB processus sans bundle ID \\xBB est n'importe quel ex\\xE9cutable ordinaire : un interpr\\xE9teur Python, un script shell ex\\xE9cut\\xE9 par \",(0,e.jsx)(i.code,{children:\"launchd\"}),\", un binaire install\\xE9 par Homebrew, un d\\xE9mon lanc\\xE9 par \",(0,e.jsx)(i.code,{children:\"cron\"}),\". Ce qui compte, c'est la fa\\xE7on dont il est lanc\\xE9 :\"]}),`\n`,(0,e.jsxs)(i.ul,{children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Ex\\xE9cut\\xE9 depuis Terminal\"}),\", les d\\xE9cisions de confidentialit\\xE9 sont attribu\\xE9es \\xE0 Terminal (ou iTerm, ou votre IDE), qui, lui, \",(0,e.jsx)(i.em,{children:\"poss\\xE8de\"}),\" un bundle ID. Accorder l'acc\\xE8s \\xE0 cette application couvre g\\xE9n\\xE9ralement les commandes que vous y ex\\xE9cutez.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsxs)(i.strong,{children:[\"Ex\\xE9cut\\xE9 par \",(0,e.jsx)(i.code,{children:\"launchd\"}),\" ou \",(0,e.jsx)(i.code,{children:\"cron\"})]}),\", il n'y a aucune application \\xE0 laquelle l'attribuer. C'est le processus lui-m\\xEAme qui a besoin de l'autorisation, et selon le probl\\xE8me connu, cela signifie Full Disk Access pour le binaire.\"]}),`\n`]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Pour ajouter un binaire en ligne de commande \\xE0 Full Disk Access, cliquez sur \",(0,e.jsx)(i.strong,{children:\"+\"}),\" dans la liste Full Disk Access, appuyez sur \",(0,e.jsx)(i.strong,{children:\"\\u2318\\u21E7G\"}),\", collez le chemin (par exemple \",(0,e.jsx)(i.code,{children:\"/opt/homebrew/bin/python3\"}),\" ou \",(0,e.jsx)(i.code,{children:\"/usr/sbin/cron\"}),\"), puis ajoutez-le. La formule d'Apple \\u2014 \\xAB pour la dur\\xE9e du besoin \\xBB \\u2014 m\\xE9rite d'\\xEAtre prise au pied de la lettre. Accordez l'acc\\xE8s pour la t\\xE2che, puis retirez-le. Un interpr\\xE9teur disposant de Full Disk Access donne cet acc\\xE8s \\xE0 chaque script qu'il ex\\xE9cute.\"]}),`\n`,(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:\"Un panneau d'autorisations accordant \\xE0 un outil un acc\\xE8s restreint au dossier de donn\\xE9es d'une seule application\",src:\"/images/blog/macos-27-app-data-containers-access-denied-operation-not-permitted-fix-2026/content-1.webp\",width:\"1024\",height:\"541\"})}),`\n`,(0,e.jsx)(i.h2,{id:\"la-couche-xprotect\",children:\"La couche XProtect\"}),`\n`,(0,e.jsx)(i.p,{children:\"Une deuxi\\xE8me note dans la m\\xEAme section ajoute une couche de protection qui ne d\\xE9pend pas de qui fait la demande :\"}),`\n`,(0,e.jsxs)(i.blockquote,{children:[`\n`,(0,e.jsx)(i.p,{children:\"XProtect peut d\\xE9sormais restreindre l'acc\\xE8s aux donn\\xE9es d'application couramment cibl\\xE9es par des logiciels malveillants. L'acc\\xE8s aux fichiers cr\\xE9\\xE9s par les applications d'autres \\xE9quipes de d\\xE9veloppement peut \\xEAtre refus\\xE9 par d\\xE9faut, mais peut \\xEAtre g\\xE9r\\xE9 par l'utilisateur dans les r\\xE9glages Confidentialit\\xE9 et s\\xE9curit\\xE9.\"}),`\n`]}),`\n`,(0,e.jsx)(i.p,{children:\"Apple ne pr\\xE9cise pas quelles donn\\xE9es comptent comme \\xAB couramment cibl\\xE9es \\xBB. Ce que recherchent les infostealers sur Mac est bien document\\xE9 par les chercheurs en s\\xE9curit\\xE9 : les profils de navigateur contenant des mots de passe et cookies enregistr\\xE9s, les donn\\xE9es de portefeuille de cryptomonnaies, et les fichiers de session des applications de messagerie. Il est raisonnable de supposer \\u2014 mais cela reste une supposition \\u2014 que la liste d'XProtect recoupe largement ces \\xE9l\\xE9ments.\"}),`\n`,(0,e.jsxs)(i.p,{children:[\"L'effet pratique pour vous : un outil qui lit l\\xE9gitimement, par exemple, les donn\\xE9es de session ou de profil d'une autre application peut se voir refuser l'acc\\xE8s sous macOS 27, m\\xEAme apr\\xE8s avoir accord\\xE9 ce qui ressemble \\xE0 la bonne autorisation. Si cela se produit, commencez par v\\xE9rifier \",(0,e.jsx)(i.strong,{children:\"Confidentialit\\xE9 et s\\xE9curit\\xE9\"}),\" \\xE0 la recherche d'une entr\\xE9e en attente. S'il n'y en a pas, il vaut la peine de demander au d\\xE9veloppeur de l'outil s'il a test\\xE9 sous macOS 27 \\u2014 la correction devra peut-\\xEAtre venir de son c\\xF4t\\xE9.\"]}),`\n`,(0,e.jsx)(i.h2,{id:\"les-applications-ne-peuvent-plus-lire-la-base-de-donn\\xE9es-de-confidentialit\\xE9\",children:\"Les applications ne peuvent plus lire la base de donn\\xE9es de confidentialit\\xE9\"}),`\n`,(0,e.jsxs)(i.p,{children:[\"La base de donn\\xE9es TCC (Transparency, Consent and Control) enregistre les applications que vous avez autoris\\xE9es \\xE0 utiliser la cam\\xE9ra, le microphone, l'enregistrement d'\\xE9cran, les fichiers, etc. La copie par utilisateur se trouve dans \",(0,e.jsx)(i.code,{children:\"~/Library/Application Support/com.apple.TCC/TCC.db\"}),\". Pendant des ann\\xE9es, les outils disposant de Full Disk Access pouvaient la lire directement pour rendre compte des autorisations.\"]}),`\n`,(0,e.jsx)(i.p,{children:\"Les notes de version de macOS 27, dans la section des d\\xE9pr\\xE9ciations TCC :\"}),`\n`,(0,e.jsxs)(i.blockquote,{children:[`\n`,(0,e.jsx)(i.p,{children:\"Les applications ne peuvent plus acc\\xE9der directement \\xE0 la base de donn\\xE9es TCC locale.\"}),`\n`]}),`\n`,(0,e.jsx)(i.p,{children:\"M\\xEAme sous Tahoe, Full Disk Access est n\\xE9cessaire pour la lire. Depuis un shell qui ne l'a pas, sur notre Mac de test :\"}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"sqlite3\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/Application\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"\\\\ \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"Support/com.apple.TCC/TCC.db\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"select service from access limit 1\"'})]}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:'# Error: unable to open database \".../com.apple.TCC/TCC.db\": authorization denied'})})]})})}),`\n`,(0,e.jsx)(i.p,{children:\"Sous macOS 27, cette voie directe est ferm\\xE9e pour les applications en g\\xE9n\\xE9ral. Qui le remarque :\"}),`\n`,(0,e.jsxs)(i.ul,{children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Les administrateurs Mac\"}),\" dont les scripts de conformit\\xE9 ou les extensions d'inventaire interrogeaient \",(0,e.jsx)(i.code,{children:\"TCC.db\"}),\" pour rendre compte des autorisations. La voie prise en charge est le reporting PPPC (privacy preferences policy control) de votre outil de gestion des appareils, pas la base de donn\\xE9es.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Les utilitaires\"}),\" qui affichaient \\xAB quelle application a quelle autorisation \\xBB en lisant le fichier.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Les logiciels malveillants\"}),\", qui lisaient la base de donn\\xE9es pour savoir \\xE0 quoi ils avaient d\\xE9j\\xE0 acc\\xE8s. C'est la raison de ce changement.\"]}),`\n`]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Sur votre propre Mac, \",(0,e.jsx)(i.strong,{children:\"R\\xE9glages Syst\\xE8me \\u2192 Confidentialit\\xE9 et s\\xE9curit\\xE9\"}),\" reste l'endroit o\\xF9 consulter et r\\xE9voquer les autorisations. Chaque cat\\xE9gorie liste les applications qui la d\\xE9tiennent.\"]}),`\n`,(0,e.jsx)(i.h2,{id:\"lautre-changement-silencieux--les-launchagents-en-quarantaine\",children:\"L'autre changement silencieux : les LaunchAgents en quarantaine\"}),`\n`,(0,e.jsx)(i.p,{children:\"Ce changement ne concerne pas les donn\\xE9es d'application, mais il \\xE9choue de la m\\xEAme mani\\xE8re \\u2014 silencieusement \\u2014 et il s'est av\\xE9r\\xE9 affecter notre Mac de test plus que tout autre point de cet article. Les notes de version, dans la section Launch Daemons and Agents :\"}),`\n`,(0,e.jsxs)(i.blockquote,{children:[`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.code,{children:\"launchd\"}),\" ne prend plus en charge le chargement des fichiers de propri\\xE9t\\xE9s \",(0,e.jsx)(i.code,{children:\"launchd\"}),\" portant l'attribut \\xE9tendu de quarantaine.\"]}),`\n`]}),`\n`,(0,e.jsxs)(i.p,{children:[\"Un LaunchAgent est un petit fichier \",(0,e.jsx)(i.code,{children:\".plist\"}),\" dans \",(0,e.jsx)(i.code,{children:\"~/Library/LaunchAgents\"}),\" qui indique \\xE0 \",(0,e.jsx)(i.code,{children:\"launchd\"}),\" de d\\xE9marrer un programme \\xE0 la connexion ou selon un calendrier : outils de mise \\xE0 jour, assistants de synchronisation, utilitaires de barre de menus. L'attribut de quarantaine (\",(0,e.jsx)(i.code,{children:\"com.apple.quarantine\"}),\") est le marqueur que macOS appose aux fichiers arrivant d'Internet \\u2014 et aux fichiers cr\\xE9\\xE9s par des applications elles-m\\xEAmes soumises aux r\\xE8gles de quarantaine.\"]}),`\n`,(0,e.jsx)(i.p,{children:\"Une seule boucle suffit pour v\\xE9rifier :\"}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"for\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" f \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"in\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/LaunchAgents/*.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Library/LaunchAgents/*.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Library/LaunchDaemons/*.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"; \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"do\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"  xattr\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$f\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"/dev/null\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" grep\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -q\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" com.apple.quarantine\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" && \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"echo\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"QUARANTINED  '}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$f\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"done\"})})]})})}),`\n`,(0,e.jsx)(i.p,{children:\"Sur notre Mac de test :\"}),`\n`,(0,e.jsxs)(i.table,{children:[(0,e.jsx)(i.thead,{children:(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.th,{children:\"Dossier\"}),(0,e.jsx)(i.th,{children:\"Fichiers de propri\\xE9t\\xE9s\"}),(0,e.jsx)(i.th,{children:\"En quarantaine\"})]})}),(0,e.jsxs)(i.tbody,{children:[(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:(0,e.jsx)(i.code,{children:\"~/Library/LaunchAgents\"})}),(0,e.jsx)(i.td,{children:\"20\"}),(0,e.jsx)(i.td,{children:\"9\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:(0,e.jsx)(i.code,{children:\"/Library/LaunchAgents\"})}),(0,e.jsx)(i.td,{children:\"8\"}),(0,e.jsx)(i.td,{children:\"0\"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:(0,e.jsx)(i.code,{children:\"/Library/LaunchDaemons\"})}),(0,e.jsx)(i.td,{children:\"27\"}),(0,e.jsx)(i.td,{children:\"0\"})]})]})]}),`\n`,(0,e.jsx)(i.p,{children:\"Les neuf fichiers en quarantaine \\xE9taient tous des agents de mise \\xE0 jour \\u2014 trois chacun \\u2014 cr\\xE9\\xE9s par trois navigateurs tiers bas\\xE9s sur Chromium. Le troisi\\xE8me champ de la valeur de quarantaine nomme l'application qui a cr\\xE9\\xE9 le fichier :\"}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"xattr\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -p\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" com.apple.quarantine\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/LaunchAgents/some.agent.plist\"})]}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 0081;<timestamp>;<name of the app that wrote it>;<id>\"})})]})})}),`\n`,(0,e.jsx)(i.p,{children:\"Au moins l'un d'entre eux est charg\\xE9 et fonctionne actuellement sous Tahoe. \\xC0 en croire la note d'Apple, sous macOS 27 ces agents ne se chargeront plus, de sorte que les outils de mise \\xE0 jour en arri\\xE8re-plan de ces navigateurs s'arr\\xEAteraient silencieusement. Nous ne l'avons pas confirm\\xE9 sur Golden Gate lui-m\\xEAme, et les \\xE9diteurs ont peut-\\xEAtre d\\xE9j\\xE0 modifi\\xE9 la fa\\xE7on dont leurs agents sont \\xE9crits. Mais c'est exactement le genre de panne qui passe inaper\\xE7ue pendant des mois : rien n'\\xE9choue de fa\\xE7on visible, et le navigateur cesse simplement de se mettre \\xE0 jour.\"}),`\n`,(0,e.jsx)(i.h3,{id:\"corriger-un-agent-en-quarantaine\",children:\"Corriger un agent en quarantaine\"}),`\n`,(0,e.jsxs)(i.ol,{children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Mettez d'abord l'application \\xE0 jour.\"}),\" Si l'\\xE9diteur a corrig\\xE9 le probl\\xE8me, la nouvelle version r\\xE9\\xE9crira l'agent sans l'attribut.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Si vous devez le corriger manuellement, inspectez avant de faire confiance.\"}),\" V\\xE9rifiez ce qu'il ex\\xE9cute :\"]}),`\n`]}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"plutil\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -p\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/LaunchAgents/some.agent.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"          # look at Program / ProgramArguments\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"codesign\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -dv\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --verbose=2\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"/path/to/the/program\"'}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>&1\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" grep\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -E\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"Authority|TeamIdentifier\"'})]})]})})}),`\n`,(0,e.jsxs)(i.ol,{start:\"3\",children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Seulement si le programme correspond \\xE0 ce que vous attendez\"}),\", retirez l'attribut et rechargez l'agent :\"]}),`\n`]}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"xattr\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -d\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" com.apple.quarantine\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/LaunchAgents/some.agent.plist\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"launchctl\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" bootout\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" gui/\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$(\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"id\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -u\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\") \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"~/Library/LaunchAgents/some.agent.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"/dev/null\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"launchctl\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" bootstrap\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" gui/\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$(\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"id\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -u\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\") \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"~/Library/LaunchAgents/some.agent.plist\"})]})]})})}),`\n`,(0,e.jsxs)(i.p,{children:[\"Ne retirez pas la quarantaine d'agents que vous ne reconnaissez pas. La persistance via les LaunchAgents est une technique classique des logiciels malveillants, et ce changement vise justement \\xE0 emp\\xEAcher qu'un \",(0,e.jsx)(i.code,{children:\".plist\"}),\" t\\xE9l\\xE9charg\\xE9 s'installe silencieusement. Un agent en quarantaine non reconnu est une raison d'enqu\\xEAter, pas de le recharger. Notre \",(0,e.jsx)(i.a,{href:\"/blog/macos-tahoe-login-items-background-apps-complete-management-guide-2025\",children:\"guide des \\xE9l\\xE9ments de connexion et applications en arri\\xE8re-plan\"}),\" explique comment remonter d'un agent \\xE0 l'application qui l'a install\\xE9.\"]}),`\n`,(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:\"Une liste de t\\xE2ches en arri\\xE8re-plan o\\xF9 certains \\xE9l\\xE9ments de lancement sont retenus par un indicateur de quarantaine\",src:\"/images/blog/macos-27-app-data-containers-access-denied-operation-not-permitted-fix-2026/content-2.webp\",width:\"1024\",height:\"541\"})}),`\n`,(0,e.jsx)(i.h2,{id:\"un-audit-de-cinq-minutes-avant-ou-apr\\xE8s-la-mise-\\xE0-niveau\",children:\"Un audit de cinq minutes, avant ou apr\\xE8s la mise \\xE0 niveau\"}),`\n`,(0,e.jsx)(i.p,{children:\"Ex\\xE9cutez ces commandes sous Tahoe pour voir ce qui risque de changer, ou sous macOS 27 pour confirmer ce qui a d\\xE9j\\xE0 chang\\xE9 :\"}),`\n`,(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(i.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,e.jsxs)(i.code,{children:[(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 1. How much app data is now guarded by default\"})}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/Containers\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" wc\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/Group\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"\\\\ \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"Containers\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" wc\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"})]}),`\n`,(0,e.jsx)(i.span,{className:\"line\"}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 2. Scheduled jobs that may read other apps' data\"})}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"crontab\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"/dev/null\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/LaunchAgents\"})]}),`\n`,(0,e.jsx)(i.span,{className:\"line\"}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 3. Quarantined launch items that will stop loading\"})}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"for\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" f \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"in\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/Library/LaunchAgents/*.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Library/LaunchAgents/*.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Library/LaunchDaemons/*.plist\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"; \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"do\"})]}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"  xattr\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$f\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"/dev/null\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" grep\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -q\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" com.apple.quarantine\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" && \"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"echo\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"QUARANTINED  '}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$f\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"done\"})}),`\n`,(0,e.jsx)(i.span,{className:\"line\"}),`\n`,(0,e.jsx)(i.span,{className:\"line\",children:(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 4. Scripts that read the privacy database directly\"})}),`\n`,(0,e.jsxs)(i.span,{className:\"line\",children:[(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"grep\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -rl\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"TCC.db\"'}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/bin\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/scripts\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ~/.local/bin\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>\"}),(0,e.jsx)(i.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"/dev/null\"})]})]})})}),`\n`,(0,e.jsxs)(i.p,{children:[\"Adaptez les dossiers de l'\\xE9tape 4 \\xE0 l'endroit o\\xF9 vous conservez vos scripts. Pour chaque r\\xE9sultat, posez-vous la m\\xEAme question que la solution de contournement d'Apple : \",(0,e.jsx)(i.em,{children:\"cet acc\\xE8s est-il r\\xE9ellement n\\xE9cessaire ?\"})]}),`\n`,(0,e.jsx)(i.h2,{id:\"quand-ne-pas-accorder-lacc\\xE8s\",children:\"Quand ne pas accorder l'acc\\xE8s\"}),`\n`,(0,e.jsx)(i.p,{children:\"Ce changement existe parce que \\xAB tout processus s'ex\\xE9cutant sous votre identit\\xE9 peut lire les donn\\xE9es de n'importe quelle application \\xBB \\xE9tait le principal levier exploit\\xE9 par les infostealers sur Mac. Avant d'accorder l'acc\\xE8s pour retrouver une fonctionnalit\\xE9, quelques r\\xE8gles aident :\"}),`\n`,(0,e.jsxs)(i.ul,{children:[`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Privil\\xE9giez l'octroi restreint.\"}),\" L'acc\\xE8s par application dans Fichiers et dossiers plut\\xF4t que Full Disk Access ; Full Disk Access pour un seul binaire plut\\xF4t que pour toute une application de terminal.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Rendez les octrois en ligne de commande temporaires.\"}),\" La formule m\\xEAme d'Apple est \\xAB pour la dur\\xE9e du besoin \\xBB. Mettez un rappel sur votre calendrier pour le retirer.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"M\\xE9fiez-vous des nouvelles demandes.\"}),\" Une application qui n'avait aucune raison de lire les donn\\xE9es d'une autre application le mois dernier et qui demande Full Disk Access ce mois-ci m\\xE9rite un second regard.\"]}),`\n`,(0,e.jsxs)(i.li,{children:[(0,e.jsx)(i.strong,{children:\"Ne collez jamais de commandes d'octroi d'autorisation provenant d'une page web\"}),\" \\xE0 laquelle vous ne faites pas confiance. Les campagnes d'ing\\xE9nierie sociale qui incitent les utilisateurs \\xE0 ex\\xE9cuter des commandes Terminal sont exactement la fa\\xE7on dont ces protections sont contourn\\xE9es, comme l'explique notre article sur les \",(0,e.jsx)(i.a,{href:\"/blog/mac-blocked-terminal-command-paste-malware-alert-explained-2026\",children:\"avertissements de logiciels malveillants via le collage dans Terminal\"}),\".\"]}),`\n`]}),`\n`,(0,e.jsx)(i.h2,{id:\"r\\xE9solution-des-probl\\xE8mes-courants\",children:\"R\\xE9solution des probl\\xE8mes courants\"}),`\n`,(0,e.jsx)(i.h3,{id:\"-operation-not-permitted--m\\xEAme-avec-sudo\",children:\"\\xAB Operation not permitted \\xBB m\\xEAme avec sudo\"}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Probl\\xE8me\"}),\" : \",(0,e.jsx)(i.code,{children:\"sudo ls ~/Library/Containers/\\u2026/Data\"}),\" \\xE9choue toujours.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Solution\"}),\" : la protection de la confidentialit\\xE9 n'est pas un probl\\xE8me d'autorisations Unix, et root y est \\xE9galement soumis. Accordez l'acc\\xE8s \\xE0 l'application responsable \\u2014 Terminal, ou l'application qui a lanc\\xE9 la commande \\u2014 dans Confidentialit\\xE9 et s\\xE9curit\\xE9.\"]}),`\n`,(0,e.jsxs)(i.h3,{id:\"une-t\\xE2che-launchd-\\xE9choue-mais-la-m\\xEAme-commande-fonctionne-dans-terminal\",children:[\"Une t\\xE2che \",(0,e.jsx)(i.code,{children:\"launchd\"}),\" \\xE9choue mais la m\\xEAme commande fonctionne dans Terminal\"]}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Probl\\xE8me\"}),\" : un script planifi\\xE9 lit correctement les donn\\xE9es d'une autre application quand vous l'ex\\xE9cutez \\xE0 la main, mais \\xE9choue \\xE0 l'heure pr\\xE9vue.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Solution\"}),\" : dans Terminal, l'acc\\xE8s est attribu\\xE9 \\xE0 Terminal. Sous \",(0,e.jsx)(i.code,{children:\"launchd\"}),\", il n'y a aucune application \\xE0 laquelle l'attribuer, et d'apr\\xE8s le probl\\xE8me connu d'Apple, un processus sans bundle ID ne peut pas obtenir un acc\\xE8s par application. Accordez Full Disk Access exactement au binaire que la t\\xE2che ex\\xE9cute, et retirez-le lorsque la t\\xE2che n'en a plus besoin.\"]}),`\n`,(0,e.jsx)(i.h3,{id:\"un-outil-de-sauvegarde-a-ignor\\xE9-silencieusement-certaines-donn\\xE9es-dapplication\",children:\"Un outil de sauvegarde a ignor\\xE9 silencieusement certaines donn\\xE9es d'application\"}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Probl\\xE8me\"}),\" : la sauvegarde s'est termin\\xE9e, mais le conteneur d'une application est manquant ou vide dans la sauvegarde.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Solution\"}),\" : accordez \\xE0 l'application de sauvegarde Full Disk Access \\u2014 c'est l'un des cas d'usage l\\xE9gitimes \\u2014 puis relancez-la. Consultez le journal de l'outil \\xE0 la recherche d'erreurs d'autorisation ; la plupart les signalent m\\xEAme quand la sauvegarde \\xAB r\\xE9ussit \\xBB.\"]}),`\n`,(0,e.jsx)(i.h3,{id:\"une-application-a-perdu-une-fonctionnalit\\xE9-apr\\xE8s-la-mise-\\xE0-niveau-sans-erreur\",children:\"Une application a perdu une fonctionnalit\\xE9 apr\\xE8s la mise \\xE0 niveau, sans erreur\"}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Probl\\xE8me\"}),\" : une fonctionnalit\\xE9 d'importation, de synchronisation ou de recherche ne renvoie rien.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Solution\"}),\" : cherchez dans Confidentialit\\xE9 et s\\xE9curit\\xE9 une entr\\xE9e que vous pouvez autoriser, et consultez les notes de version de l'\\xE9diteur pour la compatibilit\\xE9 avec macOS 27. Si les donn\\xE9es recherch\\xE9es sont du type que prot\\xE8ge XProtect, la correction devra peut-\\xEAtre venir du d\\xE9veloppeur.\"]}),`\n`,(0,e.jsx)(i.h3,{id:\"un-outil-de-mise-\\xE0-jour-en-arri\\xE8re-plan-a-cess\\xE9-de-se-mettre-\\xE0-jour\",children:\"Un outil de mise \\xE0 jour en arri\\xE8re-plan a cess\\xE9 de se mettre \\xE0 jour\"}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Probl\\xE8me\"}),\" : la mise \\xE0 jour automatique d'une application s'est arr\\xEAt\\xE9e silencieusement depuis la mise \\xE0 niveau.\"]}),`\n`,(0,e.jsxs)(i.p,{children:[(0,e.jsx)(i.strong,{children:\"Solution\"}),\" : v\\xE9rifiez si son LaunchAgent porte l'attribut de quarantaine \\xE0 l'aide de la boucle ci-dessus. Mettez d'abord l'application \\xE0 jour manuellement ; c'est la correction qui a le plus de chances de tenir.\"]}),`\n`,(0,e.jsx)(i.h2,{id:\"faq\",children:\"FAQ\"}),`\n`,(0,e.jsx)(i.h3,{id:\"macos-27-a-t-il-supprim\\xE9-linvite--acc\\xE9der-aux-donn\\xE9es-dautres-applications--\",children:\"macOS 27 a-t-il supprim\\xE9 l'invite \\xAB acc\\xE9der aux donn\\xE9es d'autres applications \\xBB ?\"}),`\n`,(0,e.jsx)(i.p,{children:\"Oui. Les notes de version d'Apple indiquent que cet acc\\xE8s \\xAB ne d\\xE9clenche plus d'invite d'autorisation pour l'utilisateur \\xBB et est \\xAB refus\\xE9 par d\\xE9faut \\xBB. Vous le g\\xE9rez dans les r\\xE9glages Confidentialit\\xE9 et s\\xE9curit\\xE9 au lieu de r\\xE9pondre \\xE0 une invite au moment o\\xF9 cela se produit.\"}),`\n`,(0,e.jsx)(i.h3,{id:\"cela-affecte-t-il-les-applications-dun-m\\xEAme-d\\xE9veloppeur-\",children:\"Cela affecte-t-il les applications d'un m\\xEAme d\\xE9veloppeur ?\"}),`\n`,(0,e.jsx)(i.p,{children:\"Non. La r\\xE8gle s'applique aux \\xAB autres \\xE9quipes de d\\xE9veloppement \\xBB. Les applications sign\\xE9es par la m\\xEAme \\xE9quipe de d\\xE9veloppement peuvent toujours partager des donn\\xE9es via leurs conteneurs de groupe, ce qui permet aux suites d'applications apparent\\xE9es de continuer \\xE0 fonctionner.\"}),`\n`,(0,e.jsx)(i.h3,{id:\"full-disk-access-suffit-il-toujours-\",children:\"Full Disk Access suffit-il toujours ?\"}),`\n`,(0,e.jsx)(i.p,{children:\"D'apr\\xE8s la solution de contournement d'Apple pour le probl\\xE8me connu en ligne de commande, oui \\u2014 Full Disk Access donne acc\\xE8s aux conteneurs de donn\\xE9es d'application. Les nouvelles restrictions d'XProtect sur les donn\\xE9es couramment cibl\\xE9es constituent la partie qu'Apple d\\xE9crit comme distincte, et celles-ci peuvent tout de m\\xEAme s'appliquer \\xE0 certaines donn\\xE9es.\"}),`\n`,(0,e.jsx)(i.h3,{id:\"pourquoi-mon-script-ne-peut-il-plus-lire-tccdb-\",children:\"Pourquoi mon script ne peut-il plus lire TCC.db ?\"}),`\n`,(0,e.jsx)(i.p,{children:\"Les notes de macOS 27 d'Apple indiquent que les applications ne peuvent plus acc\\xE9der directement \\xE0 la base de donn\\xE9es TCC locale. Utilisez R\\xE9glages Syst\\xE8me pour consulter les autorisations, et le reporting de votre outil de gestion des appareils si vous \\xEAtes administrateur.\"}),`\n`,(0,e.jsx)(i.h3,{id:\"est-il-s\\xFBr-de-retirer-lattribut-de-quarantaine-dun-launchagent-\",children:\"Est-il s\\xFBr de retirer l'attribut de quarantaine d'un LaunchAgent ?\"}),`\n`,(0,e.jsx)(i.p,{children:\"Seulement lorsque vous avez confirm\\xE9 ce qu'il ex\\xE9cute, et que le programme est bien sign\\xE9 par le d\\xE9veloppeur attendu. Retirer la quarantaine est exactement ce que les logiciels malveillants esp\\xE8rent que vous fassiez, et c'est pr\\xE9cis\\xE9ment pour cette raison que macOS 27 a cess\\xE9 de charger les agents en quarantaine.\"}),`\n`,(0,e.jsx)(i.h2,{id:\"conclusion\",children:\"Conclusion\"}),`\n`,(0,e.jsx)(i.p,{children:\"Le fil conducteur de ces changements de macOS 27 est coh\\xE9rent : les donn\\xE9es appartenant \\xE0 une application ne sont plus disponibles pour une autre simplement parce que les deux s'ex\\xE9cutent sous votre compte, et un fichier t\\xE9l\\xE9charg\\xE9 depuis Internet ne se transforme plus en processus en arri\\xE8re-plan simplement parce qu'il a atterri dans le bon dossier. Pour la plupart des gens, c'est un gain net, puisqu'il s'agit pr\\xE9cis\\xE9ment de l'acc\\xE8s dont d\\xE9pendaient les infostealers sur Mac.\"}),`\n`,(0,e.jsx)(i.p,{children:\"Le co\\xFBt, ce sont des pannes qui ne seront jamais annonc\\xE9es. Les scripts, outils de sauvegarde, outils d'importation et m\\xEAme les outils de mise \\xE0 jour des navigateurs peuvent cesser de fonctionner silencieusement. Effectuez l'audit de cinq minutes, accordez l'acc\\xE8s de fa\\xE7on restreinte et temporaire l\\xE0 o\\xF9 un outil en a vraiment besoin, et lorsque quelque chose devient silencieux apr\\xE8s la mise \\xE0 niveau, v\\xE9rifiez d'abord Confidentialit\\xE9 et s\\xE9curit\\xE9.\"}),`\n`,(0,e.jsx)(i.p,{children:(0,e.jsxs)(i.em,{children:[\"Lectures connexes : \",(0,e.jsx)(i.a,{href:\"/blog/macos-27-open-using-rosetta-ignored-intel-plugins-missing-fix-2026\",children:\"macOS 27 ignore \\xAB Ouvrir avec Rosetta \\xBB : corriger les plug-ins Intel manquants\"}),\" \\xB7 \",(0,e.jsx)(i.a,{href:\"/blog/mac-screen-recording-full-disk-access-permission-keeps-asking-fix-2026\",children:\"L'enregistrement d'\\xE9cran et Full Disk Access redemandent sans cesse\"}),\" \\xB7 \",(0,e.jsx)(i.a,{href:\"/blog/app-is-damaged-cant-be-opened-macos-tahoe-gatekeeper-quarantine-fix-2026\",children:\"\\xAB App is damaged \\xBB et l'attribut de quarantaine\"}),\" \\xB7 \",(0,e.jsx)(i.a,{href:\"/blog/macos-27-golden-gate-release-day-update-guide-september-14-2026\",children:\"Guide de mise \\xE0 jour du jour de lancement de macOS 27 Golden Gate\"})]})})]})}function h(n={}){let{wrapper:i}=n.components||{};return i?(0,e.jsx)(i,{...n,children:(0,e.jsx)(o,{...n})}):o(n)}return y(C);})();\n;return Component;","toc":[{"title":"Points clés à retenir","url":"#points-clés-à-retenir","depth":2},{"title":"Ce qui a changé : d'une invite à un refus par défaut","url":"#ce-qui-a-changé--dune-invite-à-un-refus-par-défaut","depth":2},{"title":"Ce qui compte comme « données d'une autre application »","url":"#ce-qui-compte-comme--données-dune-autre-application-","depth":2},{"title":"À quoi ressemble une panne","url":"#à-quoi-ressemble-une-panne","depth":2},{"title":"Accorder l'accès correctement","url":"#accorder-laccès-correctement","depth":2},{"title":"Pour les applications classiques","url":"#pour-les-applications-classiques","depth":3},{"title":"Pour les scripts, tâches cron et outils en ligne de commande","url":"#pour-les-scripts-tâches-cron-et-outils-en-ligne-de-commande","depth":3},{"title":"La couche XProtect","url":"#la-couche-xprotect","depth":2},{"title":"Les applications ne peuvent plus lire la base de données de confidentialité","url":"#les-applications-ne-peuvent-plus-lire-la-base-de-données-de-confidentialité","depth":2},{"title":"L'autre changement silencieux : les LaunchAgents en quarantaine","url":"#lautre-changement-silencieux--les-launchagents-en-quarantaine","depth":2},{"title":"Corriger un agent en quarantaine","url":"#corriger-un-agent-en-quarantaine","depth":3},{"title":"Un audit de cinq minutes, avant ou après la mise à niveau","url":"#un-audit-de-cinq-minutes-avant-ou-après-la-mise-à-niveau","depth":2},{"title":"Quand ne pas accorder l'accès","url":"#quand-ne-pas-accorder-laccès","depth":2},{"title":"Résolution des problèmes courants","url":"#résolution-des-problèmes-courants","depth":2},{"title":"« Operation not permitted » même avec sudo","url":"#-operation-not-permitted--même-avec-sudo","depth":3},{"title":"Une tâche launchd échoue mais la même commande fonctionne dans Terminal","url":"#une-tâche-launchd-échoue-mais-la-même-commande-fonctionne-dans-terminal","depth":3},{"title":"Un outil de sauvegarde a ignoré silencieusement certaines données d'application","url":"#un-outil-de-sauvegarde-a-ignoré-silencieusement-certaines-données-dapplication","depth":3},{"title":"Une application a perdu une fonctionnalité après la mise à niveau, sans erreur","url":"#une-application-a-perdu-une-fonctionnalité-après-la-mise-à-niveau-sans-erreur","depth":3},{"title":"Un outil de mise à jour en arrière-plan a cessé de se mettre à jour","url":"#un-outil-de-mise-à-jour-en-arrière-plan-a-cessé-de-se-mettre-à-jour","depth":3},{"title":"FAQ","url":"#faq","depth":2},{"title":"macOS 27 a-t-il supprimé l'invite « accéder aux données d'autres applications » ?","url":"#macos-27-a-t-il-supprimé-linvite--accéder-aux-données-dautres-applications--","depth":3},{"title":"Cela affecte-t-il les applications d'un même développeur ?","url":"#cela-affecte-t-il-les-applications-dun-même-développeur-","depth":3},{"title":"Full Disk Access suffit-il toujours ?","url":"#full-disk-access-suffit-il-toujours-","depth":3},{"title":"Pourquoi mon script ne peut-il plus lire TCC.db ?","url":"#pourquoi-mon-script-ne-peut-il-plus-lire-tccdb-","depth":3},{"title":"Est-il sûr de retirer l'attribut de quarantaine d'un LaunchAgent ?","url":"#est-il-sûr-de-retirer-lattribut-de-quarantaine-dun-launchagent-","depth":3},{"title":"Conclusion","url":"#conclusion","depth":2}],"estimatedTime":20}