Also, what are some programs (both App Store and non App Store) that should be installed to keep the computer safe from being monitored/hacked?
Security is a big business and there are always two or more opinions on this.
There are many built in security tools in MacOS that you can discover like FileVault, (Application) Firewall or User Settings and a lot of things doing their job more under the hood like XProtect, System Integrity Protection or Gatekeeper. Some security apps are a little hidden like pfctl and will get discovered, if you really need and search them through the man pages in Terminal.
I think, there are great extra tools for analyzing (Wireshark, Private Eye) or blocking (Murus, Little Snitch) available. There are also some tools that claim that they give you additional security and are doing exactly the opposite, like invading and stealing privacy or installing as a tiny little botnet.
Anti-Virus does have some importance, if you exchange files a lot with windows users and want to make sure, that you don't pass them on.
For new ransomware like KeRanger it's more important to find the right strategy than a special app, that it doesn't hit you so hard, if it would really happen. For anything else that's the same with the strategy and that depends absolutely on your individual habits of computing.
As a rule of thumb, I'd say the more third party apps you install, the more risk is there. I.e. Flash, Java, Silverlight etc. do have frequent security updates and are more vulnerable or at least more targeted than others. If you can leave those critical apps away, if not, that's another reason to think about an adequate backup strategy.
For a debate about security, you should better hook into an existing thread or create another thread with a more meaningful title, that one can find your question.
What is the fastest way to do that for all non App Store programs?
As the others mentioned, most common apps for Mac do have automatic update options nowadays. Years ago before the Mac App Store days I tried such update tools, that were capable of updating anything. At least they claimed, that they could do that. After breaking functionality of apps or erroneously updating to newer versions I dislike, I decided to take the manual approach again. Again, that was years ago and I tried none of the solutions listed for Desktop Apps.
Then, besides the native or well ported binary Mac apps, there is the whole world of UNIX apps, one can find as source code and then compile for Macs. Years ago I used package managers to install that apps. Some are quite recent and still active, some have become a little neglected over time. They are a good starting point to install and update from source in an easy way and those folks maintaining those packages and package managers are doing a fantastic job in porting incompatible sources to code that is working on a Mac. Nevertheless, today I tend to compile software from source by myself, if there is not too much effort for porting. So I can learn much more and know where I can find all components, etc. Homebrew seems to me one of the most recent and widely supported package managers today. MacPorts is a well known source, too. Fink was once my favorite, but the GUI Fink Commander doesn't seem to be maintained anymore so much today. Many package systems are providing access to very different apps, versions, builds, etc., so they can all be valuable, depending on your needs.
Besides the package managers for UNIX apps there is a growing number of package managers for developers. Those managers are often called dependency managers. Especially for web development, it's frameworks and languages, those managers are and will get more and more important, as there are new versions of frameworks available in fast cycles. At the moment I evaluate different ways to maintain everything I need, but haven't found some rock solid approach yet. Here I just link some well known apps, most of them PHP and Javascript centric. I'm sure that there are many more for all kinds of programming languages or specific development frameworks out there. Would be interesting to list all known installer and maintaining tools (e.g. for Ruby on Rails, Python, Java, C, etc.)
The following list is far away from being complete, but gives you an impression. As an average user that does just some browsing, writing and sending emails you probably won't have any need for any of these apps, but yes, they do exist.
Update Desktop Apps:
Mac Update Desktop
Mac Informer client
Appversion
Software.com for Mac
Zero Install
Homebrew Cask
Install Desktop Apps:
Get Mac Apps
macapps.link
Install and Update UNIX like Apps:
Homebrew
MacPorts
Pallet (GUI for MacPorts)
PortAuthority (GUI for MacPorts)
Fink
FinkCommander (GUI for Fink)
pkgsrc
GUIGNA (GUI project for Homebrew, MacPorts, Fink and pkgsrc)
Rudix
Nix
Install and Update Web related packages:
npm
ndm (GUI for npm)
Bower
Pak
Duo
Yarn
Pear
Composer
[doublepost=1485579729][/doublepost]
There's really no way of knowing if a software developer's download site has been compromised or not at any given moment.
I guess what
@Jessica Lares wanted to tell is about the
vulnerability of Sparkle, a popular framework that updates many different apps. That's not just a problem of a single site. And old apps are especially affected, if they still use old protocols for their update task.