Leonhard, 30, has a background in Bills defensive coordinator Mike Pettine's system. He started 13 games for the Baltimore Ravens in 2008, then followed Pettine to the New York Jets, where he started 40 games between 2009-2011.
"That's a bonus," Bills head coach Marrone said of Leonhard's ties to Pettine. "I've heard a lot of things. He's been in this system before. But I'll wait to see him out here and see how he reacts to it, because the system has changed."
Leonhard began his career as an undrafted free agent with Buffalo in 2005, playing in 38 games in three seasons.
The Bills now have six safeties on their roster, but Jairus Byrd has been limited in practice with plantar fasciitis in his foot.