The point was made that a blockable self-curse card of the Attack type would be unreasonably well-countered by Reactions. Denying the card the Attack type drastically reduces the number of cases where the card is completely invalidated.
I think the definition of an attack should be "any kind of card that has an usually undesirable effect on your opponents, where 'usually' means 'ignoring interaction between kingdom cards'". Council Room, Masquerade and Possession only give a negative effect provided certain other kingdom cards (like Pillage, Militia, Baker), and all attacks are only non-negative on boards with certain other cards (reactions, draw-up-to, etc).
Keep in mind that only 3 of oh so many Dominion cards can actually block your card. Ignoring them, your card will always harm your opponents, and this is enough for an attack type. Every card can live with one or two other cards that make it less desirable - heck, that's part of what makes Dominion interesting. If you really want to improve its interaction with blocking reactions, tie the reveal-benefit to the curse gaining, like Soothsayer does. It won't solve Watchtower, but gee, 1 of 205 cards? Sounds fine to me.
Lighthouse and Moat are two cards which invalidate this card in an uncommonly strong way - to the point of essentially being as strong as an attack reflection, which are discouraged from being fan-made because the threat of them invalides attacks and therefore themselves altogether, reducing the board size by 2. Watchtower and Trader can't be helped (without going to great lengths in the wording at least), but that's no reason to give it four unreasonably strong counters instead of two. Every card that nullifies the curse gain invalidates BSoL altogether.
Moat is not an unreasonably strong counter to your card. It's just a counter. Just because your card self-curses, it is NOT attack reflection. Your card self-curses whether or not another player blocks the attack portion. The self-curse is a function of YOUR card, not the reaction. Likewise for Trader, Watchtower and Lighthouse.
Your stated goal for the card is to make self-cursing viable. You do this by giving yourself a chance to get good treasure out of having Curses in hand. If you think that the card is
so weak that you have to remove the ability for reactions to deal with it (note: reactions that usually aren't even on the board, and even then may not be in their hand when you play the attack!), then you should probably change your card. Other attack cards have counters too. Moat makes all attacks weaker. Fixed draw counters discard attacks. Those cards are still fine.
I mean, consider some other attacks.
If my opponent has a Moat, my Sea Hag is completely dead. It cost me an action and it literally does nothing. Is Moat an unreasonably strong counter to Sea Hag?
If my opponent has a Trader, my Mountebank gives them TWO SILVER and only give mes +$2. A terminal +$2 card is probably not even worth $2. Is Trader an unreasonably strong counter to Mountebank?
The answer is no in both cases. These are strong counters, but they are not unreasonable.
Now consider your card. If other players block the Curse, you still get to gain a Treasure. Yeah it sucks that you got a Curse and your opponents didn't... but man, that was kind of your own fault for buying a card that gives you Curses. If you can't accept that, you shouldn't have bought it. Is Moat a strong counter? Sure. Is it unreasonable? Not really.
OK, here's an important point that hasn't been brought up yet. Let's suppose that Moat, Lighthouse, Watchtower and Trader ARE all unreasonably strong counters to BSoL that completely invalidate it. If it such a big deal that you can't let Moat and Lighthouse block the attack, why are you letting Watchtower and Trader do it? What you are effectively saying is, "Watchtower and Trader have a broken interaction with this card, but it is too awkward to fix it so I'll just let it be." No, if it is really so problematic, you need to deal with it for all cases, not just the ones that are easy to address.