In the framework of the ISLM model, a supply shock would be defined as any exogenous force that affects the ability of an economy to produce its natural level of output, this ability is represented by a production function that often relies on available resources and production technology. Therefore, any factors affecting the availability of resources or technology will be considered a supply shock (e.g. Drought and crops).
On the other hand, a demand shock acts on aggregate demand by influencing planned expenditure by economic actors or the amount of real money balances that economic actors desire to hold.
In short, if it affects available production inputs or production technology, it's a supply shock.
Notice that the GDP is just a measure of all goods and services produced in an economy for a given period of time. If you use the expenditure approach to GDP (Y = C + I + G + NX), a supply shock will not immediately act on this formula, rather it affects the formula Y=F(X) (where X is a vector representing production inputs). But note that the two formulas, meaning the two "Y"'s must equal each other, therefore, there will be changes in the first equation to match the second equation at some level of Y. However, you can't differentiate these changes from changes arising due to a demand shock unless you have the whole story. You can't just look at "C" for instance, and assume that any changes in "C" resulted from a supply shock.