If you are building a managed package, or operating in a context where FLS and CRUD enforcement is required, which seems to be the case because you are using a static analyzer that enforces it, you must write code to validate the user's permission to perform DML operations and to access specific schema elements.
The approach to doing so in Apex is covered ...
In our experience:
Checkmarx does actually have a limit (500 or there abouts) for any one of the types of security issue that it will find (we know this because we have 1000s of CRUD/FLS false positives).
Checkmarx cannot detect CRUD/FLS enforcement that is done earlier in a code flow but via a separate method call (hence our 1000s of false positives) but ...
Below query will help you to get the required details. You need to add your apex code on the top of that. Example - to find hidden fields you may have list of all available fields and subtracted by below query field list
SELECT Parent.Profile.Name, Field, PermissionsEdit, PermissionsRead, SobjectType
Please be aware, it'll ...