Let M be a manifold and $X \in \mathfrak{X}(M)$ show that if for any $Y \in \mathfrak{X}(M)$ , $[X,Y]=0$ then $X=0$.
I think we can use following theorem
Theorem: $[X, Y]=0$ iff the flows of $X$ and $Y$ commute locally, meaning $\left(\Phi_{t}^{Y} \Phi_{s}^{X}\right)(x)=\left(\Phi_{s}^{X} \Phi_{t}^{Y}\right)(x)$ for all $x \in M$ and sufficiently small s, t. This is a special case of the Frobenius integrability theorem.
Suppose $[X,Y] = 0$ for all vector fields $Y$. Then, for all $f \in \mathcal{C}^{\infty}(M)$ and all $Y$, we have $0=[X,fY] = \left(X\cdot f\right) Y + f [X,Y] = \left(X \cdot f\right) Y$.
Fix a point $p \in M$ and choose a vector field that does not vanish in a neighbourhood of $p$, say $Y$. Then for all function $f$, we have $(X\cdot f) Y= 0$. Thus in a neighbourhood of $p$, we have $X\cdot f = 0$. Note that this is true for all $p$.
For now, we have shown that $X$ is a vector field satisfying $$ \forall f \in \mathcal{C}^{\infty}(M),~ X\cdot f = 0. $$ The exercice now reduces to show that there is a unique vector field $X$ that acts trivially on the set $\mathcal{C}^{\infty}(M)$, that is the zero vector field. If you know the different equivalent definitions for vector fields, this should be pretty straightforward from there.