What does the vertex shader receive as input?

  c++, opengl

In the OpenGL, the vertex shader requires input straight from the VAO(Vertex array object). When the vertex shader receives data from the VAO’s attribute list, does it receive the VBO object as input or does it receive the data inside the VBO and store the data as input?

Source: Windows Questions C++