スタック・カナリアは、ソフトウェア開発のフィールド上で、バッファオーバーフローの脅威からプログラムを保護するための一手法となるスタック破壊防護(StackSmashingProtector)の一環として活用されます。名前の由来は、「カナリア・トークン」同様、炭鉱でガス漏れを探知するために用いられたカナリア鳥というフレームワークから来ています。
プログラムの保全におけるスタック・カナリアの機能は、ランダムに発生させた「カナリア」なる値をプログラムの内部メモリに仕掛けることです。攻撃者がバッファオーバーフローという手口で、指定されたバッファを超える変更をくわえようとした際、この仕掛けたカナリアの値は変動します。