SOLUTION:
To get it running, I had to run the scan once, let it fail, then go to the tools/nuget
folder, and unpack the 'dotnet inspector' .nuget
file that was placed there. It's just a ZIP file, so many tools may be used for that. One important thing is: the directory name must be identical to the name of the file, including version. Just cut off the '.nuget' from the end of file name, and that makes the expected directory name.

PROBLEM DETAILS
Unfortunatelly, the details "why" are lost, even on the highest TRACE log level. It took me several hours of diagnosing and reading BlackDuck's code to find out what's going on, and find out that workaround.
Original exception details were lost, because error handling is flawed in this place and cuts off the exception details, leaving just the generic message text:

After analyzing the code and what was left in the logs and filesystem, I found out that the 'original' exception was thrown from here (because previous line was executed, and following line was not):

and any exception that had propagated from this DetectZipUtil.unzip()
was then later catched and wrapped and re-wrapped several times in new exceptions, and finally landed in that try-catch-glue-strings-together that preserved only the 'message' coming from the last wrapper. Unfortunatelly, I don't have a debugger/etc to catch that, so I don't know what were the original exception's contents.
As you can see that last image, there's an "if folder exists" check, so it turns out that if we manually extract the nuget's contents, it will happily skip (faulty) decompression part, and just use what's in the folder. That's how I got that working.
There's one more interesting thing here: I suppose that's BlackDuck's "inspector", and I suppose that it was working for them, and all other people on the planet, then why not on my machine?
I checked what happens inside that DetectZipUtil.unzip()
:

so.. bummer. It's just standard java utils for ZIP files. It's possible that this path traversal
from line 57 was thrown, but then, it would fail just the same on any other machine. And I guess it doesn't, since I couldn't find no posts about such issue in this scanner.
So either they published a non-standard ZIP file that is not handled well and did not notice this (very improbable I'd say), or it's something with my Java Runtime (uh?).
So I checked what Java Runtime was used, maybe it was old or something. And on this machine, it was running the BlackDuck scanner using openjdk-18.0.2_windows-x64_bin.zip
. So pretty recent. It's possible that it would run just fine if I were using JRE or JDK. Unfortunatelly, I can't switch to them to re-test, and I've already spent more time on tracing this than I could.