Not SCSI specific, but it should work, GNU ddrescue can make an image by doing several passes, skipping bad blocks first, then scrubbing them to get the most of them. Works on Linux, probably also on OSX.
Once you have a raw image you can convert to dmg or whatever and work from that with tools to check the filesystem (sadly TestDisk doesn't know about HFS), or copy files.