The 25-year-old Anderson played six games for Boston last year and went 1 for 8. He hit .250 with nine homers and 59 RBIs in 111 games for Triple-A Pawtucket and Columbus.
Anderson was traded to Cleveland on July 31, and the Indians sent him to Arizona in the December deal that sent pitching prospect Trevor Bauer to Cleveland. The Diamondbacks designated Anderson for assignment on Jan. 24.
The White Sox announced the move on Friday, filling their 40-man roster.