Suppose that $S \lhd G$ is a non-abelian simple normal subgroup of $G$. Further, suppose that every automorphism given by the action by conjugation of $G$ on $S$ is an inner automorphism of $S$. Then $G= S \times C_G(S)$.
As an exercise I am supposed to prove or find a counterexample to this assertion. I think that it is true. My proof is as follows: since $S$ is normal, then $C_G(S)$ is also normal.
For $g \in G$ the automorphism $\tau_g$ given by conjugation is always an inner automorphism of $S$ when restricted to $S$, so its coset in ${\rm Out}(S)$ is trivial. In particular, since ${\rm Inn}(S) = S$ because $S$ is simple, there exists $s \in S$ such that $\tau_{gs} = {\rm Id_S}$. Hence, $G=SC_G(S)$.
Since $S$ is simple, $Z(S) =1$ so in particular $S \cap C_G(S) = 1$.
Then $G$ is a direct product of $S$ and $C_G(S)$, and we are done.
Is this correct?
Looks good to me! You should make sure to mention in your proof that $S$ is non-abelian as well as simple (otherwise you can't conclude $S \cong \operatorname{Inn}(S)$ or $Z(S) = 1$). It also might be good to modify your explanation a bit when you conclude that $G = S C_G(S)$ – the intermediate step is that $\tau_{gs} = \operatorname{id}_S \implies gs \in C_G(S)$, from which you can conclude that $g \in C_G(S)S$. Of course $C_G(S) S = S C_G(S)$ but that's an additional intermediate step which you didn't write down. It'd be a good idea to expand this explanation so all of these small steps are included (and/or modify the argument to begin with $\tau_{sg} = \operatorname{id}_S$).