Le sort Find Familiar (PHB p240) :
Votre familier agit indépendamment de vous, mais il obéit toujours à vos ordres. En combat, il lance son initiative et agit à son propre tour. Un familier ne peut pas attaquer mais il peut prendre d'autres mesures comme d'habitude.
Elle stipule qu'un familier ne peut pas attaquer - pas qu'il ne peut pas attaquer sur son action, mais qu'il ne peut pas attaquer du tout, même en tant qu'attaque d'opportunité. La seule exception à cette règle est lorsque le lanceur de sorts utilise le familier pour effectuer une attaque au toucher en utilisant la réaction du familier :
[...] il doit utiliser sa réaction pour délivrer le sort lorsque vous le lancez. Si le sort nécessite un jet d'attaque, vous utilisez votre modificateur d'attaque pour ce jet.
Dans le prolongement du commentaire ci-dessous (merci de voter pour !), le trait de classe Pacte de la chaîne des sorciers a également une autre exception (PHB p.107) :
De plus, lorsque vous effectuez l'action d'attaque, vous pouvez renoncer à l'une de vos propres attaques pour permettre à votre familier d'effectuer une attaque de son côté.
Cela signifie que le sorcier renonce à une attaque qu'il obtiendrait en prenant l'action d'attaque à son tour (il peut en avoir plus d'une, par exemple en étant multi-classe avec un combattant et en obtenant une attaque supplémentaire), et à la place le familier attaque. Le familier attaque immédiatement, à l'initiative du sorcier, en utilisant la réaction du familier.
Cela ne permet toujours pas au familier de faire des attaques d'opportunité.