dsherret / dax

Cross-platform shell tools for Deno and Node.js inspired by zx.
MIT License
964 stars 33 forks source link

Suggestion: Automatically request broader permissions #183

Closed RuiNtD closed 2 months ago

RuiNtD commented 9 months ago

Hello. Instead of dax asking permission to read every single possible filename in every single directory in path, it would be nice if dax could automatically request read permissions in each path directory.

Before

await $`node -v`;
Long output ``` ✅ Granted env access. ✅ Granted read access to . ✅ Granted read access to "C:\pathdir\node.COM". ✅ Granted read access to "C:\pathdir\node.EXE". ✅ Granted read access to "C:\pathdir\node.BAT". ✅ Granted read access to "C:\pathdir\node.CMD". ✅ Granted read access to "C:\pathdir\node.VBS". ✅ Granted read access to "C:\pathdir\node.VBE". ✅ Granted read access to "C:\pathdir\node.JS". ✅ Granted read access to "C:\pathdir\node.JSE". ✅ Granted read access to "C:\pathdir\node.WSF". ✅ Granted read access to "C:\pathdir\node.WSH". ✅ Granted read access to "C:\pathdir\node.MSC". ✅ Granted read access to "C:\pathdir\node.CPL". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.COM". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.EXE". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.BAT". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.CMD". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.VBS". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.VBE". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.JS". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.JSE". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.WSF". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.WSH". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.MSC". ✅ Granted read access to "C:\Program Files\PowerShell\7\node.CPL". ✅ Granted read access to "C:\WINDOWS\system32\node.COM". ✅ Granted read access to "C:\WINDOWS\system32\node.EXE". ✅ Granted read access to "C:\WINDOWS\system32\node.BAT". ✅ Granted read access to "C:\WINDOWS\system32\node.CMD". ✅ Granted read access to "C:\WINDOWS\system32\node.VBS". ✅ Granted read access to "C:\WINDOWS\system32\node.VBE". ✅ Granted read access to "C:\WINDOWS\system32\node.JS". ✅ Granted read access to "C:\WINDOWS\system32\node.JSE". ✅ Granted read access to "C:\WINDOWS\system32\node.WSF". ✅ Granted read access to "C:\WINDOWS\system32\node.WSH". ✅ Granted read access to "C:\WINDOWS\system32\node.MSC". ✅ Granted read access to "C:\WINDOWS\system32\node.CPL". ✅ Granted read access to "C:\WINDOWS\node.COM". ✅ Granted read access to "C:\WINDOWS\node.EXE". ✅ Granted read access to "C:\WINDOWS\node.BAT". ✅ Granted read access to "C:\WINDOWS\node.CMD". ✅ Granted read access to "C:\WINDOWS\node.VBS". ✅ Granted read access to "C:\WINDOWS\node.VBE". ✅ Granted read access to "C:\WINDOWS\node.JS". ✅ Granted read access to "C:\WINDOWS\node.JSE". ✅ Granted read access to "C:\WINDOWS\node.WSF". ✅ Granted read access to "C:\WINDOWS\node.WSH". ✅ Granted read access to "C:\WINDOWS\node.MSC". ✅ Granted read access to "C:\WINDOWS\node.CPL". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.COM". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.EXE". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.BAT". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.CMD". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.VBS". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.VBE". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.JS". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.JSE". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.WSF". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.WSH". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.MSC". ✅ Granted read access to "C:\WINDOWS\System32\Wbem\node.CPL". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.COM". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.EXE". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.BAT". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.CMD". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.VBS". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.VBE". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.JS". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.JSE". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.WSF". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.WSH". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.MSC". ✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0\node.CPL". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.COM". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.EXE". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.BAT". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.CMD". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.VBS". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.VBE". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.JS". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.JSE". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.WSF". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.WSH". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.MSC". ✅ Granted read access to "C:\WINDOWS\System32\OpenSSH\node.CPL". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.COM". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.EXE". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.BAT". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.CMD". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.VBS". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.VBE". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.JS". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.JSE". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.WSF". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.WSH". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.MSC". ✅ Granted read access to "C:\ProgramData\chocolatey\bin\node.CPL". ✅ Granted read access to "C:\Program Files\dotnet\node.COM". ✅ Granted read access to "C:\Program Files\dotnet\node.EXE". ✅ Granted read access to "C:\Program Files\dotnet\node.BAT". ✅ Granted read access to "C:\Program Files\dotnet\node.CMD". ✅ Granted read access to "C:\Program Files\dotnet\node.VBS". ✅ Granted read access to "C:\Program Files\dotnet\node.VBE". ✅ Granted read access to "C:\Program Files\dotnet\node.JS". ✅ Granted read access to "C:\Program Files\dotnet\node.JSE". ✅ Granted read access to "C:\Program Files\dotnet\node.WSF". ✅ Granted read access to "C:\Program Files\dotnet\node.WSH". ✅ Granted read access to "C:\Program Files\dotnet\node.MSC". ✅ Granted read access to "C:\Program Files\dotnet\node.CPL". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.COM". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.EXE". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.BAT". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.CMD". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.VBS". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.VBE". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.JS". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.JSE". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.WSF". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.WSH". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.MSC". ✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\node.CPL". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.COM". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.EXE". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.BAT". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.CMD". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.VBS". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.VBE". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.JS". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.JSE". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.WSF". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.WSH". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.MSC". ✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin\node.CPL". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.COM". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.EXE". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.BAT". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.CMD". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.VBS". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.VBE". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.JS". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.JSE". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.WSF". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.WSH". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.MSC". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin\node.CPL". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\node.COM". ✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\node.EXE". ✅ Granted run access to "C:\Users\ethan\scoop\apps\nodejs\current\node.EXE". v20.8.0 ```

After

await $`node -v`;
✅ Granted env access.
✅ Granted read access to <CWD>.
✅ Granted read access to "C:\pathdir".
✅ Granted read access to "C:\Program Files\PowerShell\7".
✅ Granted read access to "C:\WINDOWS\system32".
✅ Granted read access to "C:\WINDOWS".
✅ Granted read access to "C:\WINDOWS\System32\Wbem".
✅ Granted read access to "C:\WINDOWS\System32\WindowsPowerShell\v1.0".
✅ Granted read access to "C:\WINDOWS\System32\OpenSSH".
✅ Granted read access to "C:\ProgramData\chocolatey\bin".
✅ Granted read access to "C:\Program Files\dotnet".
✅ Granted read access to "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin".
✅ Granted read access to "C:\Program Files\Docker\Docker\resources\bin".
✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current\bin".
✅ Granted read access to "C:\Users\ethan\scoop\apps\nodejs\current".
✅ Granted run access to "C:\Users\ethan\scoop\apps\nodejs\current\node.EXE".
RuiNtD commented 9 months ago

This could also be controllable via a setting (like setBroadReadPerms or something), so that any application that accesses the internet could opt out of this functionality, for the sake of it being clear what the app does (which is the whole point of Deno's permission system),