refactor: extract ReverseSSHTunnelDetector from Snapshot