@@ -190,30 +190,28 @@ Examples:
190190}
191191
192192func launchSandboxedHostApp (cmd * cobra.Command , sandboxTool , app string , appArgs []string , dryRun bool ) error {
193- if strings .ContainsAny (sandboxTool , "\x00 \r \n " ) {
194- return fmt .Errorf ("sandbox.tool contains invalid characters" )
195- }
196-
197- sandboxToolPath , err := exec .LookPath (sandboxTool )
198- if err != nil {
199- return fmt .Errorf ("sandbox tool %q not found in PATH: %w" , sandboxTool , err )
193+ if err := validateSandboxTool (sandboxTool ); err != nil {
194+ return err
200195 }
201196
202197 args := append ([]string {app }, appArgs ... )
203198
204- if dryRun {
205- cmd .Printf ("%s %s\n " , sandboxToolPath , strings .Join (args , " " ))
206- return nil
207- }
199+ switch sandboxTool {
200+ case "sbx" :
201+ if dryRun {
202+ cmd .Printf ("sbx %s\n " , strings .Join (args , " " ))
203+ return nil
204+ }
208205
209- // #nosec G204 -- sandboxToolPath is an explicit user-configured executable
210- // selected from allowedSandboxTools. exec.Command does not invoke a shell.
211- launchCmd := exec .Command (sandboxToolPath , args ... )
212- launchCmd .Stdin = os .Stdin
213- launchCmd .Stdout = os .Stdout
214- launchCmd .Stderr = os .Stderr
206+ launchCmd := exec .Command ("sbx" , args ... )
207+ launchCmd .Stdin = os .Stdin
208+ launchCmd .Stdout = os .Stdout
209+ launchCmd .Stderr = os .Stderr
215210
216- return launchCmd .Run ()
211+ return launchCmd .Run ()
212+ default :
213+ return fmt .Errorf ("unsupported sandbox tool %q" , sandboxTool )
214+ }
217215}
218216
219217// listSupportedApps prints all supported apps with their descriptions and install status.
0 commit comments