Reads just the master secret from a hub state file; a missing or invalid file counts as "no password".
String? readHubStateSecret(File file) => readHubState(file).masterSecret;