02a08d23cc99d9ddf7bd8a12b168e28a44cf19ca
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>
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.
Screenshots
Processes
Apps
Performance - CPU
Performance - Memory
Performance - Network
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
-
Clone the repository:
git clone https://github.com/hariel1985/TopManager.git -
Open
TopManager.xcodeprojin Xcode -
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:
libprocfor process informationIOKitfor GPU and hardware monitoringMetalfor GPU detectionSystemConfigurationfor network monitoring
Leírás
Languages
Swift
100%





