Information
The SYSCAT.STATEMENTS view contains all SQL statements of a compiled package. It is recommended that the PUBLIC role be restricted from accessing this view.
Rationale:
PUBLIC should not have access to the SQL statements of a database package. This could lead to an exploit.
Solution
Perform the following to revoke access from PUBLIC.
Connect to the Db2 database.
db2 => connect to <dbname>
Run the following command:
db2 => REVOKE SELECT ON SYSCAT.STATEMENTS FROM PUBLIC