├── chromeextensionslist.sh ├── extensionlistEA.sh ├── extensionslist.sh └── systemextensions.sh /chromeextensionslist.sh: -------------------------------------------------------------------------------- 1 | find ~/Library/Application\ Support/Google/Chrome/Default/Extensions -type f -name "manifest.json" -print0 | xargs -I {} -0 grep '"name":' "{}" | uniq 2 | -------------------------------------------------------------------------------- /extensionlistEA.sh: -------------------------------------------------------------------------------- 1 | 2 | #!/bin/sh 3 | # 4 | # List All Credential Providers 5 | credentialprovider=`pluginkit -mAvvv -p com.apple.authentication-services-credential-provider-ui | grep Path | grep -o '/.*'`;echo "$credentialprovider" 6 | # 7 | # List Safari Extensions 8 | safariextensions=`pluginkit -mAvvv -p com.apple.Safari.web-extension | grep Path | grep -o '/.*' `;echo "$safariextensions" 9 | # 10 | # List SSO Extensions 11 | ssoextensions=`pluginkit -mAvvv -p com.apple.AppSSO.idp-extension | grep -v /System | grep Path | grep -o '/.*' `;echo "$ssoextensions" 12 | # 13 | #List System Extensions 14 | systemextensions=`defaults read /Library/SystemExtensions/db.plist | grep originPath | cut -d '"' -f2`;echo "$systemextensions" 15 | -------------------------------------------------------------------------------- /extensionslist.sh: -------------------------------------------------------------------------------- 1 | pluginkit -mAvvv -p com.apple.authentication-services-credential-provider-ui | grep Path | grep -o '/.*' 2 | pluginkit -mAvvv -p com.apple.Safari.web-extension | grep Path | grep -o '/.*' 3 | pluginkit -mAvvv -p com.apple.AppSSO.idp-extension | grep -v /System | grep Path | grep -o '/.*' 4 | defaults read /Library/SystemExtensions/db.plist | grep originPath | cut -d '"' -f2 5 | -------------------------------------------------------------------------------- /systemextensions.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # Recurse through specified folder to find all '.systemextension' 5 | # folders and check whether the system extension is enabled via systemextensionctl 6 | # 7 | # $1 - Folder to recurse through, default $PWD 8 | # 9 | # Examples: 10 | # ./script.sh 11 | # ./script.sh /Applications 12 | # 13 | recurse() { 14 | # Use provided folder to recurse, if not specified use current dir 15 | curdir=$(pwd) 16 | if [[ -n $1 ]]; then 17 | curdir=$1 18 | fi 19 | 20 | # Get the list of enabled system extension 21 | enabled_sysext=$(systemextensionsctl list | grep 'activated enabled' | awk '{print $4}') 22 | 23 | # Looping through all directory with '.systemextension' in it 24 | OLD_IFS=$IFS 25 | IFS=$'\n' 26 | for dir in $(find $curdir -type d -name '*.systemextension'); do 27 | # Getting the app name and system extension name 28 | app_name=$(echo $dir | sed -E 's/.*\/([^/]+)\.app.*/\1/g') 29 | sysext_name=$(echo $dir | sed -E 's/.*\/([^/]+)\.systemextension$/\1/g') 30 | 31 | # Check whether the app system extension is loaded 32 | echo $enabled_sysext | grep $sysext_name 2>&1 >/dev/null 33 | if [[ $? == 0 ]]; then 34 | echo "$app_name | $sysext_name (loaded)" 35 | else 36 | echo "$app_name | $sysext_name (not loaded)" 37 | fi 38 | done 39 | IFS=$OLD_IFS 40 | 41 | exit 0 42 | } 43 | 44 | recurse "$@" 45 | --------------------------------------------------------------------------------