Courseiva
hardMultiple Choice

CAS-004 Practice Question: Is implementing a secure software development…

An organization is implementing a secure software development lifecycle. Which of the following practices BEST ensures that security requirements are addressed early in the development process?

⚠ Common exam trap

CompTIA CASP+ often tests the distinction between proactive security activities (like threat modeling) and reactive or verification activities (like code analysis or penetration testing), trapping candidates who confuse 'early' with 'any security practice' rather than recognizing that only design-phase activities can truly address requirements before development begins.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Threat modeling during design phase

Threat modeling during the design phase is the best practice for addressing security requirements early because it proactively identifies potential threats, attack vectors, and vulnerabilities in the system architecture before any code is written. By analyzing data flow, trust boundaries, and threat agents (e.g., using STRIDE or PASTA methodologies), security controls can be integrated into the design, reducing costly rework later. This aligns with the 'shift left' principle in secure SDLC, ensuring security is not an afterthought.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Security training for developers

    Why it's wrong here

    Training builds developer awareness but produces no artefact that captures, traces or verifies security requirements within the development process itself. Training is the right choice when the goal is raising general secure-coding competence across a team rather than embedding requirements into a specific project.

  • ✗

    Code analysis after development

    Why it's wrong here

    Analysing code after development detects flaws once they are already written, so security requirements are not addressed early. It is tempting because static analysis is a legitimate SDLC control, and it is the right choice when the goal is verifying completed code rather than embedding requirements during design.

  • ✓

    Threat modeling during design phase

    Why this is correct

    Threat modelling during design identifies threats, attack surfaces and required mitigations before code is written, so security requirements are embedded in the architecture early. Fixing issues at design stage costs far less than remediating them after implementation, satisfying the early-addressal objective.

  • ✗

    Penetration testing before release

    Why it's wrong here

    Penetration testing occurs after code is built, so it detects flaws rather than ensuring requirements are addressed during early design and analysis. It is the correct choice when validating a completed release's resistance to real-world attack before deployment.

About these practice questions

One of 973 original CAS-005 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CAS-005 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CAS-005 exam.