Is it safe to send HMAC and plaintext in the same message? If a certain protocol sends $plaintext$ and its corresponding HMAC then is such a protocol prone to key extraction attacks ? Intuitively , HMAC is $ciphertext$ generated from $plaintext$, (although not an encryption of plaintext ), so the only secret being $key$. Will sending both of them together weaken the protocol ?
If a certain protocol sends plaintext and its corresponding HMAC then is such a protocol prone to key extraction attacks?


No, a HMAC uses a cryptographically secure, one-way hash underneath. That means that it should be impossible to find the input as long as the input cannot be brute forced. If you use a key of the right size (identical to the hash output size) and with enough entropy then the key cannot be found, even if the plaintext is available to an attacker.


  Intuitively , HMAC is ciphertext generated from plaintext, (although not an encryption of plaintext), so the only secret being key.


An authentication tag is not the same thing as ciphertext. But even with known plaintext &amp; authentication tag (or ciphertext) the key should not be found.

Of course, an attacker should also not be able to create a new plaintext / authentication tag pair even if the attacker knows multiple other such pairs. Therefore HMAC also protect against e.g. length extension attacks, for which knowledge of the key is not required.


  Will sending both of them together weaken the protocol?


It is nowadays common to HMAC the ciphertext (encrypt-then-MAC), for instance to avoid padding oracle attacks on CBC mode encryption. So for the HMAC, the ciphertext is the plaintext in such a scheme. If knowing the plaintext / authentication tag is a vulnerability then many protocols are broken.

Commonly cryptographic schemes should even be secure if the attacker chooses the plaintext (CPA secure).