Accurate and automatic detection of clouds in satellite scenes is a key issue for a wide range of remote sensing applications. With no accurate cloud masking, undetected clouds are one of the most significant source of error in both sea and land cover biophysical parameter retrieval. Sensors with spectral channels beyond 1 um have demonstrated good capabilities to perform cloud masking. This spectral range can not be exploited by recently developed hyperspectral sensors that work in the spectral range between 400- 1000 nm. However, one can take advantage of their high number of channels and spectral resolution to increase the cloud detection accuracy, and to describe properly the detected clouds (cloud type, height, subpixel coverage, could shadows, etc.) In this paper, we present a methodology for cloud detection that could be used by sensors working in the VNIR range. First, physically-inspired features are extracted (TOA reflectance and their spectral derivatives, atmospheric oxygen and water vapour absorptions, etc). Second, growing maps are built from cloud-like pixels to select regions which potentially could contain clouds. Then, an unsupervised clustering algorithm is applied in these regions using all extracted features. The obtained clusters are labeled into geo-physical classes taking into account the spectral signature of the cluster centers. Finally, an spectral unmixing algorithm is applied to the segmented image in order to obtain an abundance map of the cloud content in the cloud pixels. As a direct consequence of the detection scheme, the proposed system is capable to yield probabilistic outputs on cloud detected pixels in the image, rather than flags. Performance of the proposed algorithm is tested on six CHRIS/Proba Mode 1 images, which presents a spatial resolution of 32 m, 62 spectral bands with 6-20 nm bandwidth, and multiangularity.