Sensor networks are prone to failures and are hard to debug. This is particularely true for failures caused by incorrect interaction of multiple nodes. We propose a mechanism called passive distributed assertions (PDA) that allows developers to detect such failures and provides hints on possible causes. PDA allow a programmer to formulate assertions over distributed node states using a simple declarative language, causing the sensor network to emit information that can be passively collected (e.g., using packet sniffing) and evaluated to verify that assertions hold. This passive approach allows us to minimize the interference between the application and assertion verification. Further, our system provides mechanisms to deal with inaccurate traces that result from message loss and synchronization inaccuracies. We implement PDA on the BTnode platform and evaluate it using an extensive case study.