Vyxal, 4 3+1 3 bytes
K⊐∑=∆K= That-1 byte thanks to @Deadcode for telling me to not be an idiot and remember that I added a sum of proper divisors built-in. I actually forgot that I did
This is: does the sum (∑) of the proper divisors of the implicit input (K⊐ -> K includes the input as a divisor, so we need to remove it by returning divisors[:-1] - which is what ⊐∆K does) equal the input itself (=) the now cycled through implicit input (if EOI is reached, and input is taken through arguments, Vyxal resets the input pointer to 0 and continues).