Does a Node connect to all the peers in the network? Or just a few?
If its just a few, how many? If its just a few, what about if all of those nodes in the list are malicious?
A node is only called a peer if you're connected to it. So by definition you are always connected to all your peers.
I assume you're asking whether you're connected to every node in the network. The answer is no; most Bitcoin node software implementations only connected to around 8 others.
What happens if one is malicious? Bitcoin is trust-minimized by design. This means that it verifies to the extent possible whether incoming data is correct. Where this isn't possible, it uses a objective and unforgeable metric (proof of work) to select the winner in case there are multiple acceptable possibilities (blocks).
For most types of attacks, the assumption is that at least one of your peers is honest. If that's the case, you'll eventually learn the best valid version of history the rest of the network learns too. If all your peers are malicious, they may prevent you from seeing actual history - though it is very hard even in this case to forge and invalid version of history and convince your node of that.
The default number is 8 peers, but you can change it on the configurations. If a peer starts acting maliciously, the node will block it and find another one.