Apps are open source, easy to port exporting to them. Plus, if you're using a corporate computer you have no admin rights, you can only use what admins have installed on your computer.
Imagine you're an admin in such a corporate network, wouln't it be as easy to replace keepass exe by a modified one than modify the config file ? After all it's open source, everyone can rebuild a modified exe so you can builtin the trigger (find the trigger test and replace it by a "true" condition). I you can't trust admins, you should not use corporate computer for anything not related to your job. There are mobile apps which can use kdbx files, and you can use keepass on your personnal computer....
That won't solve it. That won't protect form an attacker who can fool a user to use a corrupted version correctly signed. Don't need to be signed with the same cert, only need to be signed with a valid cert.
Using keepass private DB on an admin shared computer isn't a good practice. You shouldn't use keepass to protect against other admins. You can use keepass on that computer to share passwords between admins of equal privileges If you are in need of protection bewin admins maybe think of having an admin computer for each member of your admin team or think about throwable VDI (as soon you close the session the virtual machine is deleted and if you connect again you get a new one)
You should not use keepass on a computer you do not trust. If you don't trust your corporate computer (and admins), don't use your personnal keepass on this computer. On the other side, when you can trust the admin team they can install an enforced configuration of keepass and protect access to the files so any non admin user can't modify them. Plus they can install a policy in the EDR to track access attempts to keepass files so they can send alerts if someone try to break in.
How would you access the database without an app ? Obviously an app is needed, and obviously again somone can temper this application or replace it by a corrupted one. The database is safe until you open it. If anybody steal your database, it can't be opened without your passphrase even using a corrupted version of keepass. The database is unsafe (i.e. the security drop down to the security level of the machine you are using) at the moment you open it. New database format would not solve the problem...
Hi, First I'm not involved in the keepass development, only a user so i don't know about all the mechanics. I wondering why there is not a "not exportable" or "not exportable cleartext" flag inside the database. In a pfx, as an example, you can choose exportable or non exportable keys: why is there not such property buried in the kdbx ? You would be able to turn it on or off at creation time but whatever the config file you would not allow export if the database is flagged non exportable. Of course...