While it is possible (but extremely unpleasant) to fully audit an operating system and the tools to build (compile) it... it is effectively impossible to audit the hardware that is in place.
Take a network card / chip - it will be comparatively easy for the circuitry in that to have its own logic where instead of just dispatching the packets that the overlying operating system sends, it also copies contents of memory (a network card will have Direct Memory Access and is considered a trusted device) it processes them and sends them onto another destination as well. The operating system would never know because the network card would behave exactly as it should.
Of course this is a simplistic example, an external, trusted (hahaha) device could monitor the network traffic. A much more viable alternative is a keyboard that records keystrokes within the chip in the keyboard itself and these keystrokes can be later downloaded, replayed or depending on how clever you are with antennas, wirelessly broadcast them. This functionality already exists with USB dongles inserted between keyboards and computers.