hariel1985 02a08d23cc Harden unsafe pointer code against malicious process names
Defensive coding improvements to mitigate "kernel as messenger" attack vector
where a local malicious process could craft extreme process names/paths:

- fetchProcessName: Create string from explicit length instead of relying
  on null terminator. Protects against edge cases where path buffer might
  not be null-terminated at exactly maxPathSize.

- BSD name extraction: Copy to safe buffer with guaranteed null termination
  before converting to String. Protects against pbi_name being exactly
  MAXCOMLEN bytes without null terminator.

- fetchBasicProcessInfo: Same safe pattern for p_comm field extraction.

- Strip control characters and whitespace from process names to prevent
  display/injection issues from maliciously crafted names.

Security: Addresses potential buffer over-read in unsafe Swift pointer
operations when parsing attacker-influenced kernel data structures.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:20:51 +01:00
2026-01-31 00:00:32 +01:00

TopManager

A native macOS system monitor application built with SwiftUI. TopManager provides real-time monitoring of system resources including processes, applications, CPU, memory, GPU, storage, and network.

macOS Swift License

Screenshots

Processes

Processes

Apps

Apps

Performance - CPU

CPU

Performance - Memory

Memory

Performance - Network

Network

Power & Storage

Power & Storage

Features

Processes Tab

  • View all running processes with CPU, memory, and thread information
  • Sort by any column (name, PID, CPU%, memory, threads, user, state)
  • Process states: Running, Sleeping, Stopped, Zombie
  • Context menu to terminate, force kill, suspend, or resume processes
  • Search processes by name or PID

Apps Tab

  • View running user-facing applications
  • Shows app icons, CPU/memory usage, and bundle identifiers
  • Quick actions: Activate, Hide, Quit, Force Quit
  • Copy bundle ID to clipboard

Performance Tab

  • Real-time CPU usage graphs (global and per-core)
  • Memory usage visualization with donut chart
  • Network throughput monitoring
  • Support for Apple Silicon P-cores and E-cores

Power & Storage Tab

  • System status: macOS version, uptime, thermal state
  • CPU and GPU core counts
  • GPU memory/VRAM usage
  • Storage volumes with usage bars
  • Network interface statistics

Requirements

  • macOS 13.0 or later
  • Xcode 15.0 or later (for building)

Building

  1. Clone the repository:

    git clone https://github.com/hariel1985/TopManager.git
    
  2. Open TopManager.xcodeproj in Xcode

  3. Build and run (⌘R)

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Acknowledgments

Built with SwiftUI and native macOS APIs including:

  • libproc for process information
  • IOKit for GPU and hardware monitoring
  • Metal for GPU detection
  • SystemConfiguration for network monitoring
Leírás
No description provided
Readme 2,9 MiB
Languages
Swift 100%