Team Ai
Apppublic

sameersyed/Defence_FrameWork

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
defense_simulator.cpython-313.pyc56 linesDownload Raw Back to __pycache__
1�

277i���@�SSKrSSKJrJr SSKrSSKr"SS5rg)�N)�Image�ImageFilterc�R�\rSrSrSrSrSSjrS
SjrSSjrSSjr	Sr3S	rS4rg)�DefenseSimulator�z9Simulate defense mechanisms and show before/after resultsc�V�URURURS.Ulg)N��jpeg_compression�
gaussian_blur�bit_depth_reduction)�_jpeg_compression�_gaussian_blur�_bit_depth_reduction�defenses)�selfs �,D:\Security_app\backend\defense_simulator.py�__init__�DefenseSimulator.__init__	s&�� $� 6� 6�!�0�0�#'�#<�#<�5��
�c�*�SU;aURS5Sn[R"U5n[R"[6R"U55RS5nURU"U5n[7R"5nURUSS9 [R"UR55R5n[R"U5n[R"U5n	[R"X�-8S-5n9S[R "SU10S	--5-nS11USU3SU3[#U125[#U5S.UR%U5S
.$![&anS[)U5S.sSnA$SnAff=f)z#Apply defense and return comparison�,��RGB�PNG)�format��13i�g�����|�=Tzdata:image/png;base64,)�mse�psnr)�success�defense_type�original_image�defended_image�metrics�
effectivenessF)r �errorN)�split�base64�	b64decoder�open�io�BytesIO�convertr�save�	b64encode�getvalue�decode�np�array�mean�log10�float�_estimate_effectiveness�	Exception�str)
r�14image_datar!�image_bytes�imager#�buffered�defended_base64�original_array�defended_arrayrr�es
             r�
apply_defense�DefenseSimulator.apply_defensesg��#	7��j� �'�-�-�c�2�1�5�15� �*�*�:�6�K��J�J�r�z�z�+�6�7�?�?��F�E�"�]�]�<�8��?�N��z�z�|�H�������7�$�.�.�x�/@�/@�/B�C�J�J�L�O� �X�X�e�_�N��X�X�n�5�N��'�'�>�:�q�@�A�C������3��;�!7�8�8�D� � ,�$:�:�,�"G�$:�?�:K�"L� ��:�!�$�K��"&�!=�!=�l�!K�16�17
���	7�$�s�1�v�6�6��	7�s�E-E0�018F�:
F
�F�
Fc��[R"5nURUSUS9 URS5 [R19"U5R
S5$)zJPEG compression defense�JPEG)r�qualityrr)r+r,r.�seekrr*r-)rr<rFr=s    rr
�"DefenseSimulator._jpeg_compression7sE���:�:�<��
�20�21�8�F�G�22�<��
�
�a���z�z�(�#�+�+�E�2�2rc�H�UR[R"US95$)zGaussian blur defense)�radius)�filterr�GaussianBlur)rr<rJs   rr�DefenseSimulator._gaussian_blur>s���|�|�K�4�4�F�C�D�Drc��[R"U5nSSU-23-nX4-U-n[R"UR	[R2455$)zBit depth reduction defenser�)r2r3r�	fromarray�astype�uint8)rr<�bits�	img_array�factor�reduceds      rr�%DefenseSimulator._bit_depth_reductionBsE���H�H�U�O�	��q�4�x����&�&�0�����w�~�~�b�h�h�7�8�8rc�J�SSS.SSS.SSS.S.nURUS	SS.5$)25zEstimate defense effectiveness�\�A)�accuracy_retention�attack_mitigation�X�F�U�<r	�Z)�get)rr!r%s   rr7�(DefenseSimulator._estimate_effectivenessIs@��8:�PR� S�46�R�P�:<�SU�#V�26�
�27� � ��b�_a�/b�c�crc��US(dSUS3$/nURS5 URS5 SSSS	.nURS28URUSUS5S35 URS
5 URSUSSSS35 URSUSSSS35 USnURS5 URSUSS35 URSUSS35 URS5 URS5 USS:�aURS 5 OURS!5 USS":�aURS#5 OURS$5 URS%5 URS&5 URS'5 URS(5 S)RU5$)*z"Generate defense comparison reportr u❌ Defense simulation failed: r&u&🛡️ Defense Mechanism Simulation29 30u�────────────────────────────────────────────────────────────31 32zJPEG Compression (Quality=75)zGaussian Blur (Radius=1)zBit Depth Reduction (6-bit)r	u🔧 Applied Defense: r!z33 34u📊 Image Quality Metrics:35u• MSE (Mean Squared Error): r$rz.2f�36u'• PSNR (Peak Signal-to-Noise Ratio): rz dB37 38r%u📈 Defense Effectiveness:39u• Accuracy Retention: r[z%40u• Attack Mitigation: r\z%41 42u💡 Analysis:43rauB• ✅ High accuracy retention - minimal impact on clean samples44uB• ⚠️ Moderate accuracy retention - some clean accuracy loss45rZuJ• ✅ Strong attack mitigation - effective against adversarial examples46u@• ⚠️ Moderate attack mitigation - partial protection only47u48🎯 Recommendation:49u4• Combine multiple defenses for better robustness50u5• Use adversarial training alongside preprocessing51u8• Monitor accuracy-robustness trade-off in production52�)�appendrb�join)r�result�report�
defense_names�effs     r�generate_report� DefenseSimulator.generate_reportRs����i� �4�V�G�_�4E�F�F����
�
�@�A��
�
�)�*�!@�7�#@�53�
�	�
�
�.�}�/@�/@���AW�Y_�`n�Yo�/p�.q�qu�v�w��
�
�5�6��
�
�6�v�i�7H��7O�PS�6T�TV�W�X��
�
�?��y�@Q�RX�@Y�Z]�?^�^e�f�g��_�%���
�
�5�6��
�
�0��5I�1J�0K�3�O�P��
�
�/��4G�0H�/I��O�P��
�
�)�*��
�
�(�)��#�$�r�)��M�M�_�`��M�M�_�`��"�#�b�(��M�M�g�h��M�M�]�^��
�
�0�1��
�
�M�N��
�
�N�O��
�
�Q�R��w�w�v��r)rN)r54)�K)r)r)
�__name__�55__module__�__qualname__�__firstlineno__�__doc__rrBr
rrr7rm�__static_attributes__�rrrrs+��C�56�%7�N3�E�9�d�,rr)�numpyr2�PILrrr+r(rrvrr�<module>rys���"�	�
�x�xr