Oakland announced the moves Friday, a day after releasing wide receiver Seth Roberts.
Richards made a career-high 12 starts and played 15 games last season for the Falcons after spending 2015 to 2017 with the Patriots before being traded. He had 39 tackles, 27 solo, and three passes defensed.
Barrett appeared in two games for Detroit in 2017 and spent the rest of '17 and most of last year on the Lions' practice squad. He then played with the San Diego Fleet of the Alliance of American Football.
In eight games with the Fleet, he had 15 tackles and two sacks.