For the cupcakes: Preheat the oven to 350 degrees F. Line 2 cupcake tins with 18 cupcake liners.
Mix the flour, cocoa powder, baking soda and salt in medium bowl. Set aside.
With an electric mixer on medium speed, beat the butter and sugar in a large bowl until light and fluffy, about 5 minutes. One at a time, beat in the eggs. Mix in the buttermilk, food coloring, vanilla and vinegar. On low speed, gradually beat in the flour mixture until just blended (do not overbeat!). Spoon the batter into the cupcake liners, filling them two-thirds full.
Bake until an inserted toothpick comes out clean, 12 to 15 minutes. Cool the cupcakes in the tins on a wire rack for 5 minutes. Remove from the tins; cool completely.
Remove part of the center of each cupcake, going in only halfway.
For the frosting: In a stand mixer, whip the butter until light and creamy. Slowly whisk in the confectioners' sugar, one cup at a time, scrapping down the bowl as needed. Add the cream, vanilla and salt and whisk until light and fluffy.
Transfer the frosting to a piping bag. Pipe frosting into the hollowed out center of each cupcake and then swirl around to cover the top. Arrange white cotton candy in a puffy bunch on top of the cupcakes. Top with a black fondant spider.