Sadly, there is no such thing. The reason for that being because it's extremely difficult to tell with a reasonable degree of accuracy what is benign and what is malicious.
Telling what is good from what is bad is a very general problem that Anti-Virus vendors have been trying to solve for a very long time. I won't judge how successful they were at doing so.
The underlying problem is that exact matches for behavior are extremely rare. Exact matches are only possible for very primitive malware, and even then only malware that has already been encountered in the wild.
What if my scanner is too permissive?
Simply put, it won't detect all the malware. And since you are the defender, defending successfully 99 out of 100 tries just isn't good enough.
What if my scanner is too restrictive/paranoid?
Imagine an anti-virus scanner that would alert you for every file you open, because it contains a 4-byte long match for some malware signature. Your operating system would effectively become unusable. As a result, you would become "numb" to any and all warnings from your scanner, thinking it's going to be yet another false positive.
What about ports specifically?
Since you mentioned port scanning specifically, I want to go into more detail about that. A port scanner is basically an application which tries to connect to many ports and see which ones answer and which ones don't.
More sophisticated port-scanners attempt to communicate with the application behind the port to see what the application does. If the port scanner sends an HTTP request and receives an HTTP response, the application is likely an HTTP server of some sorts.
The reason why this would not work for malware scanning is that such scanners can easily be tricked. An application can just choose not to reply, and the scanner would have to report "Sorry, I don't know what that is". Since this is extremely common behavior, it is likely not suspicious. Reporting it as "potentially dangerous" would lead to a "What if my scanner is too paranoid?"-scenario.