why my object looks empty

Hi everyone. My game object looks empty. Just two days ago it works perfectly, I did not change the script but now the script does not work. I want the “sos” not to appear when the game starts but it looks null. I check it with debug.log, it does not write anything.

 public class Detect : MonoBehaviour
{
public GameObject sos;

 void Start()
    {
 sos = GetComponent<GameObject>();
        if (sos == null)
            sos = GameObject.FindWithTag("sos");
        if (sos != null)
            Debug.Log("sos is not null");
        sos.SetActive(false);
}
}

if u are disabling the object that the script is attatched to why assign the variable. use gameObject.setActive(false); But if it is necessary to assign then ur variable is public assign it through the editor