Take-home project for the TableCheck Security Role.
You are provided with a Python application in the app directory that implements user authentication, file handling, and system information features. Your task is to conduct a thorough security assessment and provide a comprehensive report.
- Review the README.md in the app directory for application setup instructions
- The application runs locally and requires only Python with the specified dependencies
- Test the application functionality before beginning your assessment
Please provide a detailed report containing:
- Overview of critical findings
- Risk assessment summary
- Prioritized recommendations
For each security finding:
- Severity rating (Critical/High/Medium/Low)
- CVSS score where applicable
- CWE (Common Weakness Enumeration) reference
- OWASP Top 10 2021 mapping where relevant
- Impact on SOC 2 and/or ISO 27001 controls
For each vulnerability discovered:
- Detailed technical description
- Proof of concept/reproduction steps
- Specific code references
- Potential attack scenarios
For each finding:
- Detailed fix recommendations with code examples
- Suggested security controls and recommendations to avoid this issue in the future
- Provide an estimate on risk with a timeframe (example: Critical, immediate)
Provide examples of:
- Pre-commit hooks for security checks
- Sample security test cases
- Dependency scanning configuration
- SAST tool configuration
- Anything else you can recommend or think of
- Submit as a PDF or Markdown document
- Include relevant code snippets
- Maximum length: 8 pages (excluding code samples)
- Use clear section headings and formatting
Your assessment will be evaluated on:
- Depth of security analysis
- Accuracy of vulnerability identification
- Quality of remediation recommendations
- Understanding of secure coding practices
- Clarity of technical communication
- Practicality of proposed solutions
- Complete this assessment within 3 hours
- Allocate time approximately:
- Application review: 45 minutes
- Vulnerability assessment: 1 hour
- Report writing: 1 hour 15 minutes
- Submit your report as a single PDF file
- Name the file:
security-assessment-{yourname}.pdf - Include any supporting scripts/configs in a separate folder
- Email or upload the submission to GitHub
- Focus on identifying security issues, not functional bugs
- Consider both direct vulnerabilities and security misconfigurations
- Demonstrate your understanding of secure development practices
- Show how findings relate to real-world security risks