Unlisted packages being added to the nix environment automatically

Consider this nix shell:

let
  pkgs = import <nixpkgs> {};
in
  pkgs.mkShell {
    buildInputs = [];
  }

Commands from packages gcc and binutils are available in an environment created with this shell. What is the reason for this behavior? I think some implicit behavior is causing my build to break (statically linked executables fail with segfault unless gdb is added to the shell).