<div>Hello,<br></div><div>I am a researcher studying security of the Openstack's Policies.<br></div><div>I'm very interested in the Patrole project and I would like to ask you some questions.<br></div><div>In the documentation it is stated that Patrole compares two different types of results:<br></div><div>- an expected one ( derived from oslo.policy )<br></div><div>- an actual one ( derived from an actual request to the API ). <br></div><div>Given that, Patrole's tests can return 3 different values:<br></div><div>1) "Success" if actual result and expected result are both True or both False;<br></div><div>2) "RbacOverPermissionException" if actual result is True but expected result is False;<br></div><div>3) "RbacUnderPermissionException" in the other case.<br></div><div><br></div><div>I can't understand in which cases the tests can return a value different from "Success".<br></div><div>As far as I know, an API call should always be validated internally by oslo.policy's rules, before being allowed. <br></div><div>So, in order for an API call to be accepted, oslo.policy's rules must allow that API call.<br></div><div>It seems to me that the "expected" result ( derived from oslo.policy ) is always included in the actual result.<br></div><div>Hoping that everything I said is correct, I would like to ask you:<br></div><div>What issue is allowing such a strange behavior in Openstack APIs ?<br></div><div>Why the expected results can be different from the actual ones?<br></div><div>Are there publicly available examples showing "Failure" values?<br></div><div>In general, are there any publicly available test cases that i can study to understand this?<br></div><div><br></div><div>I Would like to thank you very much in advance;<br></div><div>Best Regards,<br></div><div><br></div><div>Jacopo<br></div><div><br></div>