Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Készítette: Mario Hewardt
Közzétéve: 2026. március 26.
listent letöltése macOS-hez (GitHub)
Introduction
Parancssori eszköz a macOS végrehajtható bináris fájljaihoz tartozó kódaláírási jogosultságok felderítésére és listázására. Támogatja a statikus vizsgálatot, a valós idejű folyamatfigyelést és a háttér démonműveletét.
listent rekurzívan ellenőrzi a könyvtárakat a végrehajtható bináris fájlok megkereséséhez, és kinyeri a kódaláírási jogosultságaikat. Biztonsági kutatók, fejlesztők és rendszergazdák számára készült, akiknek a macOS-alkalmazások által kért engedélyek naplózására vagy megértésére van szükségük.
Features
Alapvető képességek
- Gyors vizsgálat: Intelligens szűrési és folyamatjelzőkkel hatékonyan bejárja a könyvtárfákat
-
Jogosultság kinyerése: a macOS
codesignhasználatával kinyeri a jogosultságokat a bináris fájlokból - Rugalmas szűrés: Szűrés elérési utak és meghatározott jogosultsági kulcsok alapján, glob mintatámogatással
- Több kimeneti formátum: Olvasható és strukturált JSON-kimenet
- Több elérési út: Több könyvtár vizsgálata egyetlen parancsban
- Kecses megszakítások: Tiszta megszakítás a Ctrl+C billentyűkombinációval
Működési módok
1. Statikus vizsgálati mód (alapértelmezett)
Fájlok és könyvtárak vizsgálata jogosultságok esetén:
# Scan default locations (/usr/bin and /usr/sbin)
listent
# Scan specific paths
listent /usr/bin /usr/sbin
# Filter by entitlement patterns
listent -e "com.apple.security.*"
listent -e "*network*" -e "*debug*"
# JSON output for automation
listent /usr/bin -e "*security*" --json
2. Valós idejű monitorozási mód
Új jogosultsági folyamatok figyelése:
# Monitor all new processes
listent monitor
# Monitor with custom polling interval
listent monitor --interval 0.5
# Monitor specific entitlements only
listent monitor -e "com.apple.security.network.*"
3. Démon mód
Folyamatos monitorozás futtatása az előtérben (teszteléshez vagy manuális démonművelethez hasznos):
# Run as daemon in foreground
listent daemon run
# Daemon with custom config file
listent daemon run --config /etc/listent/custom.toml
Egyéni konfigurációs fájlsablon (daemon.toml):
[daemon]
# How often to poll for new processes, in seconds (0.1 - 300.0)
polling_interval = 1.0
# Start automatically when loaded by launchd (RunAtLoad)
auto_start = true
[monitoring]
# Filesystem paths to scan for running process binaries.
# Empty list = monitor processes from all paths.
path_filters = ["/usr/bin", "/usr/sbin"]
# Entitlement patterns to match (glob syntax). Empty list = all entitlements.
# Examples: "com.apple.security.*", "*network*"
entitlement_filters = []
Lekérdezési naplók a következőkkel:
# View listent logs in real-time
log stream --predicate 'subsystem == "com.microsoft.sysinternals.listent"' --level info
# View recent logs
log show --predicate 'subsystem == "com.microsoft.sysinternals.listent"' --last 1h
# Filter for errors only
log show --predicate 'subsystem == "com.microsoft.sysinternals.listent" AND messageType == error' --last 24h
4. Háttér démonszolgáltatás
Futtassa a figyelést a launchd által kezelt állandó rendszerszolgáltatásként:
# Install and start daemon
sudo listent daemon install
# Check daemon status
listent daemon status
# View daemon logs
listent daemon logs
listent daemon logs --since 1h
listent daemon logs --since 30m
listent daemon logs --since "2025-01-15 10:00"
listent daemon logs --format json
listent daemon logs -f # Follow logs in real-time
# Stop daemon process
listent daemon stop
# Uninstall service
sudo listent daemon uninstall
Examples
Statikus vizsgálat
# Basic scan with progress (uses default /usr/bin and /usr/sbin)
listent
# Multi-directory scan with filtering
listent /usr/bin /usr/sbin -e "*security*"
# Find all network-related entitlements
listent -e "*network*" --json | jq '.results[].entitlements'
# Scan quietly (suppress warnings)
listent /usr/bin --quiet
Folyamatfigyelés
# Monitor all processes with 2-second intervals
listent monitor --interval 2.0
# Monitor only security-related entitlements
listent monitor -e "com.apple.security.*"
# Run as daemon with custom config
listent daemon run --config /etc/listent/daemon.toml
Démonkezelés
# Install daemon with default monitoring (requires sudo)
sudo listent daemon install
# Install with custom configuration file
sudo listent daemon install --config /path/to/config.toml
# View recent daemon activity
listent daemon logs --since 1h
# Check if daemon is running
listent daemon status
# Stop and remove daemon
listent daemon stop
sudo listent daemon uninstall
Konfiguráció
Parancssori beállítások
-
Elérési utak: Több elérési út is megadható pozícióargumentumként:
listent /path1 /path2 -
Jogosultságszűrés:
-e "pattern"támogatja a pontos egyezéseket és a globokat (*,?,[]) -
Kimeneti formátum:
--jsonvagy-jstrukturált kimenet esetén az alapértelmezett érték az ember által olvasható -
Csendes mód:
--quietvagy-qletiltja az olvashatatlan fájlokra vonatkozó figyelmeztetéseket -
Monitorozás:
listent monitoraz alparancs valós idejű folyamatfigyelést tesz lehetővé -
Monitorozási időköz:
--interval SECONDSlekérdezési gyakoriság beállítása (0,1-300,0, alapértelmezett: 1,0) -
Démon mód:
listent daemon runháttér démonfolyamatként fut -
Démonkezelés:
listent daemon install|uninstall|status|stop|logs -
Konfigurációs fájl:
--config FILEvagy-c FILEmegadja a démon konfigurációs elérési útját
Jogosultsági minták
# Exact match
-e "com.apple.security.network.client"
# Wildcard patterns
-e "com.apple.security.*" # All Apple security entitlements
-e "*network*" # Any entitlement containing "network"
-e "*.debug.*" # Debug-related entitlements
# Multiple patterns (OR logic)
-e "com.apple.private.*" -e "*.debug.*"
Démonkonfiguráció
A démonbeállítások TOML-konfigurációs fájlon keresztül vannak konfigurálva:
-
Alapértelmezett hely:
~/.config/listent/daemon.toml -
Egyéni elérési út: Használja
--configa következőveldaemon install
A konfiguráció módosításához szerkessze a konfigurációs fájlt, és indítsa újra a démont:
# Edit config
nano ~/.config/listent/daemon.toml
# Restart daemon
listent daemon stop
sudo listent daemon install
Példa démonkonfiguráció:
[daemon]
polling_interval = 1.0
auto_start = true
[monitoring]
path_filters = []
entitlement_filters = ["com.apple.security.*", "*network*"]
[logging]
level = "info"
subsystem = "com.microsoft.sysinternals.listent"
category = "daemon"
Hibaelhárítás
Ctrl+C Nem működik külső terminálokon
Ha a Ctrl+C billentyűkombináció nem szakítja meg a vizsgálatot Terminal.app vagy iTerm2-ben, akkor ez a macOS termináljelek kezelésével kapcsolatos probléma miatt van.
Megkerülő megoldás: A következőt hajtsa végre a listent futtatása előtt:
trap - INT
Ezzel eltávolítja a meglévő megszakítási csapdát, és visszaállítja az alapértelmezett SIGINT-viselkedést. Ezután a Ctrl+C billentyűkombinációnak a szokásos módon kell működnie.
Megjegyzés: Ez a probléma nem érinti a VS Code integrált terminálját.
Kimeneti formátumok
Ember által olvasható (alapértelmezett)
Found 2 binaries with 5 total entitlements:
/usr/bin/security:
com.apple.private.platformsso.security: true
/usr/bin/nc:
com.apple.security.network.client: true
com.apple.security.network.server: true
Scan Summary:
Scanned: 156 files
Matched: 2 files
Duration: 2.34s
JSON formátum
{
"results": [
{
"path": "/usr/bin/security",
"entitlements": {
"com.apple.private.platformsso.security": true
},
"entitlement_count": 1
}
],
"summary": {
"scanned": 156,
"matched": 2,
"duration_ms": 2340,
"skipped_unreadable": 0
}
}
Biztonság
Ha úgy véli, hogy biztonsági problémát talált, jelentse azt a projekt GitHub-adattárában ahelyett, hogy nyilvános problémát nyit meg.
JCD letöltése Linuxhoz és macOS-hez (GitHub)
Fut:
- macOS