Einar
11/19/2025, 12:34 PMichorcna modules are problematic, because the software (not the module) parses completely untrusted input (I wrote to the Ha lab with the details), but that leaves the question: unless there's an input to the module, you're fairly limited to what you can do in the configuration. So, in case I have a process that accepts an optional parameter that's normally defined in args, how can I manipulate it? (reason: restrict what's sent to ichorCNA to mitigate the problem)Arthur
11/19/2025, 12:41 PMargs using ext.args in a custom config for that process.Einar
11/19/2025, 12:51 PMeval(parse(text=etcetc)) which means tha anything can be passed to it (system("cat /etc/passwd") or system("rm -f /some/file") , so I want to "assemble" the string I send to the code:
e.g., instead of taking "paste0('chr', 1:22)` ideally I should handle params.chromosomes and build that string myself (enforcing what can be supplied as input to that CLI parameter)Einar
11/19/2025, 12:53 PMSimon Pearce
11/19/2025, 1:59 PMEinar
11/19/2025, 2:22 PMSimon Pearce
11/19/2025, 2:26 PMArthur
11/19/2025, 2:51 PMargs.
There is fundamentally nothing stopping someone passing something like ; rm -rf /; to args afaik? I think for some modules this would probably error because args is in the middle of a command and it breaks the command, but for others it will likely runArthur
11/19/2025, 2:54 PM$(rm -rf /) to most modules as ext.args you'll be able to make it run. You might be able to put any malicious code you like in that subcommand too?Simon Pearce
11/19/2025, 3:30 PMbeforeScript to do what you likeEinar
11/20/2025, 6:46 AM