Edit File: run.cpython-311.pyc
� ��\hp � � � d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl m Z d dlmZ d dl mZmZ d dlmZ d d lmZ d d lmZ d dlmZ d dlmZ d d lmZ d dlmZ d dlmZ d dl m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-m.Z.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9 dZ: ee;� � Z<d� Z=de>fd�Z?d � Z@d!e d"eAd#eAddfd$�ZBd%� ZCd&� ZDd'� ZEe;d(k r! eE� � e<�F d)� � dS dS )*� N)� getLogger)�Path)�OperationalError)�SqliteExtDatabase)�IPSET_LISTS_PATH)�subscribe_to_malware_action�HackerTrapHitsSaver)�AVSource)�server)�systemd_notifier)�health)�Model)� LicenseCLN)� BasePlugin)�subscribe_to_license_changes)�IndependentAgentIDAPI)� CoreSource)�instance)�Router)�app)�AV_PLUGINS_PACKAGES)�importer�Scope�fail_agent_service)�rpc_handlers)� configure)�ip_versions)�IM360Source)�features)z im360.pluginsc � � | j dk r>t j dd� � }t |� � � � � rddlm} |S | S )N�SendToServerFGW�IM360_FGW_FOLDER_PATHz"/var/imunify360/.dont.use.fgw.flagr )�SendToServer)�__name__�os�getenvr �exists�defence360agent.plugins.clientr# )�plugin�flag_file_pathr# s �>/opt/imunify360/venv/lib/python3.11/site-packages/im360/run.py�_set_correct_fgw_pluginr, * sd � � ��+�+�+���#�%I� � �� ����&�&�(�(� �C�C�C�C�C�C����M� �returnc � � t j t j t j z t j z � � t j t t z � � t d� t j � � D � � d� �� � S )z$Return plugins in unspecified order.c �j � g | ]0}|j t j t j fv�!t |� � ��1S � )�SCOPEr �AV�IM360_RESIDENTr, )�.0r) s r+ � <listcomp>zget_plugins.<locals>.<listcomp>@ sA � � � � ���|�E�H�e�.B�#C�C�C� $�F�+�+�C�C�Cr- c �$ � | j � d| j � �S )N�.)� __module__r$ )�items r+ �<lambda>zget_plugins.<locals>.<lambda>E s � �D�O�=�=�d�m�=�=� r- )�key)r � load_packagesr �MESSAGESr r r �IM360_PLUGINS_PACKAGES�sortedr �get_active_pluginsr1 r- r+ �get_pluginsrB 8 s� � �����h�/�/�+�2F�F�� � � ��.�1G�G�H�H�H�� � �$�7�9�9� � � � >�=� � � � r- c � � K � t j � � r t j � � � d S t j � � � d S �N)r �is_validr �sensor� registered�unregisteredr1 r- r+ �update_health_sensorrI I sK � � � ����� %�� � � �"�"�"�"�"�� �"�"�$�$�$�$�$r- �db�db_path�schema_namec � �L K � d}t j d� � D ]�} | � d||f� � d S # t $ r`}t |t � � r%||k rt j d� � � d {V �� Y d }~�bt � d|||d��� � � d }~ww xY wd S )N� � � ATTACH ? AS ?zError attaching to database)rK rL �attempt)�extra) � itertools�count�execute_sql� Exception� isinstancer �asyncio�sleep�logger�error)rJ rK rL �max_attemptsrQ �es r+ � attach_dbr^ P s� � � � � �L��?�1�%�%� � �� ��N�N�?�W�k�,B�C�C�C��F�F��� � � ��!�-�.�.� �7�\�3I�3I��m�A�&�&�&�&�&�&�&�&�&�������L�L�-�&�#.�&�� � � � � � ����� ���� � s �7� B!�5B�;!B�B!c � �j K � t j � dt j df� � t j � � 4 �d {V ��} | � t t j t j d� � � � | � t t j t d� � � � d d d � � �d {V �� n# 1 �d {V ��swxY w Y t t j t j t �� � }|j r*t � d� � t# � � d S d S )NrP � proactive�resident� ipsetlists)�migrations_dirsrZ z/Tried to start while migrations are not applied)r rJ rU r �PROACTIVE_PATHrX � TaskGroup�create_taskr^ � RESIDENT_PATHr r r �MIGRATIONS_DIRSrZ �diff�warningr )� task_group�routers r+ �setup_databasesrm h s� � � � ��K����%�.��<�� � � � �"�"� � � � � � � �j�����h�k�5�#6� �C�C� � � � ����h�k�#3�\�B�B� � � � � � � � � � � � � � � � � � � � � � � � � � ���� � � � � ����+��� � �F� �{� ����H�I�I�I�������� s �A,C� C�Cc � �� K � t j � � t t j � � t t j � � t t � � t � � � d {V �� t dt j � � t dt j � � t t j � � t j � � t j � � d S )N�delete�cleanup)r �initr r �update_repos�update_im_emailrI rm r r �add_hitr � reactivate�add_initial_taskr r1 r- r+ �init_actionsrw � s� � � � � ����� ��!6�7�7�7� ��!9�:�:�:� �!5�6�6�6� � � ����������*=�*E�F�F�F�� �+>�+F�G�G�G� �!6�!A�B�B�B��*�,�,�,�������r- c � � t j t j j � � t � � t � � } t j | t � � d S rD ) r �notify� AgentState�READYr rB r �startrw )�pluginss r+ �runr~ � sD � ���,�7�=�>�>�>� �K�K�K��m�m�G� �L��,�'�'�'�'�'r- �__main__z agent stopped)GrX r% rS �loggingr �pathlibr �peeweer �playhouse.sqlite_extr �im360.contracts.configr �imav.malwarelib.subsys.malwarer r �imav.internals.lazy_loadr �imavr �defence360agent.subsysr �defence360agent.apir � defence360agent.contracts.configr �!defence360agent.contracts.licenser �!defence360agent.contracts.pluginsr �defence360agent.internals.clnr �defence360agent.internals.iaidr �#defence360agent.internals.lazy_loadr �defence360agent.modelr �defence360agent.routerr �defence360agent.applicationr �imav.runr �defence360agent.utilsr r r �im360r �im360.application.settingsr �im360.internals.corer �im360.internals.lazy_loadr �im360.subsysr r? r$ rZ r, �setrB rI �strr^ rm rw r~ �infor1 r- r+ �<module>r� s �� ���� � � � � � � � � � � � � � � � � � � � � #� #� #� #� #� #� 2� 2� 2� 2� 2� 2� 3� 3� 3� 3� 3� 3�� � � � � � � � .� -� -� -� -� -� � � � � � � 3� 3� 3� 3� 3� 3� &� &� &� &� &� &� 2� 2� 2� 2� 2� 2� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� F� F� F� F� F� F� @� @� @� @� @� @� :� :� :� :� :� :� *� *� *� *� *� *� )� )� )� )� )� )� +� +� +� +� +� +� (� (� (� (� (� (� E� E� E� E� E� E� E� E� E� E� � � � � � � 0� 0� 0� 0� 0� 0� ,� ,� ,� ,� ,� ,� 1� 1� 1� 1� 1� 1� !� !� !� !� !� !�+� � ��8� � ��� � ��S� � � � �"%� %� %����$'��69�� �� � � �0� � �:� � �,(� (� (� �z����C�E�E�E� �K�K�� � � � � � �r-