Gas theft of restaurants is a major concern in the gas industry, which causes revenue losses for gas companies and endangers the public safety seriously. Traditional methods of gas theft detection highly rely on active human efforts that are extremely ineffective. Thanks to the gas consumption data collected by smart meters, we can devise a data-driven method to tackle this issue. In this paper, we propose a gas-theft detection method msRank to discover suspicious restaurant users when only scarce labels are available. Our method contains three main components: 1) data pre-processing, which filters reading noises and excludes data-missing or zero-use users; 2) normal user modeling, which quantifies the self-stable seasonality of normal users and distinguishes them from unstable ones; and 3) gas-theft suspect detection, which discovers gas-theft suspects among unstable users by RankNet-based suspicion scoring on extracted deviation features. By using detected normal users as negative samples to train RankNet, the component of normal user modeling and that of gas-theft suspect detection are seamlessly connected, overcoming the problem of label scarcity. We conduct extensive experiments on three real-world datasets, and the results demonstrate advantages of our approach. We have deployed a system GasShield which provides a gas-theft suspect list weekly for a gas group in northern China.