Answer to Question 1. In R, the library pROC can help you create the RoC curve as well as to calculate gini. The generic R code for the same is following:
#Store predicted model output in a vector pred_model
#Here Reg is supposed to be your model and data is supposed to be stored in the frame called df. Assume that actual default/ non default status is present in DefaultStatus column (it should be a dichotomous classification)
pred_model <- predict(Reg, newdata = df,type="response")
roc(df\\\$DefaultStatus,df\\\$pred_model,plot-True)
Answer to Question 2. A confusion matrix, that identifies how many defaults were you able to capture correctly (hit rate) and how many non defaults you classified as defaults (false positive rate) can help you quantify model efficacy in this case. A good model should have high hit rate and low false positive rate - Although the weight you would assign to each may vary depending on your risk aversion vs opportunity cost. For instance, if it's absolutely important for you not to miss any default, you will prefer a model with high hit rate, even if it leads to several non defaults getting misclassified as defaults. On the other hand, if you are more concerned about lost opportunity by not extending credit to a creditworthy customer, you would place more emphasis on lowering the false positive rate.
As you mentioned yourself, a sample of 8 is too small to check the efficacy of models.