1. A method comprising: determining security attributes of software prior to installation of the software, wherein the security attributes indicate a risk level that the software is a security threat; comparing, by a processor, the security attributes to predetermined security preferences; causing a notification to be provided in an instance in which the security attributes are noncompliant with the security preferences; and requiring performance of a task by a user in an instance in which the security attributes are noncompliant with the security preferences prior to installation of the software, the task being a puzzle requiring a solution to the puzzle and the task being selected such that the task is variable from one installation of the software to another installation of the software, and wherein values of the security attributes determine a complexity of the task.