Conventions vary, and I’m not sure what style guide CNN uses. (Probably either AP or, more likely, they have their own.)
But “anti-sex slavery hero” can be read as saying the person is chaste hero to slaves. I’m presuming the hero battles the trade in sex slaves, and that being so it is most important to hyphenate “sex-slavery,” as that is the core of the compound. “Anti-sex-slavery hero” is probably the best way to hyphenate it. You can get away with “anti sex-slavery hero,” as that is also clear, but the anti, being a prefix, really shouldn’t stand alone. My reading of Chicago is that reference would recommend “anti-sex-slavery hero” (see 7.83, which uses the example of “late nineteenth-century,” but “mid-nineteenth-century").