If you have already run some marketing activity in Marketo and you are backtracking that process, then you should consider the following:
For one or a few leads...
Type in the name of the email (or any unique identifiable info) whose duplicate records you know exist. Then search that email in the Lead Database, double-click either record & check the activity logs for something you know should have been executed on this person's record.
For lots of leads...
...you will need to specify a little more info.
If you are just wondering in general, then you should still refer to the Activity Logs of any lead. Marketo can process leads in numerous ways, so it depends on how the information gets associated. For example, forms & LP activity will be associated values of the person viewing that webpage, so it depends on their location, IP address, and stored cookies on their browser.
Is these programs run smart campaigns or batch campaigns? If it is smart campaigns, I believe the lead/contact that was most recently updated/activity was logged, will get the attribution. If batch, both leads/contacts will get attribution.
I think you'll need to provide some additional info here. What kind of scenario for attribution are you looking at?
For duplication, I think you can try TIBCO Clarity. It has a really powerful and robust de-duplication function.
You can customize your match strategies by columns or by swappable columns or by columns against to a thesaurus table, and then use them to discover duplicate records from any incomplete or partially similar records, even from records in different languages.
In addition, It has deep integration with both Salesforce and Marketo. It can help you directly update and remove duplication data in your salesforce and Marketo account.
you can try TIBCO Clarity for free. https://clarity.cloud.tibco.com/landing/index.html
I suspect that the answer is that whichever record was the member of the program will get the attribution.
If the program smart list qualified the "Lead" records, then it'll get the attribution - same for the Contact records. It's totally possible that both of the records (the Lead and Contact!) were allowed into the program in which case attribution will be tagged for both records.
Attribution rules hate duplicates because it causes a havoc in the numbers. It's safe to assume that no attribution algorithm in the world is going to be able to gracefully handle duplicates.
Probably a better question is what happens when the duplicates are merged - and whether the attribution programs are handled correctly in that case. I'd love to hear any insights about what Marketo does in this case.