It is a law that declares a named person guilty and punishes them, with no trial at all. The framers hated it so much they banned it twice.
A bill of attainder is a legislative act that singles out a specific person or group, declares them guilty of a crime, and imposes punishment, all without a trial, without a judge, without a jury. The legislature simply names you and condemns you.
It has an ugly English pedigree. Parliament used bills of attainder for centuries to destroy political enemies, stripping them of life, liberty, and property, and even corrupting their bloodline so heirs could not inherit. Attainder comes from a word meaning to stain or taint.
The American framers loathed the device because it collapses the separation of powers entirely. It lets the lawmaking branch act as judge, jury, and executioner against a named individual. So they banned it, and not just once. The Constitution forbids Congress from passing bills of attainder in Article I, Section 9, and forbids the states from doing so in Section 10.