Team Ai
Apppublic

Deeps-2005/java-ssl-scanner

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
AutoPatcher$SecurityPatchVisitor.class223 linesDownload Raw Back to java_analyzer
1����A[AutoPatcher21com/github/javaparser/ast/visitor/ModifierVisitor<init>()V	3	patchLogsLjava/util/Map;4java/lang/IntegervalueOf(I)Ljava/lang/Integer;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;5visitp(Lcom/github/javaparser/ast/expr/MethodCallExpr;Ljava/lang/Object;)Lcom/github/javaparser/ast/visitor/Visitable;6 !"-com/github/javaparser/ast/expr/MethodCallExprgetBegin()Ljava/util/Optional;$%&apply()Ljava/util/function/Function;7()*+,java/util/Optionalmap3(Ljava/util/function/Function;)Ljava/util/Optional;8(./0orElse&(Ljava/lang/Object;)Ljava/lang/Object;9234intValue()I10678getNameAsString()Ljava/lang/String;:setProperty11<=>?@java/lang/Stringequals(Ljava/lang/Object;)Z12BCDgetArguments&()Lcom/github/javaparser/ast/NodeList;13FGHI4"com/github/javaparser/ast/NodeListsize14KLMgetArgument.(I)Lcom/github/javaparser/ast/expr/Expression;15OPQRS)com/github/javaparser/ast/expr/ExpressionisStringLiteralExpr()Z16OUVWasStringLiteralExpr4()Lcom/github/javaparser/ast/expr/StringLiteralExpr;17YZ[\80com/github/javaparser/ast/expr/StringLiteralExprgetValue^javax.net.debug`com.ibm.jsse2.renegotiateb*jdk.tls.rejectClientInitiatedRenegotiationdefmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String;18hijkl AutoPatcher$SecurityPatchVisitorlogPatch(ILjava/lang/String;)VnsetDefaultHostnameVerifier19OpqSisLambdaExpr20OstuasLambdaExpr-()Lcom/github/javaparser/ast/expr/LambdaExpr;21wxyz{)com/github/javaparser/ast/expr/LambdaExprgetBody,()Lcom/github/javaparser/ast/stmt/Statement;22}~�S(com/github/javaparser/ast/stmt/StatementisExpressionStmt23}���asExpressionStmt1()Lcom/github/javaparser/ast/stmt/ExpressionStmt;24�����-com/github/javaparser/ast/stmt/ExpressionStmt
getExpression-()Lcom/github/javaparser/ast/expr/Expression;25O��SisBooleanLiteralExpr26O���asBooleanLiteralExpr5()Lcom/github/javaparser/ast/expr/BooleanLiteralExpr;27���\S1com/github/javaparser/ast/expr/BooleanLiteralExpr28}��SisBlockStmt29}���asBlockStmt,()Lcom/github/javaparser/ast/stmt/BlockStmt;30����D(com/github/javaparser/ast/stmt/BlockStmt
getStatements31F���stream()Ljava/util/stream/Stream;���test ()Ljava/util/function/Predicate;�����java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;$��+�8(Ljava/util/function/Function;)Ljava/util/stream/Stream;�����anyMatch!(Ljava/util/function/Predicate;)Z�snew javax.net.ssl.HostnameVerifier() {32    @Override33    public boolean verify(String hostname, javax.net.ssl.SSLSession session) {34        // AUTO-PATCH: Manual review required. Implement strict hostname verification here.35        // Example: return hostname.equals("your.secure.domain.com");36        return false; // Default to false for security until reviewed37    }38}39�����&com/github/javaparser/StaticJavaParserparseExpression?(Ljava/lang/String;)Lcom/github/javaparser/ast/expr/Expression;40���setArgumentN(ILcom/github/javaparser/ast/expr/Expression;)Lcom/github/javaparser/ast/Node;41O��SisObjectCreationExpr42O���asObjectCreationExpr5()Lcom/github/javaparser/ast/expr/ObjectCreationExpr;43�����1com/github/javaparser/ast/expr/ObjectCreationExprgetType7()Lcom/github/javaparser/ast/type/ClassOrInterfaceType;44�6�3com/github/javaparser/ast/type/ClassOrInterfaceType�HostnameVerifier45���"getAnonymousClassBody46(��S	isPresent47(���get()Ljava/lang/Object;�$���SInsecure HostnameVerifier replaced with secure placeholder requiring manual review.�load48��"getScope49O��8toString�KeyStore50<���contains(Ljava/lang/CharSequence;)Z51O��SisCharLiteralExpr�PHardcoded password in KeyStore.load() replaced with environment variable lookup.�0System.getenv("KEYSTORE_PASSWORD").toCharArray()�getInstance�52SSLContext53<8toLowerCase	INSECURE_PROTOCOLSLjava/util/List;	54�@java/util/List55<
8toUpperCase	d	"TLSv1.2"setEnabledProtocols	SSLSocket	SSLEngine56OSisArrayInitializerExpr57OasArrayInitializerExpr7()Lcom/github/javaparser/ast/expr/ArrayInitializerExpr;58 !"D3com/github/javaparser/ast/expr/ArrayInitializerExpr	getValues59F$%&iterator()Ljava/util/Iterator;()*+Sjava/util/IteratorhasNext(-.�next0:setEnabledProtocols() to use only 'TLSv1.2' and 'TLSv1.3'.2"new String[]{"TLSv1.2", "TLSv1.3"}4setEnabledCipherSuites	67WEAK_CIPHER_KEYWORDS�60:;<=0java/util/ObjectsrequireNonNull61?�@2(Ljava/lang/String;)Ljava/util/function/Predicate;B=setEnabledCipherSuites() to use strong default cipher suites.D^new String[]{"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"}F
MessageDigest	HIWEAK_HASHING_ALGORITHMSdL	"SHA-256"NnewInstance	PQR
XML_FACTORIESLjava/util/Set;T	U
java/util/SetWjava/lang/ClassY1com/github/javaparser/ast/body/VariableDeclarator62[\]findAncestor(([Ljava/lang/Class;)Ljava/util/Optional;_`aacceptq(LAutoPatcher$SecurityPatchVisitor;Lcom/github/javaparser/ast/expr/MethodCallExpr;I)Ljava/util/function/Consumer;63(cde	ifPresent (Ljava/util/function/Consumer;)VgURLihttp://64<klm65startsWith(Ljava/lang/String;)Zo	localhostq	127.0.0.1shttps://66<uvwreplaceFirst8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
dd67{|t(Lcom/github/javaparser/ast/expr/ObjectCreationExpr;Ljava/lang/Object;)Lcom/github/javaparser/ast/visitor/Visitable;68�$�X509TrustManager�TrustManager�.com/github/javaparser/ast/body/BodyDeclaration�0com/github/javaparser/ast/body/MethodDeclaration69�6�checkClientTrusted�checkServerTrusted70��z"71F��SisEmpty�$��$��OInsecure TrustManager replaced with secure placeholder requiring manual review.��new javax.net.ssl.X509TrustManager() {72    @Override73    public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[0]; }74    @Override75    public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException {76        // AUTO-PATCH: Manual review required. Implement strict certificate validation here.77        throw new java.security.cert.CertificateException("Insecure TrustManager automatically patched: Manual review required.");78    }79    @Override80    public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException {81        // AUTO-PATCH: Manual review required. Implement strict certificate validation here.82        throw new java.security.cert.CertificateException("Insecure TrustManager automatically patched: Manual review required.");83    }84}85����replace#(Lcom/github/javaparser/ast/Node;)Z�
SecretKeySpec�IvParameterSpec86�B87<��4length�2.*(password|pass|secret|key|pwd|salt|token|auth).*88<��mmatches89O��SisMethodCallExpr90O���asMethodCallExpr1()Lcom/github/javaparser/ast/expr/MethodCallExpr;91O��SisArrayCreationExpr92O���asArrayCreationExpr4()Lcom/github/javaparser/ast/expr/ArrayCreationExpr;93����"0com/github/javaparser/ast/expr/ArrayCreationExprgetInitializer94F��S95isNonEmpty96���"
getParentNode�`�B(LAutoPatcher$SecurityPatchVisitor;I)Ljava/util/function/Consumer;�ObjectInputStream�97��t(Lcom/github/javaparser/ast/body/VariableDeclarator;Ljava/lang/Object;)Lcom/github/javaparser/ast/visitor/Visitable;98X$99X���'()Lcom/github/javaparser/ast/type/Type;�SecureRandom100X�101X6d� SecureRandom.getInstanceStrong()102X���setInitializer`(Lcom/github/javaparser/ast/expr/Expression;)Lcom/github/javaparser/ast/body/VariableDeclarator;dd103����S#com/github/javaparser/ast/type/TypeisArrayType104����asArrayType,()Lcom/github/javaparser/ast/type/ArrayType;105�����(com/github/javaparser/ast/type/ArrayTypegetComponentType106���String�$��7Weak cipher suites array replaced with strong defaults.107��k(Lcom/github/javaparser/ast/stmt/WhileStmt;Ljava/lang/Object;)Lcom/github/javaparser/ast/visitor/Visitable;108��(com/github/javaparser/ast/stmt/WhileStmt$109����getCondition/com/github/javaparser/ast/comments/BlockComment3/* AUTO-PATCH: WARNING! Infinite loop (while(true)) detected.110 * This could be a Denial-of-Service vulnerability if it ties up resources.111 * Review the loop condition to ensure it terminates properly or has safeguards.112 * Manual review is required to determine if this is intentional or a vulnerability.113 */114(Ljava/lang/String;)V115�	116117setCommentN(Lcom/github/javaparser/ast/comments/Comment;)Lcom/github/javaparser/ast/Node;@Added warning comment for potential infinite loop (while(true)).118i(Lcom/github/javaparser/ast/stmt/TryStmt;Ljava/lang/Object;)Lcom/github/javaparser/ast/visitor/Visitable;119&com/github/javaparser/ast/stmt/TryStmt $120DgetCatchClauses!�121FeforEachjava/lang/Void122hf(Lcom/github/javaparser/ast/stmt/WhileStmt;Ljava/lang/Void;)Lcom/github/javaparser/ast/stmt/WhileStmt;123h!"x(Lcom/github/javaparser/ast/body/VariableDeclarator;Ljava/lang/Void;)Lcom/github/javaparser/ast/body/VariableDeclarator;124h$%b(Lcom/github/javaparser/ast/stmt/TryStmt;Ljava/lang/Void;)Lcom/github/javaparser/ast/stmt/TryStmt;125h'(x(Lcom/github/javaparser/ast/expr/ObjectCreationExpr;Ljava/lang/Void;)Lcom/github/javaparser/ast/expr/ObjectCreationExpr;126h*+p(Lcom/github/javaparser/ast/expr/MethodCallExpr;Ljava/lang/Void;)Lcom/github/javaparser/ast/expr/MethodCallExpr;127-./01*com/github/javaparser/ast/stmt/CatchClausegetParameter,()Lcom/github/javaparser/ast/body/Parameter;1283�4(com/github/javaparser/ast/body/Parameter6	Exception8	Throwable129-:z�130�<=>getStatement-(I)Lcom/github/javaparser/ast/stmt/Statement;@printStackTrace"d131-#d	EFGHIcom/github/javaparser/PositionlineIK[/* AUTO-PATCH: WARNING! ObjectInputStream is used here.132 * Deserializing untrusted data from an ObjectInputStream is a MAJOR security vulnerability (RCE).133 * Avoid using ObjectInputStream with untrusted sources. Consider safer formats like JSON/XML (with XXE protection).134 * If unavoidable, implement a robust deserialization filter (Java 9+).135 */136�NLAdded warning comment for ObjectInputStream (deserialization vulnerability).P�/* AUTO-PATCH: WARNING! This cryptographic key/salt/IV may be hardcoded.137 * Storing sensitive keys directly in code is a severe security risk.138 * Externalize this key/salt to a secure location (e.g., environment variable, KeyVault).139 */140RScom/github/javaparser/ast/NodeUJAdded warning comment for potentially hardcoded cryptographic key/salt/IV.$�XCertificateExceptionZNoSuchAlgorithmException141\]^�")com/github/javaparser/ast/stmt/ReturnStmt142F`abindexOf(Ljava/lang/Object;)I143F%d144�fghparseStatement>(Ljava/lang/String;)Lcom/github/javaparser/ast/stmt/Statement;145Fjk�add&d'd(d)d*d146Fr�s#(I)Lcom/github/javaparser/ast/Node;147�uvwaddStatementM(ILcom/github/javaparser/ast/stmt/Statement;)Lcom/github/javaparser/ast/Node;+d,�-$.�}verifyCodeLineNumberTable
StackMapTableMethodParametersN(Lcom/github/javaparser/ast/stmt/TryStmt;Ljava/lang/Object;)Ljava/lang/Object;P(Lcom/github/javaparser/ast/stmt/WhileStmt;Ljava/lang/Object;)Ljava/lang/Object;Y(Lcom/github/javaparser/ast/expr/ObjectCreationExpr;Ljava/lang/Object;)Ljava/lang/Object;U(Lcom/github/javaparser/ast/expr/MethodCallExpr;Ljava/lang/Object;)Ljava/lang/Object;Y(Lcom/github/javaparser/ast/body/VariableDeclarator;Ljava/lang/Object;)Ljava/lang/Object;lambda$visit$270(ILcom/github/javaparser/ast/stmt/CatchClause;)Vlambda$visit$265(Lcom/github/javaparser/Position;)Ljava/lang/Integer;lambda$visit$25lambda$visit$24lambda$visit$23?(Lcom/github/javaparser/ast/expr/Expression;)Ljava/lang/String;lambda$visit$22lambda$visit$21$(ILcom/github/javaparser/ast/Node;)Vlambda$visit$20lambda$visit$19+(Lcom/github/javaparser/ast/stmt/TryStmt;)Zlambda$visit$18/(Lcom/github/javaparser/ast/stmt/CatchClause;)Zlambda$visit$17T(Lcom/github/javaparser/ast/stmt/Statement;)Lcom/github/javaparser/ast/stmt/TryStmt;lambda$visit$16-(Lcom/github/javaparser/ast/stmt/Statement;)Zlambda$visit$15.(Lcom/github/javaparser/ast/stmt/ReturnStmt;)Zlambda$visit$14W(Lcom/github/javaparser/ast/stmt/Statement;)Lcom/github/javaparser/ast/stmt/ReturnStmt;lambda$visit$13lambda$visit$12lambda$visit$11f(Lcom/github/javaparser/ast/expr/MethodCallExpr;ILcom/github/javaparser/ast/body/VariableDeclarator;)Vlambda$visit$105(Lcom/github/javaparser/ast/body/MethodDeclaration;)Zlambda$visit$9lambda$visit$8lambda$visit$7lambda$visit$6lambda$visit$5d(Lcom/github/javaparser/ast/body/BodyDeclaration;)Lcom/github/javaparser/ast/body/MethodDeclaration;lambda$visit$43(Lcom/github/javaparser/ast/body/BodyDeclaration;)Zlambda$visit$3lambda$visit$2lambda$visit$1lambda$visit$0	SignatureELcom/github/javaparser/ast/visitor/ModifierVisitor<Ljava/lang/Void;>;148SourceFileAutoPatcher.javaNestHostBootstrapMethods0�149h�����2Removed System.setProperty("", ...) for security.@�150h�����151h�����152h�����153h�����154h�����155h�����156h����6Insecure SSLContext protocol '' changed to 'TLSv1.2'.�m�0Weak hashing algorithm '' updated to 'SHA-256'.�(Ljava/lang/Object;)V�157h����6(Lcom/github/javaparser/ast/body/VariableDeclarator;)V�""�/Changed insecure 'http://' URL to 'https://': �158h����159h����160h����161h����162h����163h�����164h���165h��#(Lcom/github/javaparser/ast/Node;)V166h	��167h��TUnseeded SecureRandom replaced with SecureRandom.getInstanceStrong() for variable: UHardcoded sensitive string assigned to variable '' replaced with environment lookup.System.getenv("_SECRET")N.(Lcom/github/javaparser/ast/expr/Expression;)Z168h���169h�m170h��!171h"��$172h%��'/(Lcom/github/javaparser/ast/stmt/CatchClause;)V)�/* AUTO-PATCH: WARNING! Overly broad catch for '' with minimal error handling.173 * This may hide critical exceptions, including security-related ones. Catch more specific exceptions.174 * Manual review is required to refine exception handling.175 */+7Added warning comment for overly broad catch block ().-176h.���1K.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);3M.setFeature("http://xml.org/sax/features/external-general-entities", false);5O.setFeature("http://xml.org/sax/features/external-parameter-entities", false);7V.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);9.setXIncludeAware(false);;#.setExpandEntityReferences(false);=/Added XXE hardening features for XML factory: ?177h@��B178hC��E179hF��H180IJKLM"java/lang/invoke/LambdaMetafactorymetafactory�(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;O181PQReS$java/lang/invoke/StringConcatFactory�(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;InnerClassesSecurityPatchVisitorW%java/lang/invoke/MethodHandles$LookupYjava/lang/invoke/MethodHandlesLookup h-~*��akl~+�	�
,�W�182ij+~183�*+,�W+��#�'�
�-��1>+�59�;�S+�A�E�H+�J:�N�9�T�X:]�;�_�;�
a�;�*�c�g�+�5m�;�+�A�E�+�J:6�o���r:�v�|�(�v��������v���������=�v���@�v�������������������+�����W6�t�řl��:�̶�ն;�U�׶ڙJ�׶��F�������������������+�����W6�184*�g+�5�;�U+��ڙK+����O����6+�A�E�++�J���+�J�N�*��g+�����W+�5��;�p+��ڙf+����O�����Q+�A�E�F+�J�N�;+�J�T�X�:���*���g+����W+�5�;��+��ڙ�+����O����+����O�����+�J:6��X�:��#:�'�:�,�O:�N�#�T�X�:	�	��	6���§(�N� �T�X�:���6�*/�g+1����W+�53�;��+��ڙ�+����O����+����O�����+�J:6��g�:��#:�'�I�,�O:�N�2�T�X�:	�5�8	Y�9W�>���	6�����7�N�/�T�X�:�5�8Y�9W�>���6�*A�g+C����W+�5��;�r+��ڙh+����O��E��R+�A�E�G+�J:�N�8�T�X�:�G��*��J�g+K����W+�5M�;�>+��ڙ4�O+����O��S�+�VYXS�Z*+�^�b+�5f�;�q+�A�E�f+�J:�N�W�T�X:h�j�Bn��7p��,hr�t:+�x����W*�y�g+��uwy!|.}8~?G�Q�o�{�}����������������������"�%�0�7�R�e�o�y����������������������������/�;�D�T�a�p�|������������������
��� �#�.�;�H�K�P�X�d�r�|�����������185%2
NQV^jw������ �!�"�(�)*--FEGLHTI^JK�L�M�S���oO<�
�_Ow9�
�p��K�x�B�"hO(=�$��B�"hO(�L�3��z�G�z(~�186v*+,�zW+�}�~�'�
�-��1>+�׶ڙ+�̶��;�+�̶���;��6+�׶��F�#:�'���,��:������:��:��;���;�����ڙv������:		�����,	�����������������	6�/	�����������������6��@�*��g+�����W+�̶���;�+�̶���;�6+���#:�'���,�O:�N�-�T�X:��������	6�������[����ڙM������O�N�9������O�T�X:��������	6�=�7���/��:���ڙ���������	6���$�+��*���b+�̶�ȶ;�+��*���b+��4ac!f,g<hKjNksl{m�n�p�q�t�u�v�w�x�z�}�~��� �%�-�8�I�X�[�z�����������������	���:�=�@�C�H�V�f�t��X�K�(�A��<�K��+h�(���(�DO�\�3��"~!�*+,��W+�κ��'�
�-��1>+���әx+����:��Ӷ;�a+�նڙW+�ն��O�řG+�ն��O��:�̶�Ӷ;�'�����*+�ֺ��g+ظ���W+�նڙ[+�ն��O�N�K+�ն��O�T�X:����.���%*+�ֺ��g++�ֶ������W+�ж��|+�ж����;�f+�նڙ\+�ն���O+�ն��:���������������6�*��g+C����W+�v��!�+�4�C�M�\�k����������

#-9ER\fmrz�����a��~�Q*+,��W+�����'�
�-��1>+�����'+�������+�Y��W*�g+�,-!/,081G6O8��O%~U1*+,�
W+���'�
�-��1>+�*��+�EF!H/\A�~"187*+,���a�	A�~"188*+,�� �a�	A~"189*+,��#�a�	A|~"190*+,��&�a�	A~"191*+,��)�a�	A�~"192*+,��#�a�	A�~"193*+,���a�	A�~"194*+,��&�a�	A�~"195*+,��)�a�	A�~"196*+,�� �a�	��~�,�,�2N-�ә�-�Ӷ�:5�;�7�;��,�9�����P,�9���E�e,�9�;�|�W,�9�;�������C,�9�;�������5?�;�&�A:,�Y��BW*�C�g�6
IJKL.M<NJOXPlQ�R�V�W�[��.�<�Y�"197��~ *�D�
�F198��~ *�D�
�-199�m~1�5�8*Y�9W�>���200��~#*�T�X��201��~ *�D�
����~](,���#,��NJ:-�Y��LW*M�g������'��'��~Z(,���202,�X�ON,�Y-��QW*T�g�����'��203��~2*����V������204��~��*�,�2L+�ә�+�Ӷ�M,5�;�!,7�;�,W�;�
,Y�;�c*�9�����P*�9���E�F*�9�;�|�8*�9�;�������$*�9�;�������5?�;����2����/�?�M�[�i�}�������?�<�Y@�205��~*��206��~*��~207��~^3*�[�ڙ**�[���O���*�[���O�������xy2x�1@208��~*�\�w209��~*�\�v210��~ *�D�
�c��~d	�-��:+�VY�S�Z�-��:����+�VY�S�Z�-�_6���FY�c:�d�e�iW�l�e�iW�m�e�iW�n�e�iW�o�e�iW�p�e�iW6�E� ``�q�}�tW����*�x�g�F.01!2<3B4K5[6k7{8�9�:�<�=�<�?�B�$��	hX<�F�&�211��~�J*�����������4*�����������y���z���{�������(�2�<�I���D@212��~^3*�[�ڙ**�[���O���*�[���O���������2��1@213��~*�\��214��~*�\��215��~@*��|�;�*���ڙ����@216��~*����217��~*����218��~^3*�[�ڙ**�[���O���*�[���O���������2��1@219��~*�\��220��~*�\��221��~ *�D�
�y�������/G���N�G���G���G���G���G���G���G���N�G���N�G���N�N�G���G���G���G���G���G���G��G�G�G�222�N
NNG�G�G��G��G� �G�#&N(N*G�,/N0N2N4N6N8N:N<G�>�G�A�G�D�ThU223VXZ