None are required. Of course without geometry and a symbol the graphic will not show in the map.
Having said that, if you are creating graphics from a query, identify, etc, you should set attributes and info template. Without them graphics don't have much functionality.
Graphics for display only, for example a polygon for selecting other features, do not need attributes or info template.
The measure widget example http://developers.arcgis.com/en/javascript/samples/widget_measurement/ illustrates this. Measure in the map, find the graphic's DOM object using firebug map._layers.map_graphics.graphics[0] and check for attributes map._layers.map_graphics.graphics[0].attributes and info template map._layers.map_graphics.graphics[0].infoTemplate. Both are undefined.