Does granting Execute privilege to public results in invalid objects, Iam facing this problem.

grant execute on utl_http from public force;
grant execute on utl_tcp from public force;
grant execute on utl_file from public force;
grant execute on utl_inaddr from public force;
grant execute on utl_smtp from public force;
grant execute on utl_dbws from public force;
grant execute on dbms_lob from public force;
grant execute on dbms_random from public force;
grant execute on dbms_obfuscation_toolkit from public force;
grant execute on dbms_crypto_toolkit from public force;
grant execute on dbms_advisor from public force;
grant execute on dbms_ldap from public force;
grant execute on dbms_ldap_utlfrom public force;
grant execute on dbms_job from public force;
grant execute on dbms_scheduler from public force;
grant execute on dbms_ddl from public force;
grant execute on dbms_epg from public force;
grant execute on dbms_xmlgen from public force;
grant execute on dbms_aw_xml from public force;
grant execute on ctxsys.drithsx from public force;
grant execute on ordsys.ord_dicom from public force;

Any help to resolve this, I have to revoke them for security.