One possible workaround would be to use the endpoint "https://graph.microsoft.com/v1.0/reports/security/getAttackSimulationSimulationUserCoverage":
Example response value:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.attackSimulationSimulationUserCoverage)",
"value": [
{
"simulationCount": 27,
"latestSimulationDateTime": "2024-06-18T...",
"clickCount": 11,
"compromisedCount": 7,
"attackSimulationUser": {
"userId": "xxxx-xxxxx-xx-x-xxxxxx",
"displayName": "Jane Doe",
"email": "******@fcb-solutions.de"
}
},
{
"simulationCount": 62,
"latestSimulationDateTime": "2024-06-18T...",
"clickCount": 27,
"compromisedCount": 23,
"attackSimulationUser": {
"userId": "xxxx-xxxxx-xx-x-xxxxxx",
"displayName": "John Doe",
"email": "******@fcb-solutions.de"
}
},
...
]
}
One would need to create a snapshot of the current numbers to use as an offset for future simulations. With that offset, one will know which user recently got compromised by a simulation.
From my experience, that endpoint doesn't have a limitation of simulation.
BEWARE though: If you want to exclude a simulation from this data, you must exclude the simulation and only then delete it. Otherwise, the numbers in this result are not adjusted.