Since the data not always looks contain the original {0,0},we consider to use ConvexHullMesh or ConvexHullRegion to get the flat boundary of data and use HighlightMesh to view the index of such line.
reg = ConvexHullMesh[data];
HighlightMesh[reg, {Style[2, Black], Style[1, Orange],
Style[0, Blue, AbsolutePointSize[6]],
Table[Labeled[{1, i},
Style[i, White, FontFamily -> "Times", 20]], {i,
Length@MeshPrimitives[reg, 1]}]}, AspectRatio -> 1,
Epilog -> {Opacity[.5], Green, AbsolutePointSize[1.5], Point[data]},
Background -> Gray]

7.
reg = ConvexHullMesh[data];
ListPlot[data,
Epilog -> {{Green,
MeshPrimitives[reg, Drop[MeshCellIndex[reg, 1], {7}]] /.
Line -> InfiniteLine, Red,
MeshPrimitives[reg, {1, 7}] /. Line -> InfiniteLine,
AbsolutePointSize[8], Point[{0, 0}]}}, PlotRange -> All]
