Skip to content

Releases: EhsanAzish80/Nick

Nick 4.0

Choose a tag to compare

@EhsanAzish80 EhsanAzish80 released this 27 Jul 11:59
v4.0.0
704e4fa

Nick 4.0 is the current stable release for macOS 26 and later.

This release adds the production Endpoint Security and Network Extension architecture, guided protection setup, active Scam Guardian filtering, improved Email Guard coverage, clearer actionable alerts, performance improvements, and a complete native uninstaller.

Installation:

  1. Download and open Nick-4.0-build-404.dmg.
  2. Run the signed Nick installer package.
  3. Follow Nick's guided setup and approve the requested macOS protections.
  4. Restart the Mac if macOS requests it, then return to Nick to verify every Smart Scan protection.

The DMG is signed, notarized, and stapled. Its SHA-256 checksum is:

8750a55f764f5ed105a4387e64c26d45f66de005feca1f8fd212d7cdd6fef5fc  Nick-4.0-build-404.dmg

See CHANGELOG.md for release details and SECURITY.md for security reporting.

Nick 3.0

Choose a tag to compare

@EhsanAzish80 EhsanAzish80 released this 02 Jun 14:58

Nick 3.0 — Release Notes

Release date: June 2, 2026
Build: 3.0 (1)
Minimum macOS: 26.0 (Tahoe)
Distribution: Direct (Developer ID, notarized)
Update feed: https://3nsofts.com/nick/appcast.xml


What's New in 3.0

Endpoint Security System Extension

Nick now ships with an Apple-approved Endpoint Security System Extension (NickExtension) — the same privileged kernel-level event pipeline used by enterprise EDR products. Rather than polling for changes after the fact, the extension intercepts AUTH_EXEC, AUTH_OPEN, AUTH_CREATE, AUTH_MMAP, and AUTH_COPYFILE events before they complete, allowing malicious files to be blocked before they execute.

The extension runs isolated from the main app, registered via SMAppService (modern API), and communicates back to the UI over a private XPC connection.


YARA Rule Engine

A full libyara 4.5.2 static engine is embedded directly in the ES scan pipeline. Every file that misses the hash cache is evaluated against a bundled community ruleset before an allow/deny decision is made.

Bundled rulesets:

  • macos_adware.yar
  • macos_backdoors.yar
  • macos_ransomware.yar
  • macos_stealers.yar

Features:

  • Per-file scan timeout (10 seconds) — prevents stalls on large or malformed files
  • YARA-only hits surfaced as YARA:<ruleName> in the threat log
  • Graceful fallback if rules fail to compile at startup

Deep Scanner

A new on-demand Deep Scanner crawls the entire file system using the YARA engine, classifying matches into threat verdicts. The scan is battery-aware and skips paths that are already trusted. Progress is shown live in the Scan Progress view.


Real-Time Behavioral Correlation (15 rules)

A 15-rule ThreatCorrelator watches process genealogy and network behavior simultaneously and raises correlated alerts when suspicious chains are detected:

Rule Signal
browser_to_shell Browser spawns shell process
office_to_shell Office app spawns shell process
pdf_to_shell PDF viewer spawns shell process
app_to_downloader App spawns curl/wget after execution
deep_shell_nesting Shell chain depth ≥ 3
raw_ip_outbound Process connects to bare IP (bypasses DNS)
+ 9 additional rules Process injection, persistence, exfiltration patterns

LOLBin Detector

Detects abuse of legitimate macOS system binaries (curl, osascript, python3, bash, sh, perl, ruby, base64, etc.) when called from unusual parent processes or with suspicious arguments. Lives in ProcessMonitor/LOLBinDetector.swift.


Reverse Shell Detector

ReverseShellDetector inspects outbound network connections and cross-references them against the process tree to identify classic reverse shell patterns (shell process with stdin/stdout/stderr redirected to a socket).


AV/Capture Monitor (Camera & Microphone Surveillance Detection)

AVCaptureMonitor watches for processes accessing camera and microphone devices via AVCaptureDevice notifications. Detects unauthorized capture sessions and surfaces them as ThreatSignal alerts with the accessing process name and PID.


Persistence Watcher

PersistenceWatcher monitors all standard macOS persistence locations in real time:

  • ~/Library/LaunchAgents/
  • /Library/LaunchAgents/
  • /Library/LaunchDaemons/
  • Login Items (via AppleScript)
  • Cron entries

New or modified entries that weren't present at baseline trigger an alert.


Network Inspector

NetworkInspector performs LAN host discovery and port scanning to identify vulnerable devices on the local network. Results are shown in the Network Inspector view with open port details per device.


USB / External Media Auto-Scan

When a removable volume is mounted, Nick automatically scans it using the YARA engine and signature database. Results appear in the USB Scan view. No user interaction required.


Performance Engine (30+ Cleanup Rules)

The built-in disk cleanup engine scans for recoverable disk space across 30+ categories:

Xcode artifacts (DerivedData, simulators, device support, documentation), browser caches (Chrome, Safari), app caches, iOS backups, old archives, large forgotten files, large duplicates, Python/Node/Gradle/SwiftPM caches, Adobe cache, Docker layers, Steam cache, meeting recordings, screen recording exports, Trash, logs, and more.

The engine is battery-aware and shows a live cleanup progress view with per-category size estimates before any deletion.


Privileged Helper (NickHelper)

A registered SMAppService privileged helper handles operations that require root without running the main app as root:

  • SIP (System Integrity Protection) status reads
  • Firewall state inspection
  • Protected plist reads

Registered via modern SMAppService API (replaces legacy SMJobBless).


Finder Integration (NickFinderSync)

A Finder Sync Extension adds a right-click Scan with Nick context menu item to files and folders in Finder. Results are returned to the main app over XPC.


Signal Telemetry (Local, Privacy-Preserving)

SignalTelemetry records user verdicts (allow/block) on threat signals alongside the feature vectors that generated them. This data stays entirely on-device and is used to build training data for the local Core ML model. No data leaves the device.


Threat Log with Export

ThreatLogger stores all threat events in a SwiftData store with full metadata (original path, hash, threat name, severity, process chain, timestamp, resolution note). Logs can be exported as JSON, CSV, or key-value flat files from the Threat Log view.


System Audit & Security Score (Redesigned)

The System Audit view now shows a single 0–100 Security Score broken down across four components:

Component Max Points
Real-Time Protection 37
Recent Threats 31
File Integrity 19
Privacy 13

Each row uses the same visual style as audit result rows — icon, title, description, and a direct "Fix" deep-link into System Settings where applicable.


Export Security Report

A new Export Report toolbar button in System Audit opens a save panel and writes a self-contained HTML report of the current audit snapshot — including the security score, all audit findings, and threat counts. No third-party dependencies.


Automatic Updates (Sparkle)

Nick uses Sparkle 2 to deliver automatic updates directly from https://3nsofts.com/nick/appcast.xml. Updates are:

  • Delivered over HTTPS
  • Verified with an EdDSA signature before installation
  • Handled by Sparkle's sandboxed Downloader.xpc and Installer.xpc sub-processes (no elevated privileges required in the main app)
  • Configurable from Settings → General → Updates

"Check for Updates…" is also available from the Nick menu at any time.


Changes from v1.2

Area Change
Detection ES System Extension replaces passive polling-based monitor
Detection YARA engine added (v1.2 was hash-signature-only)
Detection Behavioral correlation expanded from 8 → 15 rules
Detection LOLBin detector added
Detection Reverse shell detector added
Detection AV/Capture monitor added
Detection Persistence watcher added
Response Deep Scanner added
Response USB auto-scan added
UI Report sidebar item removed — export is now a toolbar button in System Audit
UI Security Score redesigned to match audit row style
UI Signature Freshness component removed from health score (was showing stale data)
UI Process Tree view rewritten (SecurityEngine-backed, removes old XPC-based implementation)
Reliability UserDefaults.register(defaults:) called at launch — fixes notification spam on first run
Updates Sparkle 2 integrated for automatic over-the-air updates
Platform Minimum deployment target raised to macOS 26.0

Known Limitations

# Area Detail
1 Privileged Helper getListeningPorts() returns an empty result (tracked: issue #43)
2 SwiftData No versioned migration plan for ThreatLogEntry — avoid schema changes in point releases
3 Network Inspector LAN scan and Scam Guardian (Phase 5) are monitoring-only in this release; blocking requires the Network Extension target (Phase 5)
4 ML Predictor BehavioralScorer collects feature vectors but the Core ML inference model is not yet wired for live scoring (Phase 4 work)
5 System Settings links Some deep-links in System Audit use the x-apple.preference.security scheme — verify each opens the correct pane on macOS 26

Upgrade Path

This is a major version with a new System Extension. On first launch after upgrade:

  1. Nick will prompt to install the new NickExtension system extension
  2. macOS will show a System Settings prompt to allow it — this requires user approval
  3. The old polling-based monitors are automatically replaced once the extension is active

A clean install is recommended for the best experience.


Installation

Download Nick-v3.0.dmg
Open the DMG and drag Nick to Applications
Launch Nick from Applications
Verification

codesign -dv --verbose=4 /Applications/Nick.app 2>&1 | grep Authority
spctl -a -vv /Applications/Nick.app
shasum -a 256 Nick-v3.0.dmg
Expected: 498727c89fb5d065f68342d4370fa84de9b8f167d3a377c2ce66a4d11ecb22b
Security

Report vulnerabilities via GitHub Security Advisories or security@3nsofts.com.
See SECURITY.md for our disclosure policy.

License

AGPL-3.0

Full Changelog: https://github.com/EhsanAzish8...

Read more

Nick v1.2 — AI & Reporting

Choose a tag to compare

@EhsanAzish80 EhsanAzish80 released this 25 May 18:24

Nick v1.2 — AI & Reporting

One app. Six detection layers. On-device AI threat scoring. Zero cloud dependency.

New: Logging & SIEM Integration

Nick now ships a functional logging pipeline. Pick your format, pick your output, done.

  • Formats: Key=Value · JSON · CEF
  • Outputs: Local log file (~/Library/Logs/Nick/nick-YYYY-MM-DD.log, daily rotation, 30-day retention) · HTTP POST webhook (Splunk HEC, AWS, PagerDuty, any HTTPS endpoint) · stdout
  • MDM-configurable — all logging settings readable from the managed defaults domain com.ehsanazish.nick
  • No syslog. No OpenTelemetry. No dedicated developer required.

New: Detection Additions

  • Finder Sync Extension — "Scan with Nick" appears automatically in Finder right-click menu, no user configuration needed
  • Scheduled Deep Scan — daily, weekly, or monthly full-system YARA scan (configurable in Settings)
  • getListeningPorts implemented via sysctl — closes #43
  • proc_pidfdinfo replaces lsof for network scanning — closes #1
  • Network baseline anomaly detection — flags processes whose connection patterns change unexpectedly

New: Enterprise Foundation

  • MDM configuration profile support — all settings configurable via managed com.ehsanazish.nick defaults domain. See docs/MDM_CONFIGURATION.md
  • Configurable alert suppression rules — suppress by process name, file path, or correlation rule name

AI Improvements

  • Foundation Models explanations now on all alert paths (full scan + quickTick)
  • Opt-in local signal telemetry for future CoreML model training

UI Improvements

  • Follows system dark/light mode — user can override in Settings → Appearance
  • Hero card with green tint background
  • Score merged into hero card
  • Status rows are interactive buttons with hover state
  • HTTP endpoint field fixed (full width, LTR, URL validation, test alert button)
  • Suppression Rules form redesigned
  • monitoringSince persists correctly across restarts

Bug Fixes

  • Fixed launchd (PID 1) failing signature validation
  • Fixed ULA IPv6 (fd::/fc::) addresses triggering raw IP alerts
  • Fixed Deep Scan YARA matches in signed app data generating alerts
  • Fixed webhook URL field rendering as tappable link
  • Fixed empty divider in Suppression Rules when list is empty

Requirements

  • macOS 26 or later
  • Apple Silicon or Intel Mac

Installation

  1. Download Nick-v1.2.dmg
  2. Open the DMG and drag Nick to Applications
  3. Launch Nick from Applications

Verification

codesign -dv --verbose=4 /Applications/Nick.app 2>&1 | grep Authority
spctl -a -vv /Applications/Nick.app
shasum -a 256 Nick-v1.2.dmg
# Expected: fee2f06dcafc4ce571d064584e3b149b791a988663bb65d204226c20d8616b08

Security

Report vulnerabilities via GitHub Security Advisories or security@3nsofts.com.
See SECURITY.md for our disclosure policy.

License

AGPL-3.0

Nick v1.1 — Detection Hardening & UI Overhaul

Choose a tag to compare

@EhsanAzish80 EhsanAzish80 released this 25 May 11:00

Nick v1.1 — Detection Hardening & UI Overhaul

Security Fixes

  • Fixed supply-chain bypass in trust downgrade — persistence alerts are never
    downgraded regardless of trusted process involvement
  • Replaced all path-based exclusions with signature-based verification — files
    are only trusted if the parent app bundle is properly signed by Apple or a
    known developer
  • Trusted process verification now checks code signature, not just process name —
    prevents impersonation by renamed malicious binaries
  • Fixed raw IP outbound false positives — excluded 0.0.0.0, link-local (fe80::),
    ULA (fd/fc), localhost, and private network ranges from alerting
  • Fixed launchd (PID 1) failing signature validation

New Features

  • Main application window with sidebar navigation (replaces menu bar panel)
  • Deep Scan — full-system YARA scan with progress tracking, verdict classification,
    and export reports
  • Drag-and-drop file scanning in the Scan tab
  • Persistence view with status filters (All/Verified/Missing/Broken) and right-click
    context menu (Show in Finder, Copy Path, Remove)
  • Login Items monitoring via System Events
  • Shell profile monitoring (~/.zshrc, ~/.bash_profile, /etc/zshrc)
  • SSH authorized_keys monitoring
  • System hardening alerts for firewall, stealth mode, remote login, and XProtect
  • Foundation Models threat explanations on all alerts (macOS 26+)
  • Onboarding welcome screen with permission guidance
  • Firewall allowed apps audit — flags stale, unsigned, or non-standard entries
  • Notification "View in Nick" action
  • Audit deep links to System Settings
  • "Scan with Nick" Finder Services integration

Improvements

  • Scan progress overlay with per-stage tracking
  • Overview dashboard with security gauge, sparkline charts, protection summary,
    and recent activity feed
  • Settings window redesigned with grouped sections
  • Alert cards show file path, PID, Kill Process, and Show in Finder actions
  • Deep Scan verdict classification: Threats, Suspicious, Application Data,
    Development Artifacts
  • Window hides on close (red button) instead of quitting — menu bar icon reopens
  • SwiftData schema versioning for future migrations
  • UserDefaults registered with sensible defaults
  • SonarCloud and Codecov integration

Bug Fixes

  • Fixed scan blocking main thread (actor refactor)
  • Fixed ProcNetHelper port overflow for ports ≥ 32768
  • Fixed ProcNetHelper bindMemory alignment crash
  • Fixed notification permission never being requested
  • Fixed "Checking..." stuck state in process signature column
  • Fixed empty function SonarCloud warnings
  • Removed dead DashboardView code from menu bar panel era
  • Zero compiler warnings

Requirements

  • macOS 26 or later
  • Apple Silicon or Intel Mac

Verification

codesign -dv --verbose=4 /Applications/Nick.app 2>&1 | grep Authority
spctl -a -vv /Applications/Nick.app
shasum -a 256 Nick-v1.1.dmg
Expected: f532a5fd8d8733df5d19477e204071679838a944575331b9761744b462180616

Security

Report vulnerabilities via GitHub Security Advisories
or security@3nsofts.com.

Nick v1.0 — Open-Source macOS Security Suite

Choose a tag to compare

@EhsanAzish80 EhsanAzish80 released this 24 May 13:24

Nick v1.0 — Open-Source macOS Security Suite

One app. Six detection layers. On-device AI threat scoring. Zero cloud dependency.

What's included

  • System integrity audit (SIP, FileVault, Gatekeeper, Firewall, XProtect)
  • Real-time process monitoring with LOLBin and parent-chain detection
  • Network connection analysis with reverse shell detection
  • Persistence monitoring (LaunchAgents, LaunchDaemons, Login Items, shell profiles, SSH keys)
  • YARA scanning with curated macOS rule sets (Deep Scan + real-time FSEvents)
  • On-device Foundation Models threat explanations (macOS 26+)
  • Camera and microphone access monitoring
  • 269 tests, 0 failures

Requirements

  • macOS 26 or later
  • Apple Silicon or Intel Mac

Installation

  1. Download Nick-v1.0.dmg
  2. Open the DMG and drag Nick to Applications
  3. Launch Nick from Applications
  4. Grant notification permission when prompted
  5. Optionally grant Full Disk Access in System Settings → Privacy & Security for comprehensive monitoring

Verification

# Verify code signature
codesign -dv --verbose=4 /Applications/Nick.app 2>&1 | grep Authority

# Verify notarization
spctl -a -vv /Applications/Nick.app

# Verify DMG checksum
shasum -a 256 Nick-v1.0.dmg
# Expected: 6a955d851b98315831d3efbd9f9b27b1b24846b660fd07b737e5a3c60f8acb64

Security

Report vulnerabilities via GitHub Security Advisories or security@3nsofts.com.
See SECURITY.md for our disclosure policy.

License

AGPL-3.0