These are the important points from the Support Article viewed on the top of the screen:
- For fraud protection, your 3-digit security code changes frequently with usage and over time.
- And you can request a new virtual card number if you suspect fraudulent activity.
- If you make two separate purchases, the security code will be different for the second purchase.
A purchase can be made from any device using those numbers. This is far more secure than any credit card that you would use, since the security code changes. Not sure what you mean by "Stealing your virtual card info"? If you give someone the passcode to your device, you are giving them your card info. If someone grabs your phone out of your hand with it unlocked, they will still need to provide your passcode to view your card numbers. If someone currently knows your Passcode, then change it now:
Set a passcode on iPhone - Apple Support