It’s actually not easy to ensure that an LLM will cite a correct source, in the same way it’s not easy to ensure that it will provide accurate information. It’s based on token probability, not deterministic lookups of “this data came from this source.” It could entirely make something up, then write “Source:” and then probabilistically write “Wikipedia” because those tokens commonly follow those for “Source.”
If you have an AI bot that looks up information in real time, then that would be easy. But for a trained LLM, the training process is highly destructive. Original information is not preserved except in relationships based on probability.