DEV Community

mew
mew

Posted on

Vulnerawa on macOS: Fixing the Silent Launch Failure After Gatekeeper Approval

Vulnerawa (app) on macOS: Why It Wouldn’t Open — and What Finally Fixed It

I installed Vulnerawa (app) last week on my MacBook Air M2 (macOS Sonoma 14.4) because I needed a lightweight security scanner to run against a staging server. Nothing heavy. Just a quick vulnerability sweep before pushing changes live. I grabbed the build through an OrchardKit listing, downloaded the macOS release, and expected a routine setup.

It wasn’t routine.

The first launch gave me the classic:

“Vulnerawa can’t be opened because Apple cannot check it for malicious software.”

Standard Gatekeeper behavior. No panic. Apple’s documentation on this is pretty clear:
https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac

So I right-clicked → Open → Confirmed. The dialog appeared once. I approved it. The app icon bounced in the Dock… and then nothing. It vanished. No crash report. No error window. Just silence.

That’s when I knew this wasn’t just Gatekeeper being cautious.


First assumption: broken build

My initial theory was architecture mismatch. I’ve seen Intel-only utilities misbehave under Apple Silicon if Rosetta isn’t installed properly. I checked:

file Vulnerawa
Enter fullscreen mode Exit fullscreen mode

It reported a universal binary. Fine.

Then I tried launching it directly from Terminal:

./Vulnerawa
Enter fullscreen mode Exit fullscreen mode

This time I got something useful: a permissions error related to accessing ~/Documents/Scans.

Interesting.

So Gatekeeper wasn’t the real issue anymore. The app was being blocked by macOS privacy controls.

Apple’s Files & Folders access system (TCC) is separate from notarization. Clearing quarantine doesn’t grant file permissions. That’s explained here:
https://support.apple.com/guide/mac-help/control-access-to-files-and-folders-on-mac-mchld5a35146/mac

And that distinction is where I went wrong.


Second attempt: clearing quarantine (didn’t help)

Just to be thorough, I removed the quarantine flag:

xattr -dr com.apple.quarantine Vulnerawa.app
Enter fullscreen mode Exit fullscreen mode

Relaunched. Same behavior. Dock bounce → disappear.

At this point I opened Console.app and filtered by the process name. That’s where the real story showed up: sandbox denial for access to protected directories. The tool was trying to create scan logs in Documents on first run — before macOS had granted it access.

Sonoma is stricter than Ventura in this area. If an app requests protected directories immediately at launch and isn’t fully notarized or sandbox-aware, the system may terminate it before prompting the user.

That matched what I was seeing.

For context, Apple’s notarization requirements for distributed software are here:
https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution

The build I had was signed, but not notarized under current standards.


What actually worked

Instead of fighting it from Terminal, I did something simpler:

  1. Deleted the existing copy.
  2. Re-downloaded a fresh build.
  3. Moved it into /Applications.
  4. Launched it via Finder (not Terminal).

That small change mattered.

When launched from /Applications, macOS treated it more like a conventional app bundle. This time, I finally got the proper system prompt asking for access to Documents and Desktop folders. I approved it.

And just like that — it stayed open.

No bounce. No silent exit. The dashboard loaded, and I could configure scan targets normally.

Performance was stable too. CPU usage hovered around 15–20% during an active scan of a local container, which is reasonable for this class of utility.


Why it failed in the first place

Two overlapping macOS mechanisms were involved:

  • Gatekeeper blocked the first run because the developer wasn’t fully notarized.
  • TCC (privacy controls) terminated the process because it attempted protected folder access before explicit permission was granted.

By running it from a development folder in my home directory, I unintentionally prevented macOS from surfacing the permission dialog cleanly.

This page about macOS behavior around security software on modern systems helped confirm I wasn’t imagining things:
https://rvfcb.com/security/74242-vulnerawa.html

It clarified that on recent macOS versions, unsigned or partially signed utilities interacting with sensitive directories can fail without a visible prompt.

Also worth noting: there’s no Mac App Store distribution for this tool (I checked here just in case):
https://apps.apple.com/us/search?term=Vulnerawa

That means it bypasses Apple’s automated notarization pipeline entirely. Which is fine — but it shifts more responsibility onto the user to handle trust and permissions manually.


If I had to do it again

I’d skip the Terminal launch entirely and do this immediately:

  • Install into /Applications
  • Launch via Finder once
  • Approve Gatekeeper override
  • Approve Files & Folders access when prompted
  • Only then configure scan directories

That would have saved me at least an hour of chasing phantom “crashes.”


Final thoughts

The app itself works fine once macOS security layers are satisfied. The scanning engine behaves predictably, report export is clean, and it didn’t interfere with other security tools on my machine. The issue was entirely about how Sonoma enforces trust and privacy boundaries.

Modern macOS doesn’t just check signatures — it monitors behavior at runtime. If a tool touches protected directories too early, the OS can shut it down without ceremony.

The lesson here isn’t about this particular security utility. It’s about understanding that on Apple Silicon machines running recent macOS builds, “can’t be opened” is often just step one. The real friction can hide behind silent permission denials.

Once I treated it like a proper installed application instead of a loose binary, everything behaved.

And yes, I now default to installing even small utilities into /Applications before testing them. Experience tends to adjust habits.

Top comments (0)