SATA Client based on Arduino

For diagnostic purposes any Arduino can be used, that can communicate (over USB-COM, Ethernet, BT, WLAN...) with the diagnostic program running on the host CPU.

A general spy attack on a PC requires an independent (PCI, CPU...) device, that can obtain bus mastership. Worse than a software installation, the installation of such a device requires physical access to the system bus (PCI slot or additional CPU socket), and means to transfer the information to the outer world. Eventually such modules exist already, for hardware diagnostics, docking stations or ICE, or as special CPU (68000...) emulator/subsystem boards.

The other commonly accessible I/O ports (Ethernet, USB, HD/DVD docking, card readers...) are under control of the CPU and its software. Even a bootable memory stick (or CD...) requires a BIOS firmware, that allows for and executes the bootstrap protocol.