Disabling System Integrity Protection


I bought the new book to learn more about App debugging (and the books here are awesome!).

The first chapter begins by saying that you should disable System Integrity Protection in order to follow along. I kind of wanna do it, but isn’t this quite dangerous?

I also tried to figure out how to install mac os on a virtual machine, but all I can find are tutorials for installing it on windows.

Is it safe to disable it for some time (I know that I shouldn’t do shady things on the internet that download malicious stuff :D)? The book says it’s not very safe, but how dangerous is it for some time?

Thanks! :slight_smile:



I have the same concern on the impact on the machines security.
To reduce the risk, it would be prudent to recommend to enable Rootless when lldb is not used.

Since it was suggested to use a VM, how do we actually do it?


May be you can use Parallels Desktop (not free)

You should be able to do this using virtualbox if you don’t want to disable it on your production machine. Here’s a video I came across: https://www.youtube.com/watch?v=7B9DwujWvS4 . Personally I don’t see the worry since SIP is really there to prevent developers from messing with system fundamentals which could make the system unstable. Most of the apps that were doing that have worked around this by now. You can always set it back if you’re worried about leaving it permanently disabled.

1 Like

I would like to have some test app where I can follow book examples without disabling “System Integrity Protection”. Tried to work on my own app, but it’s in Swift and I get stuck pretty fast.

Hey @mueller, sorry for the late response,

If you are uncomfortable disabling SIP, then just turn it back on. After chapter 1, you can get through most of the chapters without having to disable SIP until you reach the DTrace chapters.

With SIP enabled, there’s some apps you won’t be able to attach to via LLDB, but everything on the Simulator should still be fair game, which is what the majority of the book uses to explore (haven’t checked on High Sierra yet).

In the next version of the book, I’ll add a tutorial on how to setup a VM of macOS