Courseiva

(ISC)2 Certified Secure Software Lifecycle Professional (CSSLP) (CSSLP) (CSSLP) — Questions 1–75

221 questions total · 3 pages · All types, answers revealed

Page 1 of 3

Page 2
1
MCQeasy

During a threat model, you identify a risk related to 'Broken Access Control'. Which design mitigation is best suited for this?

A.Using HTTPS for all communications.
B.Implementing a strong password policy.
C.Relying on client-side hidden fields to identify user roles.
D.Enforcing centralized, server-side authorization checks for every request.
AnswerD

Broken access control arises when authorisation decisions rely on client-side checks or per-endpoint logic that can be bypassed. Centralised server-side enforcement validates every request against policy, satisfying the design mitigation requirement by removing client trust and inconsistent per-route checks.

Why this answer

Policy-based access control (RBAC or ABAC) ensures users only access resources they are authorized to.

2
MCQeasy

When managing software security governance, which document should define the organization's high-level security expectations for all software development projects?

A.System Architecture Diagram.
B.Software Security Policy (SSP).
C.Individual Sprint Backlog.
D.Developer Coding Standards.
AnswerB

A Software Security Policy establishes organisation-wide security expectations, making it the correct governance instrument. Unlike standards or procedures, which specify mandatory controls or step-by-step instructions, the SSP operates at a strategic level and applies across every development project, directly satisfying the stem's requirement for high-level expectations spanning all software work.

Why this answer

A Software Security Policy (SSP) establishes the enterprise-wide standards, expectations, and mandatory controls for all software lifecycles.

3
MCQmedium

A financial services firm is designing a new web application that will allow customers to transfer funds between accounts. The security architect has mandated that the application must enforce the principle of 'least privilege' for all user actions. Which design approach best achieves this?

A.Implement a single administrative account with full access to all application functions, and require strong multi-factor authentication for its use.
B.Use a shared service account for all application components to simplify permission management and reduce administrative overhead.
C.Assign each user a role with the minimum permissions necessary to perform their job functions, and regularly review role assignments.
D.Allow users to request additional permissions through a self-service portal that automatically grants access after a short delay.
AnswerC

This approach directly implements least privilege by granting only the permissions required for a user's role and periodically validating that those permissions remain appropriate. It limits the blast radius of compromised accounts and reduces the risk of privilege abuse. Regular reviews ensure that permissions do not accumulate over time, which is a common failure mode in role-based access control systems.

Why this answer

Least privilege requires that users and processes operate with only the permissions essential to their function. Assigning minimal role-based permissions and conducting regular reviews ensures that access remains tightly scoped over time. The other options either grant excessive permissions, share accounts broadly, or automate elevation without oversight, all of which violate the principle.

Exam trap

The trap here is assuming that strong authentication or simplified management justifies broad access, but least privilege is about minimizing permissions regardless of other controls.

4
MCQeasy

A developer is configuring a web application to use the principle of least privilege. Which action best aligns with this philosophy?

A.Granting the application access to all system environment variables.
B.Using a dedicated service account with granular permissions for database access.
C.Enabling 'Everyone' write access to application configuration files.
D.Running the application process as 'root' or 'administrator'.
AnswerB

Least privilege requires granting only the permissions needed for a task. A dedicated service account with granular database permissions avoids shared, over-privileged credentials, limiting blast radius if compromised and satisfying the constraint that database access be scoped to exactly what the application requires.

Why this answer

Using a dedicated service account with granular permissions for database access embodies least privilege by granting only the necessary permissions to perform specific tasks. This minimizes the attack surface and limits potential damage from compromised credentials. The other options either grant excessive permissions or violate least privilege by allowing broad access.

Exam trap

CSSLP often tests the misconception that least privilege means simply using a separate account, rather than ensuring that account has only the minimal necessary permissions.

How to eliminate wrong answers

Option A is wrong because granting access to all system environment variables violates least privilege; the application should only access variables it needs. Option C is wrong because enabling 'Everyone' write access to configuration files allows unauthorized modification, a severe security risk. Option D is wrong because running as root or administrator gives the application full control over the system, far exceeding necessary privileges.

5
MCQhard

A healthcare organization is designing a system to store and process electronic protected health information (ePHI). The system must comply with HIPAA and ensure data confidentiality at rest. Which cryptographic design choice is most appropriate?

A.Hash the data using SHA-256 with a salt, and store the hash in the database to protect confidentiality.
B.Encrypt the data using AES-256 in Galois/Counter Mode (GCM) with a unique key per data record, and store the keys in a hardware security module (HSM).
C.Encrypt the data using RSA-2048 with OAEP padding, and store the private key in a configuration file on the application server.
D.Encode the data using Base64 encoding, and rely on network-level encryption to protect it at rest.
AnswerB

AES-256-GCM provides strong confidentiality and integrity, and using a unique key per record limits the impact of a key compromise. Storing keys in an HSM protects them from extraction and ensures secure key management. This approach aligns with HIPAA's encryption requirements and best practices for protecting ePHI at rest, as it combines robust encryption with secure key storage.

Why this answer

For protecting ePHI at rest, symmetric encryption with AES-256-GCM offers both confidentiality and integrity, and using a unique key per record with HSM-based key storage ensures strong key management. The other options either use asymmetric encryption inefficiently, apply hashing which is irreversible, or rely on encoding without encryption, all of which fail to meet the confidentiality requirement.

Exam trap

The trap here is confusing encoding or hashing with encryption, or assuming that network-level protections alone suffice for data at rest.

6
MCQhard

A team is using SonarQube to enforce secure coding standards. Which analysis approach is required to detect vulnerabilities related to improper handling of sensitive information in logs?

A.Syntax checking
B.Unit testing
C.Dead code detection
D.Taint analysis
AnswerD

Taint analysis tracks untrusted data flows from sources to sinks, so it can flag when sensitive values propagate into logging calls. This dataflow tracking is what detects improper handling of sensitive information in logs, unlike pattern or style checks.

Why this answer

Data flow analysis (or taint analysis) is required to track whether sensitive data reaches an insecure sink like a log file.

7
MCQhard

During an incident response, you identify that a threat actor has gained unauthorized access to an application's environment variables. What is the immediate correct step to take regarding credential management?

A.Clear the application's cache to remove any temporary sensitive data.
B.Increase the logging level to 'DEBUG' to track the attacker's actions.
C.Change the password for the database user and update the application deployment manifest.
D.Re-deploy the application using the same configuration to ensure a clean state.
AnswerC

Exposed environment variables mean the database credential is compromised, so it must be rotated immediately by changing the password and updating the deployment manifest to distribute the new value. This invalidates the leaked credential before the attacker can reuse it.

Why this answer

When environment variables containing credentials are compromised, the immediate step is to rotate the exposed credentials—specifically, change the database user's password and update the application deployment manifest to use the new password. This invalidates the attacker's access and restores secure authentication. The other options do not address the credential compromise directly.

Exam trap

The trap is focusing on investigative steps (logging, cache clearing) instead of the immediate containment action of credential rotation, which is the priority in incident response.

How to eliminate wrong answers

Option A is wrong because clearing the cache does not revoke the attacker's access to the compromised credentials; they may still use them. Option B is wrong because increasing logging to DEBUG may help investigation but does not mitigate the immediate risk of credential misuse. Option D is wrong because re-deploying with the same configuration would reuse the compromised credentials, leaving the vulnerability in place.

8
Multi-Selectmedium

When designing an automated pipeline to prevent supply chain attacks, which THREE of the following features should be included in your artifact registry?

Select 3 answers
A.Auto-scaling of the registry's storage capacity.
B.Automatic translation of code into multiple languages.
C.Automated vulnerability scanning of stored artifacts.
D.Immutable tags (preventing overwriting of existing tags).
E.Granular Role-Based Access Control (RBAC).
AnswersC, D, E

Automated scanning of stored artifacts detects known CVEs in dependencies and images before deployment, blocking compromised components from reaching consumers. This satisfies the supply chain constraint by continuously verifying that registry contents remain free of exploitable vulnerabilities throughout their retention.

Why this answer

Option C is correct because automated vulnerability scanning of stored artifacts detects known CVEs in container images and packages at push time, enabling the pipeline to block or quarantine compromised artifacts before they reach production. Option D is correct because immutable tags prevent an attacker or compromised build from overwriting an existing tag (e.g., re-pushing a malicious image under a trusted 'latest' or version tag), which is a common supply chain attack vector; immutability ensures a tag always resolves to the same digest. Option E is correct because granular RBAC enforces least privilege, restricting who can push, pull, or delete artifacts and preventing unauthorized modification or injection of malicious images into the registry.

Option A does not belong because auto-scaling storage addresses availability and capacity, not supply chain security. Option B does not belong because translating code into multiple languages is unrelated to artifact registry security and is not a registry feature.

9
MCQmedium

Which phase of the SDLC is the most appropriate for conducting a formal security review of the system's design documentation?

A.Verification phase.
B.Design phase.
C.Implementation phase.
D.Requirements phase.
AnswerB

Security review of design documentation belongs in the design phase, where architecture, data flows and trust boundaries are still malleable. Catching flaws here avoids costly rework later, satisfying the stem's requirement for the most appropriate SDLC phase to formally assess the system's design.

Why this answer

The Design phase allows for architectural security reviews and threat modeling before any code is written, ensuring security is integrated early.

10
Multi-Selecthard

Which THREE factors should be considered when prioritizing findings from a DAST scan?

Select 3 answers
A.The time of day the scan was performed.
B.The number of lines of code in the component.
C.The ease of exploitability and availability of exploits.
D.The sensitivity of the data handled by the vulnerable endpoint.
E.The CVSS base score of the vulnerability.
AnswersC, D, E

Ease of exploitability and public exploit availability directly determine real-world risk, so they must weight DAST triage. A remotely exploitable flaw with a weaponised exploit warrants immediate remediation, whereas a theoretical issue requiring unusual conditions ranks lower. This satisfies the stem's prioritisation constraint by ranking findings on practical attack likelihood.

Why this answer

Option C is correct because the ease of exploitability and the existence of public exploits (e.g., weaponized PoCs in Exploit-DB or Metasploit modules) directly raise the real-world risk of a DAST finding, making it a primary prioritization factor. Option D is correct because the sensitivity of the data handled by the vulnerable endpoint (e.g., PII, credentials, or PCI data) determines the potential business impact if the finding is exploited, which is essential for risk-based triage. Option E is correct because the CVSS base score provides a standardized, vendor-neutral severity metric (combining exploitability and impact sub-scores) that is widely used to rank DAST findings objectively.

Option A does not belong because the time of day a scan ran has no bearing on the vulnerability's severity or exploitability. Option B does not belong because lines of code is a static code metric, not a DAST finding attribute, and does not indicate exploitability or impact.

11
MCQhard

A company is designing a microservices-based e-commerce platform. The security team wants to ensure that if one microservice is compromised, the attacker cannot easily move laterally to other services. The design must enforce least privilege and provide strong authentication and authorization between services. Which design pattern best achieves these goals?

A.Implement network segmentation with firewalls between microservices, and use static API keys for authentication.
B.Use a shared database with row-level security, and enforce access control at the application layer for each microservice.
C.Implement a service mesh with mutual TLS (mTLS) for service-to-service authentication and authorization policies enforced at the sidecar proxy.
D.Use a centralized API gateway for all service-to-service communication, with OAuth 2.0 tokens for authentication and authorization.
AnswerC

A service mesh with mTLS ensures that each service authenticates to others using certificates, and authorization policies at the sidecar proxy enforce least privilege. This design provides strong identity and access control at the network layer, preventing lateral movement because a compromised service cannot impersonate another without valid certificates. The sidecar proxy intercepts all traffic, enabling consistent policy enforcement and detailed audit logging, which is ideal for microservices.

Why this answer

A service mesh with mutual TLS and sidecar-enforced authorization provides strong identity and least privilege for service-to-service communication. Each service has a cryptographic identity, and policies are enforced consistently at the proxy. This design prevents lateral movement because a compromised service cannot authenticate as another without valid certificates, and all traffic is subject to fine-grained authorization policies.

Exam trap

The trap here is assuming that network segmentation with static API keys or a centralized API gateway provides sufficient service-to-service security, when in fact strong mutual authentication and fine-grained authorization are needed to prevent lateral movement in microservices.

12
MCQmedium

To ensure secure deployment of software artifacts, you must verify the integrity of the binaries. Which mechanism is most effective for ensuring that artifacts have not been tampered with since they were signed by the build system?

A.Check the file timestamp using the operating system's file system metadata.
B.Upload the artifact to a public VirusTotal scan before deploying.
C.Compare the file size of the artifact with the size listed in the manifest file.
D.Verify the digital signature using a trusted public key from your organization's key store.
AnswerD

Verifying the artifact's digital signature with the organisation's trusted public key proves the build system signed those exact bytes; any tampering invalidates the signature. This satisfies the stem's integrity constraint, unlike checksums, which an attacker who alters the artifact could also recompute.

Why this answer

Cryptographic signing (such as GPG or Cosign for containers) creates a verifiable link between the source code and the binary.

13
Multi-Selecthard

When evaluating software security governance, which TWO of the following are necessary to ensure security alignment with business goals?

Select 2 answers
A.Limiting access to all security documentation.
B.Integrating security risk management with enterprise risk management.
C.Securing executive sponsorship and support.
D.Focusing exclusively on technical tool implementation.
E.Increasing the number of security alerts for developers.
AnswersB, C

Aligning security risk management with enterprise risk management ties technical risk exposure to the organisation's overall risk appetite and reporting structures. This satisfies the stem's governance requirement by ensuring security decisions are prioritised using the same business-impact criteria that drive strategic objectives.

Why this answer

Option B is correct because integrating security risk management with enterprise risk management (ERM) ensures that security risks are evaluated, prioritized, and reported using the same governance framework and risk appetite as other business risks, directly aligning security decisions with organizational objectives. Option C is correct because securing executive sponsorship and support provides the authority, funding, and strategic direction needed to embed security into business processes and hold the organization accountable to governance goals. Options A, D, and E do not belong: limiting access to all security documentation impedes transparency and informed decision-making, focusing exclusively on technical tool implementation ignores strategic and process-level governance, and increasing the number of security alerts for developers creates noise rather than alignment with business goals.

14
MCQmedium

When managing third-party libraries, why is a Software Bill of Materials (SBOM) essential?

A.To encrypt source code
B.To provide a complete inventory of software components
C.To speed up build times
D.To replace the need for unit testing
AnswerB

An SBOM enumerates every component, library and dependency version within the software, giving the complete inventory needed to identify affected third-party libraries when a new vulnerability is disclosed. This visibility satisfies the third-party library management requirement by enabling rapid impact assessment and remediation.

Why this answer

An SBOM provides a machine-readable, complete inventory of all software components and their dependencies, which is essential for identifying and responding to vulnerabilities in third-party libraries. Without this inventory, an organization cannot know whether it is affected by a newly disclosed CVE in a transitive dependency. This transparency is the foundation of software supply chain risk management.

Exam trap

CSSLP often tests the misconception that an SBOM is a security tool that patches or encrypts, when it is actually an inventory and transparency artifact whose value lies in enabling vulnerability identification and supply chain risk management.

How to eliminate wrong answers

Option A is wrong because SBOMs do not encrypt source code — encryption is a separate cryptographic control, and an SBOM is a manifest of components, not a protection mechanism. Option C is wrong because SBOM generation is a documentation and inventory activity that does not affect build performance; in fact, generating SBOMs can add minor build overhead. Option D is wrong because an SBOM is not a testing tool and cannot replace unit testing — it identifies what components exist, not whether the code behaves correctly or securely.

15
MCQmedium

A healthcare SaaS provider must ensure that only authorized clinicians can view patient records, and that any access is logged with a tamper-evident trail. The lead architect proposes implementing role-based access control (RBAC) with digital signatures on audit logs. Which security objective does this combination primarily satisfy?

A.Availability
B.Confidentiality
C.Non-repudiation
D.Accountability
AnswerD

Accountability ensures that every action can be traced to a responsible entity. RBAC restricts access to authorized clinicians, and tamper-evident audit logs record who accessed what and when. Together, they provide the ability to hold users responsible for their actions. Digital signatures on logs add integrity, preventing undetected modification. This directly satisfies the requirement that access is logged with a tamper-evident trail.

Why this answer

Accountability is the security objective that ties actions to identities. RBAC enforces authorized access, and tamper-evident audit logs provide a reliable record of who did what. Together, they enable holding clinicians responsible for viewing patient records.

Non-repudiation is related but focuses on preventing denial of an action, while confidentiality and availability address different aspects of security.

Exam trap

The trap here is confusing accountability with non-repudiation, because both involve audit logs; however, accountability is about tracing actions to identities, while non-repudiation specifically prevents denial of an action.

16
MCQhard

A software company is developing a cloud-based collaboration platform that will be used by government agencies. The platform must adhere to FedRAMP requirements. The security team is defining security requirements and needs to ensure that data in transit is protected. Which of the following requirements is MOST appropriate to include in the security requirements specification to meet FedRAMP requirements?

A.The platform must implement IPsec VPN for all user connections.
B.The platform must use TLS 1.2 or higher for all data in transit, with approved cipher suites.
C.The platform must use SSH for all administrative access to the cloud infrastructure.
D.The platform must encrypt all data at rest using AES-256.
AnswerB

FedRAMP mandates the use of secure protocols such as TLS 1.2 or higher for data in transit, with FIPS 140-2 validated cryptographic modules. This requirement ensures confidentiality and integrity of data during transmission, directly aligning with FedRAMP controls. It is specific, verifiable, and meets the regulatory baseline.

Why this answer

FedRAMP requires the use of TLS 1.2 or higher with approved cipher suites for protecting data in transit. This requirement is specific and directly addresses the need to secure data transmitted between users and the cloud platform. Other options address different security aspects or are not the standard for user-facing data in transit.

Exam trap

The trap here is selecting a control for data at rest or administrative access when the question explicitly asks for data in transit protection under FedRAMP.

17
MCQeasy

What is the primary function of a 'Vulnerability Disclosure Policy' (VDP) in a vendor's secure development lifecycle?

A.Provide a secure channel for researchers to report vulnerabilities.
B.Automate the patching of production servers.
C.Create a list of known hardware defects.
D.Legal protection against data breaches.
AnswerA

A VDP publishes a defined intake route, such as a security contact or bug bounty portal, so external researchers can report findings without resorting to public disclosure. This gives the vendor private remediation time, satisfying the stem's focus on the policy's primary function.

Why this answer

A Vulnerability Disclosure Policy (VDP) defines how external security researchers can report vulnerabilities to an organization, specifying the scope, reporting channel, and safe harbor terms. Its primary function is to provide a clear, secure, and legal channel for receiving vulnerability reports so they can be triaged and remediated. It is a foundational element of coordinated vulnerability disclosure (CVD) and is distinct from bug bounty programs, which add incentives.

Exam trap

The trap is confusing a VDP with a bug bounty program or with legal/insurance protections, when the VDP's core purpose is to establish a reporting channel and safe harbor for researchers.

How to eliminate wrong answers

Option B is wrong because automating patching of production servers is a configuration management and deployment concern (e.g., CI/CD, patch management tools), not the function of a VDP. Option C is wrong because a list of known hardware defects is an asset inventory or hardware lifecycle artifact; a VDP addresses software and system vulnerabilities reported by external parties. Option D is wrong because legal protection against data breaches is provided by contracts, insurance, and compliance programs; a VDP provides safe harbor for good-faith researchers, not blanket legal protection against breaches.

18
MCQmedium

Your development team is integrating a new third-party library via npm. To prevent dependency confusion attacks where a malicious package is pulled from a public registry instead of your internal private registry, which configuration should be applied?

A.Set the registry URL in the .npmrc file to point specifically to your internal Artifactory or Nexus scope.
B.Run 'npm audit fix' before every build process.
C.Add the dependency to the 'bundledDependencies' array in package.json.
D.Enable 'strict-ssl' in the global npm configuration.
AnswerA

Scoping the registry URL in .npmrc to your internal Artifactory or Nexus ensures npm resolves scoped packages only from the private registry, so a malicious public package with the same name cannot be substituted. This directly prevents the dependency confusion attack described in the stem.

Why this answer

Scoped registries in .npmrc ensure that packages within a specific scope are always fetched from the designated private registry, preventing the resolution of malicious public packages with the same name.

19
MCQhard

A security architect is reviewing the design of a payment processing system that uses a message queue to decouple services. The architect wants to ensure that if a message is intercepted and modified in transit, the receiving service can detect the tampering and reject the message. The system already uses TLS for transport encryption. Which additional design control best provides end-to-end integrity for the message payload?

A.Digitally sign the message payload with the sender's private key and have the receiver verify the signature using the sender's public key.
B.Enable TLS mutual authentication (mTLS) between the sender and the message queue and between the queue and the receiver.
C.Encrypt the message payload with a symmetric key shared between the sender and receiver before placing it on the queue.
D.Use a message authentication code (MAC) with a key shared between all services that interact with the queue.
AnswerA

A digital signature provides integrity and authenticity. If the payload is modified in transit, the signature verification will fail because the hash no longer matches. TLS only protects the message while in transit between immediate hops; once the message is stored in the queue, TLS does not protect it. Signing the payload ensures end-to-end integrity regardless of intermediate storage.

Why this answer

Digital signatures bind the message content to the sender's private key, so any modification invalidates the signature. Unlike transport-layer protections, a signature remains verifiable after the message leaves the TLS tunnel and is stored in a queue. This provides end-to-end integrity and authenticity, which is critical for payment messages that may traverse multiple services.

Exam trap

The trap here is assuming that TLS or mTLS provides end-to-end integrity for messages that are stored and forwarded, when in fact transport security only protects data while it is moving between two endpoints.

20
MCQhard

In a cloud-native environment, which design practice minimizes the impact of a compromised container?

A.Storing secret keys as environment variables in the container spec.
B.Enforcing read-only root filesystems for containers.
C.Running the application process as the root user.
D.Using a single large image for all microservices.
AnswerB

A read-only root filesystem prevents an attacker who compromises a container from writing malware, altering binaries or persisting changes to the image layers. This contains the breach to the running container's ephemeral state, minimising impact within the cloud-native environment.

Why this answer

Containers should be designed to be immutable and run with minimal privileges, reducing the blast radius.

21
MCQhard

When designing a system that must satisfy both HIPAA and local privacy laws, which requirement approach is most appropriate?

A.Prioritize HIPAA over local laws
B.Follow only the most recent regulation
C.Create separate modules for each regulation
D.Adopt the most restrictive controls from all applicable regulations
AnswerD

Regulations overlap, so satisfying each independently leaves gaps. Adopting the most restrictive control for every requirement ensures compliance with all applicable laws simultaneously, since meeting the strictest threshold inherently satisfies the looser obligations of the others.

Why this answer

When multiple regulations apply simultaneously, the correct engineering approach is to adopt the most restrictive controls from each applicable regulation, because a control that satisfies the strictest requirement generally satisfies the looser ones as well. This avoids building parallel compliance silos and produces a single unified control set that is defensible to every auditor. HIPAA sets a floor, not a ceiling, and local privacy laws (e.g., GDPR, state statutes) may impose stricter breach notification, consent, or data-residency rules that must also be met.

Exam trap

The trap is the instinct to treat one regulation as dominant — candidates pick 'prioritize HIPAA' (A) because it is the most familiar healthcare law, missing that local laws often impose stricter, non-preempted obligations.

How to eliminate wrong answers

Option A is wrong because HIPAA is a US federal floor and does not preempt stricter state or international privacy laws — prioritizing it would leave the organization non-compliant with local statutes. Option B is wrong because 'most recent' is not a legal standard; older regulations remain in force and must still be satisfied regardless of enactment date. Option C is wrong because building separate modules per regulation creates fragmented data flows, duplicated controls, and inconsistent enforcement, dramatically increasing both cost and the risk of a gap that violates one regime.

22
Multi-Selectmedium

When integrating security into an Agile environment, which THREE of the following activities are considered essential for maintaining security velocity?

Select 3 answers
A.Integrating security unit tests into the automated test suite.
B.Performing manual penetration tests on every commit.
C.Waiting for the final release to review security documentation.
D.Conducting regular threat modeling sessions.
E.Incorporating security requirements into user stories.
AnswersA, D, E

Automated security unit tests run inside the CI pipeline on every commit, so flaws are caught without a separate review gate. This preserves the short iteration cadence Agile demands, satisfying the stem's security velocity constraint rather than slowing delivery through manual checkpoints.

Why this answer

Option A is correct because integrating security unit tests (e.g., SAST checks, input-validation and authentication tests) into the CI/CD automated test suite lets the team catch vulnerabilities on every build without slowing the sprint cadence, which directly sustains security velocity. Option D is correct because regular threat modeling sessions (for example, using STRIDE during backlog refinement or design sprints) identify design-level risks early, when they are cheapest to fix, rather than after code is written. Option E is correct because incorporating security requirements into user stories, with explicit acceptance criteria such as OWASP ASVS controls or abuse cases, makes security work visible, estimable, and testable inside the normal Agile workflow.

Option B does not belong because manual penetration testing on every commit is impractical, slow, and not automatable, which destroys velocity; pen tests are better performed periodically or on significant releases. Option C does not belong because deferring security documentation review to the final release contradicts Agile's iterative delivery and creates a late-stage bottleneck where remediation is far more costly.

23
MCQhard

A software architect is designing a system that processes credit card payments. The design must comply with PCI DSS requirements for protecting cardholder data. The architect decides to use a tokenization service to replace sensitive card data with non-sensitive tokens. Which design consideration is most critical to ensure the tokenization solution effectively reduces the scope of PCI DSS compliance?

A.Ensure that the tokenization service is hosted in a separate network segment and that the application never stores or processes the original card data after tokenization.
B.Use a token format that is mathematically derived from the original card number so that the token can be reversed if needed for business operations.
C.Implement tokenization at the application layer so that the application can validate card numbers before sending them to the tokenization service.
D.Store the tokenization mapping table in the same database as the application data to simplify lookups and reduce latency.
AnswerA

For tokenization to reduce PCI DSS scope, the sensitive card data must be isolated from the application environment. Hosting the tokenization service in a separate segment and ensuring the application never handles raw card data means the application falls outside the cardholder data environment (CDE). This minimizes the systems that need to be PCI DSS compliant, which is the primary goal of tokenization.

Why this answer

Tokenization reduces PCI DSS scope by replacing sensitive card data with non-sensitive tokens, but this only works if the original data is not accessible to the application. Isolating the tokenization service and ensuring the application never handles raw card data keeps the application out of the cardholder data environment. This design minimizes the systems that must comply with PCI DSS, which is the primary benefit of tokenization.

Exam trap

The trap here is thinking that any form of tokenization automatically reduces PCI scope, when in fact the application must be completely isolated from raw card data to achieve scope reduction.

24
MCQmedium

You notice that your build server environment pulls Docker images from a public registry with the ':latest' tag. Why is this a major supply chain security flaw?

A.The tag prevents container layer caching.
B.The tag is mutable, allowing an attacker to inject a malicious image.
C.The registry will throttle downloads of the ':latest' tag.
D.The tag is deprecated in favor of ':stable'.
AnswerB

The ':latest' tag is mutable: a registry push can repoint it to a different image digest at any time. Because the build server resolves the tag at pull time, an attacker who compromises the registry or upstream project can substitute a malicious image, executing arbitrary code in the build pipeline.

Why this answer

The ':latest' tag is a mutable pointer, not a fixed version identifier. When a build server pulls 'image:latest', it retrieves whatever image the registry currently associates with that tag, which may differ from the image previously tested or approved. An attacker who compromises the upstream repository or registry account can push a malicious image under ':latest', and the next build will silently consume it — a classic software supply chain attack.

Exam trap

CSSLP often tests the misconception that ':latest' means 'the newest, most secure version' — candidates overlook that it is a mutable alias that can be silently repointed to a malicious image.

How to eliminate wrong answers

Option A is wrong because image tags have no bearing on Docker layer caching; caching is determined by layer digests and the Dockerfile build context, not the tag name. Option C is wrong because registries do not throttle pulls based on the ':latest' tag specifically; rate limits (e.g., Docker Hub's pull limits) apply to account/IP, not tag value. Option D is wrong because ':latest' is not deprecated — it remains a valid default tag in Docker, though best practice discourages its use in production.

25
Multi-Selecthard

Which TWO methods are effective in hardening the production environment against 'Zero-Day' vulnerabilities?

Select 2 answers
A.Implementing granular network segmentation to limit lateral movement.
B.Disabling all security logging to prevent alert fatigue.
C.Relying solely on perimeter-based firewalls for security.
D.Updating the application to the latest version once per year.
E.Deploying RASP (Runtime Application Self-Protection) agents to monitor and block malicious behavior.
AnswersA, E

Granular segmentation constrains east-west traffic, so a zero-day exploit on one host cannot pivot freely. Since no signature exists to block the initial compromise, limiting lateral movement contains blast radius and satisfies the hardening constraint.

Why this answer

Option A is correct because granular network segmentation (e.g., VLANs, microsegmentation, and least-privilege firewall rules) limits lateral movement, so even an unknown zero-day exploit that compromises one host cannot easily spread to other production systems. Option E is correct because RASP agents instrument the application runtime itself, detecting and blocking malicious behavior such as unexpected command execution or injection attempts in real time, which defends against zero-day flaws for which no signature or patch yet exists. Options B, C, and D are not appropriate: disabling security logging destroys the audit trail and detection capability needed to identify zero-day exploitation, perimeter-only firewalls fail against attacks that bypass or originate inside the perimeter, and annual patching is far too infrequent to address rapidly emerging vulnerabilities.

26
MCQhard

A company is designing a microservices-based e-commerce platform. The security team wants to ensure that if one microservice is compromised, the attacker cannot easily move laterally to other services. Which design pattern best addresses this concern?

A.Shared database with a single set of credentials for all microservices.
B.Client-side load balancing with direct service-to-service calls.
C.Service mesh with mutual TLS (mTLS) and fine-grained access policies.
D.API gateway with centralized authentication and authorization.
AnswerC

A service mesh with mTLS encrypts and authenticates all service-to-service communication, and fine-grained access policies enforce least privilege between services. This segmentation limits lateral movement because a compromised service cannot freely communicate with others without proper authorization. The service mesh also provides observability and policy enforcement, making it a robust pattern for containing breaches in microservices architectures.

Why this answer

A service mesh with mTLS and fine-grained access policies provides strong identity-based authentication and authorization for service-to-service communication. By enforcing least privilege and encrypting traffic, it prevents a compromised microservice from accessing other services without proper credentials. This segmentation is key to containing breaches and limiting lateral movement, unlike centralized gateways or shared databases that do not enforce internal segmentation.

Exam trap

The trap here is assuming that an API gateway or centralized authentication alone can prevent lateral movement, but internal service-to-service security is equally critical.

27
Multi-Selectmedium

A software architect is designing a new web application that will handle credit card transactions. The design must ensure that the application does not store sensitive authentication data after authorization, and that any display of cardholder data is masked. Which two design principles should be applied to meet these requirements? (Choose two.)

Select 2 answers
A.Implement tokenization to replace the primary account number (PAN) with a surrogate value, and store the tokenization vault in the same database as the application.
B.Implement data masking to display only the last four digits of the primary account number (PAN) and mask all other sensitive data in the user interface and logs.
C.Implement encryption of all cardholder data at rest using strong cryptography, and store the encryption keys in the same database for easy access.
D.Implement data minimization by ensuring that sensitive authentication data is not stored after authorization, and that only the minimum required cardholder data is retained.
E.Implement audit logging of all access to cardholder data, and store the logs in a centralized logging system with strict access controls.
AnswersB, D

Data masking ensures that cardholder data is not exposed in the user interface or logs. Displaying only the last four digits of the PAN is a common PCI DSS requirement. Masking other sensitive data prevents accidental leakage through screenshots, logs, or shoulder surfing. This design principle protects data in use and helps meet compliance requirements for display of cardholder data.

Why this answer

Data minimization and data masking are the two design principles that directly address the requirements. Data minimization ensures sensitive authentication data is not stored after authorization and only necessary cardholder data is retained. Data masking ensures that displayed cardholder data is masked, such as showing only the last four digits of the PAN, preventing exposure in the UI and logs.

Exam trap

The trap here is assuming that encryption or tokenization alone satisfies the requirement to not store sensitive authentication data after authorization, when in fact data minimization and masking are the specific design principles needed.

28
MCQeasy

What is the primary goal of the 'Principle of Least Privilege' (PoLP)?

A.To restrict access to the minimum necessary for a task.
B.To simplify administrative tasks by giving everyone full access.
C.To ensure that security controls are invisible to users.
D.To provide all users with the same set of permissions.
E.To automatically grant permissions based on time of day.
AnswerA

PoLP grants each user, process or service only the permissions required to complete its defined task, nothing more. This directly satisfies the stem's goal by shrinking the attack surface and limiting blast radius, since compromised accounts cannot reach unrelated systems or data beyond their task scope.

Why this answer

PoLP ensures that entities are granted only the minimum level of access required to perform their functions.

29
MCQeasy

What is the primary benefit of conducting a security-focused 'Lessons Learned' meeting after a software incident?

A.To calculate the financial loss of the incident.
B.To satisfy external auditors' compliance requirements.
C.To update the SDLC to prevent similar future vulnerabilities.
D.To assign blame to the developer who wrote the code.
AnswerC

A security-focused Lessons Learned meeting identifies root causes and control gaps from the incident, then feeds concrete improvements back into the SDLC — requirements, design reviews, coding standards and testing — so similar vulnerabilities are prevented in future releases rather than merely documented.

Why this answer

Lessons learned help update the security lifecycle process to prevent similar future incidents, fostering continuous improvement.

30
Multi-Selecthard

Which TWO of the following are crucial when performing a manual code review for security?

Select 2 answers
A.Identifying data flow sources and sinks
B.Focusing only on UI design elements
C.Rewriting the entire application
D.Verifying authorization checks are enforced
E.Checking code indentation consistency
AnswersA, D

Tracing untrusted input from entry points (sources) to sensitive operations (sinks) exposes injection, path traversal and deserialisation flaws that pattern-matching tools miss. This directly satisfies the stem's manual review constraint: a human follows tainted data across functions and files, confirming whether validation or encoding actually neutralises it.

Why this answer

Option A is correct because identifying data flow sources and sinks is essential in manual security code review: you trace where untrusted input enters (sources such as HTTP parameters, headers, or file uploads) and where it reaches sensitive operations (sinks such as SQL queries, OS commands, or HTML output), which is how you spot injection, XSS, and similar flaws. Option D is correct because verifying that authorization checks are enforced ensures each sensitive function or resource access validates the caller's permissions server-side, preventing broken access control (e.g., IDOR or privilege escalation) that automated tools often miss. Option B is not appropriate because UI design elements are cosmetic and unrelated to security vulnerabilities.

Option C is not appropriate because rewriting the entire application is a remediation/development activity, not part of reviewing code for security. Option E is not appropriate because code indentation consistency is a style concern with no direct security impact.

Exam trap

The trap here is confusing code review with code quality or remediation activities — candidates pick style or rewrite options because they sound thorough, but CSSLP tests whether you know review is about data flow and access control enforcement.

31
MCQmedium

You are leading a threat modeling session for a new cloud-native application. You identify a potential threat where an attacker attempts to inject malicious SQL queries into the search bar. Which technique should you employ to document this behavior during the Secure Software Requirements phase?

A.Attack Tree Analysis
B.Misuse Case Modeling
C.Data Flow Diagramming
D.Compliance Matrix Mapping
AnswerB

Misuse case modelling documents adversarial goals against legitimate functionality, capturing the attacker's SQL injection intent as a structured abuse scenario. This satisfies the Secure Software Requirements phase constraint by recording the threat's behaviour during requirements, before design or code exists, so mitigations such as parameterised queries can be specified as explicit security requirements.

Why this answer

Misuse case modeling documents how a system can be misused by an actor (the misuser) to achieve a malicious goal, which is exactly what is needed to capture an attacker injecting SQL into a search bar during the Secure Software Requirements phase. It complements use cases by describing negative behavior and is used to derive security requirements and test cases. Attack trees are better suited to decomposing a high-level attack goal into sub-goals during threat modeling, not for documenting a specific misuse scenario in requirements.

Exam trap

The trap is conflating threat modeling artifacts (attack trees, DFDs) with requirements-phase artifacts (misuse cases), causing candidates to pick a design-time technique for a requirements-phase documentation task.

How to eliminate wrong answers

Option A is wrong because Attack Tree Analysis is a threat modeling technique that decomposes an attacker's goal into sub-goals and is typically used during design/threat modeling, not as the primary artifact for documenting a specific misuse behavior in the requirements phase. Option C is wrong because Data Flow Diagramming maps how data moves between processes, stores, and external entities; it identifies trust boundaries and data flows but does not itself document attacker misuse behavior. Option D is wrong because Compliance Matrix Mapping traces regulatory requirements to controls or features; it is a governance artifact and does not capture attacker behavior or misuse scenarios.

32
MCQhard

A software architect is designing a component that will process untrusted input from external sources. To prevent injection attacks, the architect decides to implement input validation. Which design approach for input validation is most effective at mitigating injection flaws?

A.Rely on parameterized queries and stored procedures to handle all input, and skip additional validation.
B.Use a blacklist of known dangerous characters and patterns, and sanitize the input by removing or escaping them.
C.Validate input on the client side using JavaScript to provide immediate feedback and reduce server load.
D.Use a whitelist of allowed characters and patterns, and reject any input that does not strictly conform to the expected format.
AnswerD

Whitelisting, or positive validation, defines exactly what is allowed and rejects everything else. This is highly effective against injection attacks because it prevents malicious characters or patterns from being processed. It is a robust design approach that minimizes the attack surface and is recommended by security standards for input validation.

Why this answer

Whitelist validation, also known as positive validation, is the most effective design approach for input validation because it strictly defines what is allowed and rejects all other input. This prevents attackers from injecting malicious characters or patterns, regardless of the injection type. It is a fundamental secure design principle that should be applied to all untrusted input.

Exam trap

The trap here is assuming that parameterized queries alone are sufficient for all injection types, or that blacklisting can be comprehensive, when whitelisting is the strongest approach.

33
MCQeasy

A software vendor provides a critical component to your organization. During contract negotiations, you request that the vendor provide a Software Bill of Materials (SBOM) for each release. The vendor agrees to provide a document listing all open-source libraries and their versions. Which additional attribute is most important to include in the SBOM to support rapid vulnerability response?

A.The URL of the project's public repository.
B.The cryptographic hash of each component artifact.
C.The name of the developer who contributed the most lines of code to each library.
D.The license type of each component.
AnswerB

Cryptographic hashes uniquely identify the exact artifact and enable integrity verification. When a new vulnerability is announced, a hash allows you to confirm whether the specific binary or package you received is affected, rather than relying solely on version numbers which can be ambiguous or spoofed. This supports rapid and accurate response, as you can match the hash against known vulnerable artifacts and ensure you are analyzing the correct code.

Why this answer

Including cryptographic hashes in an SBOM provides a precise fingerprint for each component. When a vulnerability is announced, you can compare the hash of your deployed artifact against known vulnerable hashes or use it to verify that the correct component is being analyzed. This eliminates ambiguity from version strings and supports automated, rapid response.

Other attributes like licenses and repository URLs are valuable but do not fulfill the critical need for exact identification.

Exam trap

The trap here is thinking that a version number or repository URL is sufficient to identify a component, when hash-based identification is required for unambiguous vulnerability matching.

34
Multi-Selectmedium

To protect against a compromised build pipeline, which TWO of the following configurations should be implemented to ensure 'Hermetic Builds'?

Select 2 answers
A.Enable verbose logging to standard output.
B.Automatically pull the latest compiler version.
C.Disable network access during the build process.
D.Use pinned dependencies with cryptographic hashes.
E.Allow developers to trigger manual builds via SSH.
AnswersC, D

Hermetic builds require isolation from external inputs, so disabling network access during the build stops dependency downloads, exfiltration and remote code retrieval. This closes the pipeline compromise vector where an attacker injects malicious content over the network mid-build.

Why this answer

Hermetic builds require that a build is isolated from external influences and fully reproducible, so option C (disable network access during the build process) is correct because it prevents the build from fetching unpinned or potentially tampered artifacts, dependencies, or tooling from the internet at build time. Option D (use pinned dependencies with cryptographic hashes) is also correct because pinning exact dependency versions and verifying them against cryptographic hashes guarantees that only the intended, untampered artifacts are consumed, which is essential for reproducibility and supply-chain integrity. In contrast, option A (verbose logging to standard output) only improves observability and does not enforce isolation or reproducibility.

Option B (automatically pulling the latest compiler version) is the opposite of hermetic, since it introduces non-deterministic, mutable toolchain inputs. Option E (allowing developers to trigger manual builds via SSH) expands the attack surface and bypasses controlled, automated build pipelines, so it does not support hermetic builds.

35
MCQhard

When designing an application that requires secret management (e.g., API keys, database credentials), which design pattern is considered most secure?

A.Using a dedicated Secret Management service (e.g., HashiCorp Vault, AWS Secrets Manager) to inject secrets at runtime.
B.Storing secrets in a configuration file within the deployment container.
C.Requesting secrets from the user at application startup.
D.Hard-coding secrets in the source code as encrypted strings.
AnswerA

A dedicated secret management service stores credentials centrally, encrypts them at rest, enforces access policies and audits retrieval. Injecting secrets at runtime keeps them out of source code, build artefacts and container images, eliminating hard-coded credential exposure — the most secure pattern for the stated requirement.

Why this answer

Retrieving secrets dynamically from a dedicated secret manager at runtime prevents hard-coding and exposure in configuration files.

36
Multi-Selectmedium

When performing a vendor security assessment for a new SaaS product, which THREE of the following should be requested to evaluate their supply chain resilience?

Select 3 answers
A.A list of critical fourth-party service providers (sub-processors).
B.The vendor's employee handbook.
C.The vendor's annual financial report.
D.Software Bill of Materials (SBOM) for the application.
E.Evidence of automated CI/CD dependency vulnerability scanning.
AnswersA, D, E

Fourth-party sub-processors are the upstream dependencies where supply chain failures actually originate. Requesting this list exposes concentration risk and unassessed vendors beneath the SaaS provider, directly satisfying the stem's resilience evaluation of the extended supply chain rather than the provider's own controls.

Why this answer

Option A is correct because identifying critical fourth-party service providers (sub-processors) is essential to map the extended supply chain and assess concentration, geographic, and jurisdictional risks that could disrupt the SaaS service. Option D is correct because an SBOM enumerates the software components and dependencies in the application, enabling verification of known vulnerabilities, license risks, and provenance of third-party libraries. Option E is correct because evidence of automated CI/CD dependency vulnerability scanning demonstrates continuous detection of vulnerable or malicious dependencies before deployment, directly strengthening supply chain resilience.

Option B is not relevant because an employee handbook addresses HR policies and conduct, not supply chain risk. Option C is not relevant because an annual financial report reflects the vendor's fiscal health, not the resilience of its software and service supply chain.

Exam trap

CSSLP often tests the scope of vendor assessment; candidates may include financial or HR documents because they seem relevant to due diligence, but the question specifically asks for supply chain resilience, which requires technical and dependency-related artifacts.

37
MCQhard

A security team implements a 'Separation of Duties' policy in the CI/CD pipeline. Which implementation is correct?

A.One developer commits code, and a separate user with deployment permissions triggers the release.
B.The same developer writes, reviews, and deploys the code.
C.The QA team is allowed to modify production database records.
D.The build server automatically deploys code without human verification.
E.All developers have access to the production environment credentials.
AnswerA

Splitting commit and deployment across two identities enforces separation of duties: the developer who authors code cannot also push it to production. This directly satisfies the policy's constraint that no single principal holds both write and release privileges, preventing unilateral changes from reaching production without a second authorised actor.

Why this answer

Separation of Duties (SoD) requires that no single individual controls all phases of a critical process. In a CI/CD pipeline, having one developer commit code and a different user with deployment permissions trigger the release enforces a check-and-balance so that the author cannot unilaterally push code to production. This is the canonical SoD implementation.

Exam trap

The trap is confusing SoD with automation or efficiency — candidates may pick the fully automated option thinking it is 'best practice,' but SoD specifically requires human role separation for high-risk actions.

How to eliminate wrong answers

Option B is wrong because the same developer writing, reviewing, and deploying violates SoD entirely — it concentrates author, reviewer, and releaser roles in one person. Option C is wrong because allowing QA to modify production database records bypasses change control and violates SoD between testing and production operations. Option D is wrong because fully automated deployment without human verification removes the separation between code author and release approver, which SoD requires for high-risk changes.

Option E is wrong because granting all developers production credentials eliminates the boundary between development and operations roles.

38
Multi-Selectmedium

Which TWO of the following are recognized components of the 'Confidentiality, Integrity, and Availability' (CIA) triad?

Select 2 answers
A.Non-repudiation
B.Accounting
C.Integrity
D.Confidentiality
E.Authentication
AnswersC, D

Integrity is one of the three core CIA triad pillars, ensuring data remains accurate and unaltered unless modified by authorised parties. The stem asks for recognised triad components, and integrity is explicitly named in the acronym itself, making it a definitive member.

Why this answer

Option C (Integrity) is correct because the CIA triad explicitly consists of Confidentiality, Integrity, and Availability, where integrity ensures data is accurate, complete, and unaltered by unauthorized parties. Option D (Confidentiality) is correct because it is the core element of the triad that ensures information is accessible only to authorized individuals, typically enforced through encryption and access controls. The unmarked options do not belong: Non-repudiation (A) is a separate security property proving a party cannot deny an action, Accounting (B) relates to auditing and tracking user activity, and Authentication (E) is the process of verifying identity, all of which support but are not components of the CIA triad itself.

39
MCQmedium

A software development team is designing a new mobile application that will store sensitive personal data on the device. The security architect must ensure that the data remains confidential even if the device is lost or stolen, and that the data is protected against unauthorized access by other applications on the same device. Which design approach best meets these requirements?

A.Encrypt the data using a key stored in the device's secure hardware (e.g., Secure Enclave or Trusted Execution Environment) and store the encrypted data in the application's private storage directory.
B.Encrypt the data using a key stored in the application's shared preferences and store the encrypted data on external storage.
C.Obfuscate the data using a proprietary algorithm and store it in the application's private storage directory.
D.Encrypt the data using a key derived from the user's password and store the encrypted data in the application's private storage directory.
AnswerA

Using hardware-backed key storage ensures that the encryption key is protected by dedicated security hardware, making it extremely difficult to extract even if the device is compromised. Storing the encrypted data in the app's private directory prevents other apps from accessing it. This design provides strong confidentiality for data at rest and protects against unauthorized access, meeting the requirements for lost/stolen devices and inter-app isolation.

Why this answer

Hardware-backed key storage combined with app-private storage provides the strongest protection for sensitive data on a mobile device. The secure hardware protects the key from extraction, and the private directory prevents other apps from accessing the encrypted data. This design ensures confidentiality even if the device is lost or stolen and maintains isolation from other applications.

Exam trap

The trap here is assuming that encrypting data with a password-derived key and storing it in private storage is sufficient, when in fact hardware-backed key storage is necessary to protect the key from extraction on compromised devices.

40
MCQhard

A financial services firm is designing a new mobile banking app. The security team wants to ensure that even if an attacker compromises one component, they cannot easily move laterally to access sensitive customer data. Which secure design principle should be prioritized to limit the blast radius of a compromise?

A.Isolation and compartmentalization
B.Separation of duties
C.Least common mechanism
D.Defense in depth
AnswerA

Isolation and compartmentalization involve dividing a system into separate components with controlled interfaces, so a compromise in one does not automatically grant access to others. In a mobile banking app, this could mean isolating the authentication module from the data storage module, using sandboxes, or enforcing network segmentation. This directly limits lateral movement and reduces the blast radius, matching the security team's goal.

Why this answer

Isolation and compartmentalization directly address the need to contain a compromise by separating components and enforcing boundaries. This limits an attacker's ability to move laterally from a compromised component to sensitive data. While defense in depth is valuable, it is a broader concept; the specific goal of limiting blast radius is best served by isolating components and controlling interfaces.

Exam trap

The trap here is choosing defense in depth because it sounds comprehensive, but the question specifically asks for the principle to prioritize to limit lateral movement, which is isolation and compartmentalization.

41
Multi-Selecthard

When designing a test case for secure API authentication, which THREE elements should be included?

Select 3 answers
A.Validating that error messages do not disclose account existence.
B.Testing for insecure token storage.
C.Ensuring token expiration and revocation work correctly.
D.Automating the password recovery workflow.
E.Testing the speed of the API response.
AnswersA, B, C

Authentication error messages must be generic so they cannot reveal whether an account exists, preventing username enumeration. This satisfies the stem's secure API authentication test-case element, complementing valid and invalid credential checks, lockout behaviour and token handling.

Why this answer

Option A is correct because secure API authentication must prevent username/account enumeration: error responses for invalid usernames and invalid passwords should be indistinguishable (same generic message and status code, e.g., 401 with a generic body), so validating that error messages do not disclose account existence is a core security test. Option B is correct because insecure token storage is a common authentication weakness: tests should verify that tokens (JWT, OAuth 2.0 access/refresh tokens, session IDs) are not stored in insecure locations such as localStorage, unencrypted files, or logs, and are protected in transit and at rest. Option C is correct because token lifecycle controls are essential: tests must confirm that tokens expire after their defined lifetime (e.g., JWT 'exp' claim), that refresh tokens can be revoked, and that revoked or expired tokens are rejected by the API.

Option D is not a secure authentication test element; automating the password recovery workflow is a functional/process automation concern, not a security validation of authentication mechanisms. Option E is not a security test element; measuring API response speed is a performance test and does not validate authentication security properties.

42
Multi-Selecteasy

Which TWO of the following represent common output formats for security testing reports?

Select 2 answers
A.PNG.
B.PDF.
C.MP3.
D.BIOS.
E.JSON.
AnswersB, E

PDF is a standard, portable output format for security testing reports, preserving layout and supporting distribution to stakeholders who lack the original tooling. It satisfies the stem's requirement for a common report output format alongside other formats such as XML or HTML.

Why this answer

Option B (PDF) is correct because PDF is a standard, widely used format for delivering polished security testing reports, preserving layout, tables, and charts for stakeholders and clients. Option E (JSON) is correct because JSON is a common machine-readable format used to export structured findings from scanners and testing tools, enabling automation, parsing, and integration with other systems. Option A (PNG) is an image format, suitable for screenshots or diagrams but not a typical full report output format.

Option C (MP3) is an audio format and is irrelevant to security report deliverables. Option D (BIOS) is firmware, not a report format at all.

43
Multi-Selecthard

Which THREE of the following are recognized techniques for minimizing the attack surface of an API?

Select 3 answers
A.Implement robust authentication
B.Use cleartext headers for all communication
C.Implement rate limiting
D.Expose full internal database schemas
E.Disable unused HTTP methods
AnswersA, C, E

Robust authentication forces callers to prove identity before reaching API logic, blocking anonymous abuse and shrinking the reachable attack surface. It is a recognised minimisation technique because unauthenticated endpoints expose parsing, business logic and data-access code to untrusted input.

Why this answer

Option A (Implement robust authentication) is correct because requiring strong, verified identity via mechanisms such as OAuth 2.0, API keys, or mTLS prevents unauthenticated or spoofed clients from reaching API endpoints, directly shrinking the set of reachable, exploitable entry points. Option C (Implement rate limiting) is correct because throttling requests per client/IP (e.g., HTTP 429 responses, token buckets) reduces the exposure window for brute-force, credential-stuffing, and abuse-based attacks, which is a core attack-surface reduction technique. Option E (Disable unused HTTP methods) is correct because turning off methods like PUT, DELETE, TRACE, or OPTIONS that the API does not need removes unnecessary verbs and handlers that attackers could otherwise probe or exploit.

Option B (Use cleartext headers for all communication) is not correct because transmitting headers in cleartext exposes credentials and tokens to interception, increasing rather than minimizing the attack surface. Option D (Expose full internal database schemas) is not correct because revealing internal schema details gives attackers structural intelligence that aids injection and enumeration attacks, which expands the attack surface instead of reducing it.

44
MCQmedium

You are integrating security into a Scrum-based SDLC. The team wants to use the 'Definition of Done' (DoD) to ensure security compliance. Which action most effectively embeds security into the sprint cycle?

A.Adding security-focused acceptance criteria to the Definition of Done.
B.Automating the deployment pipeline to run security scans only after the production release.
C.Performing a full threat model for every user story.
D.Conducting a penetration test at the end of every sprint.
AnswerA

Security acceptance criteria inside the Definition of Done make each increment incomplete until controls are met, embedding verification into every sprint rather than a separate phase, which satisfies the Scrum constraint of continuous, team-owned compliance.

Why this answer

Incorporating security criteria into the DoD ensures that security tasks, such as static analysis or unit testing for vulnerabilities, must be completed before a story is considered finished.

45
MCQmedium

You are auditing a web application for insecure deserialization. Which language-specific feature is most commonly the source of this vulnerability?

A.The use of internal logging
B.The use of JSON.parse()
C.The use of static typing
D.The use of native object serialization
AnswerD

Native object serialisation reconstructs arbitrary types from attacker-controlled bytes, and gadget chains in the classpath then execute during deserialisation. This language-specific mechanism, not generic parsing, is the root cause the stem's insecure deserialisation audit targets.

Why this answer

Native object serialization features (e.g., Java's ObjectInputStream, PHP's unserialize(), Python's pickle, .NET's BinaryFormatter) reconstruct objects from attacker-controlled byte streams, and if the classpath contains gadget chains, this leads directly to remote code execution. JSON.parse() only produces plain data structures (objects, arrays, primitives) with no code execution or object instantiation semantics, so it is not the classic source of insecure deserialization. The vulnerability arises because deserialization trusts the serialized data to define object state and type, which the attacker fully controls.

Exam trap

CSSLP often tests the misconception that any parsing of external data (like JSON.parse) is equivalent to deserialization, when the real risk is language-native object reconstruction that can instantiate classes and trigger gadget chains.

How to eliminate wrong answers

Option A is wrong because internal logging writes data to log sinks and does not reconstruct objects or execute code from untrusted input. Option B is wrong because JSON.parse() produces inert data structures and cannot instantiate arbitrary classes or trigger magic methods, so it is not the typical source of insecure deserialization. Option C is wrong because static typing is a compile-time safety feature that constrains types but does not itself deserialize untrusted data or create gadget-chain execution paths.

46
MCQeasy

Which of the following is a primary objective of 'Secure Configuration Management' in the software lifecycle?

A.Maintaining a consistent and hardened state across all environments.
B.Reducing the total cost of ownership of the cloud infrastructure.
C.Ensuring that developers have administrative access to production databases.
D.Maximizing the number of features delivered in each release.
AnswerA

Secure configuration management enforces baselines that keep development, test and production environments in an identical hardened state, eliminating drift that attackers exploit. This directly satisfies the stem's requirement for a primary objective: consistency across all environments, achieved through automated configuration enforcement rather than one-off manual hardening.

Why this answer

Secure Configuration Management ensures systems are deployed and maintained in a known, hardened, consistent state across development, test, and production — removing default accounts, disabling unnecessary services, applying CIS benchmarks, and detecting drift. Consistency across environments prevents 'it works in dev but is insecure in prod' gaps and supports reproducible audits.

Exam trap

The trap is choosing business-oriented answers (cost, features, developer access) that sound beneficial but are not security objectives — the exam wants the answer tied to hardening, consistency, and least privilege.

How to eliminate wrong answers

Option B is wrong because reducing cloud TCO is a cost-optimization goal, not a security objective, though good configuration management may incidentally reduce waste. Option C is wrong because granting developers administrative access to production databases violates least privilege and separation of duties, directly undermining secure configuration. Option D is wrong because maximizing features per release is a delivery metric that often conflicts with security if it encourages skipping hardening and review.

47
MCQmedium

You are utilizing GitHub Actions for CI/CD and need to prevent secrets from being committed to the repository. Which approach is most effective for a DevSecOps workflow?

A.Enabling 'Secret scanning' and 'Push protection' in the repository settings.
B.Writing a custom shell script to grep all files for common regex patterns.
C.Relying on developers to manually check for secrets before every push.
D.Configuring an external firewall to block all traffic containing API keys.
AnswerA

GitHub's secret scanning detects committed credentials, and push protection blocks them before they reach the remote repository. This pre-commit interception satisfies the stem's DevSecOps requirement to prevent secrets from being committed, rather than detecting them only after exposure.

Why this answer

GitHub's native Secret scanning with Push protection is the most effective DevSecOps control because it detects known secret patterns (and partner-verified tokens) at the platform level and blocks the push before the secret ever lands in the remote repository. This shifts detection left into the developer's workflow with zero custom tooling, and it covers the entire history of pushes rather than a single manual check. Because it is enforced server-side by GitHub, it cannot be bypassed by a developer forgetting to run a local script.

Exam trap

The trap here is confusing 'detection' with 'prevention' — candidates pick the custom script (B) because it feels proactive, but only push protection stops the secret from ever reaching the remote.

How to eliminate wrong answers

Option B is wrong because a custom grep script only catches patterns the author anticipated, produces false positives/negatives, and runs client-side where it can be skipped or bypassed. Option C is wrong because relying on manual developer vigilance is not a control — humans forget, and a single missed push permanently exposes the secret in Git history. Option D is wrong because a network firewall cannot inspect encrypted Git traffic or understand repository semantics, and secrets are committed over HTTPS/SSH where content inspection is impossible or impractical.

48
MCQhard

When utilizing a third-party library, what is the best strategy to minimize security risks during the build process?

A.Trust all repositories by default
B.Download libraries from the developer's website
C.Always use the 'latest' version
D.Pin dependencies to specific versions and verify hashes
AnswerD

Pinning dependencies to exact versions with verified hashes prevents a compromised or substituted package from entering the build, blocking supply-chain attacks such as typosquatting or malicious updates that floating version ranges would silently pull in.

Why this answer

Pinning dependencies to specific versions and verifying hashes ensures that the exact, known-good version of a library is used in every build, preventing unexpected updates that could introduce vulnerabilities or break functionality. Hash verification (e.g., via SHA-256 checksums) confirms the integrity of the downloaded package, guarding against tampering or supply chain attacks. This approach aligns with CSSLP principles of secure build processes and supply chain risk management.

Exam trap

CSSLP often tests the misconception that using the latest version or trusting official sources is sufficient for security, when in fact reproducibility and integrity verification are paramount.

How to eliminate wrong answers

Option A is wrong because trusting all repositories by default ignores the risk of malicious or compromised packages, a common vector for supply chain attacks. Option B is wrong because downloading libraries from the developer's website does not guarantee authenticity or integrity; the site could be compromised, or the download could be tampered with. Option C is wrong because always using the 'latest' version introduces untested and potentially vulnerable code, and breaks reproducibility, making it impossible to ensure a consistent secure state.

49
MCQmedium

A developer wants to ensure that a web application is resistant to SQL injection. Which test case should be included in the automated test suite?

A.null
B.Changing the user agent header to a random string.
C.Injecting characters like single quotes (') and comments (--) into input fields.
D.Uploading a large file to test buffer overflow.
E.Adding a long string to an email field.
AnswerC

Injecting quotes and comment markers directly exercises the parser's handling of untrusted input, satisfying the requirement for a test case that detects SQL injection resistance. Single quotes break string literals, while `--` truncates the remaining query, so unsanitised concatenation produces malformed SQL or altered logic, revealing the vulnerability.

Why this answer

Testing for SQL injection involves sending input that contains special characters (like quotes) to see if the database engine returns an error or executes the injected command.

50
MCQeasy

A development team is designing a desktop application that must call a third-party payment API. The vendor requires the application to prove its identity to the API using a shared secret. A junior engineer proposes embedding the secret directly in the compiled client binary. The security architect must recommend a design change. Which approach best addresses the underlying design flaw?

A.Obfuscate the binary and encrypt the embedded secret with a hardcoded key so that casual inspection tools cannot recover it.
B.Route the payment call through a server-side component that holds the secret and authenticates to the payment API on the client's behalf.
C.Store the secret in the operating system credential manager on the user's machine and have the application read it at runtime.
D.Require the client to send the secret over TLS so that network eavesdroppers cannot capture it in transit.
AnswerB

Moving the secret to a server-side broker places it inside a trust boundary the attacker does not control. The client authenticates to your own backend using a credential appropriate to a public client, and the backend holds the vendor secret and makes the privileged call. This removes the secret from the untrusted environment entirely, which is the correct architectural fix.

Why this answer

A secret embedded in a client binary is inside a trust boundary controlled by the attacker, so no amount of obfuscation, local storage, or transport encryption makes it safe. The correct design moves the privileged credential to a server-side broker that the client calls, keeping the vendor secret out of the untrusted environment. This is the standard pattern for public clients that must reach an API requiring a confidential credential.

Exam trap

The trap here is believing that obfuscation or local credential storage makes a shipped secret safe, when the client environment is entirely under the attacker's control.

51
MCQmedium

Your team is adopting a 'Secure by Default' posture. Which design requirement should be included in the development specification?

A.Allowing administrative access to all users by default.
B.Using self-signed certificates in the development environment only.
C.Disabling all unused services and ports in the production container image.
D.Providing a configuration wizard to enable SSL after deployment.
AnswerC

Disabling unused services and ports shrinks the attack surface, so nothing unnecessary listens for connections. This directly enforces secure-by-default: the production container image exposes only what the application genuinely requires, eliminating latent entry points attackers could exploit.

Why this answer

Secure by default means security controls are enabled without user intervention, such as disabling unnecessary features.

52
Multi-Selectmedium

Which TWO of the following practices are recommended when performing fuzz testing on a web service?

Select 2 answers
A.Disable all logging to improve fuzzing speed.
B.Manually input all test cases.
C.Isolate the fuzzing environment from production data.
D.Use a production environment for maximum realism.
E.Monitor application logs for crash signals and exceptions.
AnswersC, E

Fuzzing generates malformed traffic that can corrupt records, trigger unintended transactions or leak data. Running it against an isolated environment with synthetic or sanitised data prevents production records being damaged or exposed, satisfying the stem's requirement for a recommended web service fuzzing practise.

Why this answer

Option C is correct because fuzz testing deliberately sends malformed, unexpected, and potentially destructive inputs, so the fuzzing environment must be isolated from production data to prevent corruption, data leakage, or service disruption. Option E is correct because monitoring application logs for crash signals, exceptions, stack traces, and error codes is essential to detect the faults fuzzing is designed to uncover and to reproduce and triage them. Option A is wrong because disabling logging removes the very evidence needed to identify crashes and exceptions, undermining the purpose of fuzzing.

Option B is wrong because manual input does not scale and defeats the automation that makes fuzzing effective at generating large volumes of varied test cases. Option D is wrong because using a production environment risks real data and availability, whereas fuzzing should run in an isolated, non-production environment.

53
MCQmedium

In a service-oriented architecture (SOA), which design pattern is most effective for ensuring that messages between services are not tampered with?

A.Digital signatures on the message payload.
B.Logging all messages to a central server.
C.Encryption of the message payload.
D.Using a private network for all communication.
AnswerA

Digital signatures provide integrity and origin authentication by hashing the message payload and encrypting that hash with the sender's private key, so any modification is detectable on verification. This directly satisfies the SOA requirement that messages between services are not tampered with, unlike transport-only protections that leave payloads exposed once decrypted.

Why this answer

Digital signatures on the message payload provide integrity and authenticity: the sender signs the message with a private key, and the receiver verifies with the public key, detecting any tampering. This directly addresses the requirement that messages between services are not altered in transit.

Exam trap

CSSLP often tests the distinction between confidentiality (encryption) and integrity (signatures) — candidates pick encryption thinking it prevents tampering, but encryption alone does not guarantee integrity.

How to eliminate wrong answers

Option B is wrong because logging messages to a central server provides auditability and forensics but does not prevent or detect tampering in transit. Option C is wrong because encryption of the payload provides confidentiality, not integrity — an attacker could still modify ciphertext (though some modes like AES-GCM provide integrity, generic 'encryption' alone does not guarantee tamper detection). Option D is wrong because a private network reduces exposure but does not cryptographically guarantee message integrity; insiders or compromised nodes could still alter messages.

54
MCQmedium

A stakeholder requests a feature that allows users to bypass password complexity requirements for 'internal testing accounts.' As a CSSLP, what is your first step in requirements analysis?

A.Document the risk and perform a formal risk assessment
B.Immediately reject the request
C.Update the password policy
D.Implement the bypass in dev only
AnswerA

Bypassing password complexity for internal testing accounts introduces an authentication weakness that may reach production. Documenting the risk and performing a formal risk assessment satisfies the CSSLP requirement to analyse and quantify security impact before accepting, mitigating or rejecting the stakeholder's request through governance.

Why this answer

A CSSLP's role in requirements analysis is to surface and quantify security risk, not to unilaterally veto business requests. Documenting the risk and performing a formal risk assessment gives stakeholders the information needed to make an informed accept/mitigate/reject decision, preserving the requirements-engineering process. This aligns with CSSLP's emphasis on integrating risk management into the SDLC rather than acting as a gatekeeper.

Exam trap

The trap is the instinct to 'just say no' to a risky request — CSSLP tests whether you follow the risk-management process (document and assess) rather than acting as an unyielding gatekeeper or silently implementing the bypass.

How to eliminate wrong answers

Option B is wrong because immediate rejection bypasses the risk-management process and denies stakeholders the data needed for a decision — CSSLP is not an authoritarian role. Option C is wrong because updating the password policy is a downstream action that presumes the outcome of the assessment and could weaken controls without approval. Option D is wrong because implementing the bypass in dev only still creates a code path that can leak to production and skips the required risk analysis entirely.

55
MCQhard

You are using the 'Complete Mediation' principle in your system's access control design. What does this require?

A.Granting permanent access to all authenticated users.
B.Checking authorization only at login.
C.Checking authorization for every access request.
D.Relying on the user to request access when needed.
E.Caching permissions to reduce latency.
AnswerC

Complete Mediation requires that every access to every object be authorised at the time of the request, with no reliance on cached decisions or assumed trust. Checking authorisation for every access request directly implements this, closing gaps where prior approval might be reused improperly.

Why this answer

The Complete Mediation principle requires that every access request to a resource be checked for authorization, not just at login or at certain times. This ensures that no access is granted without a current authorization decision, preventing bypasses due to cached permissions or session hijacking. It is a core principle of secure design, ensuring that each access is validated against the security policy.

Exam trap

The trap is confusing authentication (verifying identity) with authorization (checking permissions), and thinking that a one-time check at login is sufficient; complete mediation requires continuous authorization checks.

How to eliminate wrong answers

Option A is wrong because granting permanent access to all authenticated users violates least privilege and does not involve per-request checks. Option B is wrong because checking authorization only at login means subsequent requests are not re-evaluated, which fails complete mediation. Option D is wrong because relying on the user to request access is not a systematic enforcement mechanism.

Option E is wrong because caching permissions can lead to stale authorization decisions and does not ensure every access is checked against the current policy.

56
Multi-Selecthard

Which TWO of the following design choices mitigate the risk of 'Broken Object-Level Authorization' (BOLA)?

Select 2 answers
A.Using sequentially incrementing IDs (e.g., 1, 2, 3) for all resources.
B.Relying on the frontend to hide sensitive objects.
C.Using random, non-predictable UUIDs for resource identifiers.
D.Using base64 encoded strings for all database IDs.
E.Verifying that the user ID in the session owns the requested resource ID.
AnswersC, E

Random, non-predictable UUIDs prevent attackers from enumerating or guessing valid resource identifiers, removing the predictable-ID precondition BOLA exploits. This satisfies the stem's design-choice constraint by making object references unguessable, so unauthorised direct object access attempts cannot target known IDs.

Why this answer

Option C is correct because using random, non-predictable UUIDs (e.g., UUIDv4) for resource identifiers makes it impractical for an attacker to guess or enumerate other users' object IDs, removing the easy ID-guessing vector that BOLA exploits. Option E is correct because BOLA fundamentally occurs when an API endpoint accepts an object ID and returns/modifies it without checking that the authenticated session user actually owns or is authorized for that object; explicitly verifying that the session's user ID matches the owner of the requested resource ID enforces object-level authorization on every request. Option A is wrong because sequentially incrementing IDs are trivially enumerable, making it easy to probe other users' objects.

Option B is wrong because hiding objects in the frontend provides no security—attackers can call the API directly, bypassing any UI concealment. Option D is wrong because base64 is an encoding, not encryption or randomization; base64-encoded IDs are reversible and predictable, so they do not prevent enumeration or unauthorized access.

57
MCQhard

A developer is implementing a file upload feature in a web application. The application must allow users to upload images but prevent the execution of malicious scripts. The developer decides to validate the file extension and MIME type. Which additional security control is most effective to prevent stored cross-site scripting (XSS) via uploaded files?

A.Rename all uploaded files to a random string with a .png extension and store them in a directory within the web root.
B.Scan all uploaded files with an antivirus engine and reject any that contain suspicious patterns.
C.Use a client-side JavaScript validation to check the file's magic bytes before upload.
D.Store uploaded files outside the web root and serve them through a handler that sets the Content-Disposition header to attachment and a safe Content-Type.
AnswerD

Storing files outside the web root prevents direct execution or rendering by the web server. Serving them with Content-Disposition: attachment forces download rather than inline display, and a safe Content-Type like application/octet-stream prevents the browser from interpreting the file as HTML or script. This effectively mitigates stored XSS because even if a malicious file is uploaded, it cannot execute in the context of the site.

Why this answer

The most effective control is to store uploaded files outside the web root and serve them with headers that prevent inline rendering. This ensures that even if a malicious file is uploaded, it cannot be executed in the browser as part of the application's origin. Extension and MIME type validation alone can be bypassed, so additional measures like safe storage and serving are critical.

Exam trap

The trap here is believing that validating file extensions and MIME types is sufficient to prevent stored XSS, when attackers can bypass these checks with polyglot files or server misconfigurations.

58
MCQhard

You are performing a fuzzing campaign on a REST API. The API uses JSON Web Tokens (JWT). What is the most effective way to include these tokens in the fuzzer input?

A.null
B.Configure the fuzzer to inject a fresh, valid JWT in the Authorization header before each request.
C.Use the same JWT throughout the entire fuzzing duration.
D.Exclude the Authorization header from the fuzzing target.
E.Disable authentication for the entire API during the test.
AnswerB

Injecting a fresh, valid JWT into the Authorization header before each request ensures the fuzzer reaches authenticated API logic rather than being rejected at the authentication layer. This satisfies the stem's constraint by exercising the endpoints under test with legitimate credentials throughout the campaign.

Why this answer

The fuzzer must be configured to refresh the JWT periodically or use a script to inject a valid token into the Authorization header for every request.

59
MCQhard

You are auditing your software deployment process. Which practice is best to prevent 'Dependency Confusion' attacks where malicious packages are pulled from public registries instead of internal ones?

A.Run all build processes in an isolated network segment without internet access.
B.Define specific versions for all dependencies in a lock file and use a private repository with scoped registries.
C.Use only open-source software libraries.
D.Regularly scan the public registries for malicious packages.
AnswerB

Pinning exact versions in a lock file plus scoped registries on a private repository ensures resolution targets internal packages, satisfying the stem's dependency-confusion constraint. Scoping prevents public registry packages from shadowing internal names, and lock files block silent version substitution.

Why this answer

Dependency confusion attacks exploit misconfigured package managers that check public registries for packages not found internally. Option B directly mitigates this by using a lock file to pin exact versions (preventing automatic pulling of newer malicious versions) and a private repository with scoped registries (ensuring that internal packages are only fetched from trusted sources, not public ones). This combination prevents the attacker from registering a public package with the same name as an internal one and having it pulled during build.

Exam trap

CSSLP often tests the misconception that network isolation or scanning public registries is sufficient to prevent dependency confusion, when the real fix is proper package manager configuration with lock files and scoped private registries.

How to eliminate wrong answers

Option A is wrong because isolating the build network from the internet would prevent necessary external dependencies from being fetched, breaking the build; it's an impractical overkill that doesn't address the root cause. Option C is wrong because using only open-source software does not prevent dependency confusion; open-source packages can still be malicious or typosquatted, and internal packages may still be targeted. Option D is wrong because scanning public registries is reactive and cannot reliably detect all malicious packages before they are pulled; it does not prevent the attack from occurring.

60
MCQmedium

You are leading a secure software initiative at a mid-sized fintech company. The development teams have adopted an Agile methodology with two-week sprints, and management wants to ensure that security activities are integrated into the development process without slowing down delivery. Which of the following is the MOST effective approach to integrate security into the Agile lifecycle?

A.Assign a dedicated security team to perform penetration testing after each sprint.
B.Define security requirements as user stories and include security-focused acceptance criteria in each sprint.
C.Conduct a comprehensive security review at the end of each sprint before the release.
D.Implement a security gate that requires a full threat model before any code is written for each user story.
AnswerB

Embedding security requirements as user stories with acceptance criteria ensures that security is considered from the start of each sprint and validated continuously. This aligns with Agile principles and shift-left security, allowing teams to address security alongside functional requirements. It promotes shared responsibility and avoids late-stage surprises, making it the most effective integration approach.

Why this answer

Integrating security into Agile requires making it part of the routine work, not an afterthought. Defining security requirements as user stories with acceptance criteria ensures that security is planned, implemented, and tested within each sprint. This approach is proactive, scalable, and aligns with the shift-left philosophy, enabling teams to maintain velocity while building secure software.

Exam trap

The trap here is assuming that security must be a separate phase or gate, rather than being embedded into existing Agile artifacts like user stories and acceptance criteria.

61
MCQmedium

You are designing a system to comply with 'Fail-Safe Defaults'. Which configuration best reflects this?

A.If the authorization check fails, explicitly deny the request.
B.If the authentication service is down, allow access to all users.
C.If the firewall fails, allow all traffic to pass through.
D.Default all new user accounts to 'Administrator' role.
E.If the load balancer times out, bypass the application logic.
AnswerA

Fail-safe defaults require that access decisions deny unless explicitly granted, so a failed authorisation check must return deny rather than permit. Explicitly denying on failure satisfies this constraint, preventing accidental access when the check cannot confirm permission.

Why this answer

Fail-safe defaults mean that if an error or crash occurs, the system defaults to the most secure state (e.g., access denied).

62
MCQmedium

You are reviewing a Node.js web application. Which secure coding practice directly mitigates Cross-Site Scripting (XSS) when rendering user-supplied data in an EJS template?

A.Using <%- %> tags for all variables
B.Disabling the template engine
C.Using <%= %> tags for user data
D.Implementing a global regex filter
AnswerC

Using `<%= %>` escapes HTML entities before interpolation, neutralising injected markup so browsers treat user data as text rather than executable script. This directly satisfies the XSS mitigation requirement for EJS rendering, unlike `<%- %>`, which emits raw unescaped output and permits script injection.

Why this answer

In EJS, the <%= %> tag performs HTML entity escaping on the output, converting characters like <, >, &, and quotes into safe entities so injected markup cannot execute in the browser. This directly neutralizes the most common XSS vector — reflected or stored script tags in user-supplied data. Using escaped output is the canonical secure-coding practice for rendering untrusted content in EJS templates.

Exam trap

The trap here is confusing EJS's raw-output tag <%- %> with the escaped tag <%= %> — candidates who assume 'more explicit' or 'less processed' output is safer pick the wrong tag and enable XSS.

How to eliminate wrong answers

Option A is wrong because <%- %> renders raw, unescaped output, which is precisely the pattern that enables XSS when user data is interpolated. Option B is wrong because disabling the template engine does not mitigate XSS — it just removes the rendering layer and forces ad-hoc string concatenation, which is equally or more vulnerable. Option D is wrong because a global regex filter is a blacklist approach that is trivially bypassed with encoding tricks, unusual tags, and DOM-based vectors; it is not a substitute for contextual output encoding.

63
MCQeasy

A software development team is beginning a new project and wants to integrate security into the design phase. Which activity is most effective for identifying potential security requirements early in the software development lifecycle (SDLC)?

A.Performing threat modeling sessions with the architecture team.
B.Deploying a web application firewall (WAF) to protect the application in production.
C.Conducting a penetration test on a prototype of the application.
D.Reviewing the source code for common vulnerabilities using static analysis tools.
AnswerA

Threat modeling is a structured approach to identify potential threats and security requirements during the design phase. By analyzing data flows, trust boundaries, and potential attack vectors, the team can define security controls early, reducing the cost of remediation later. It aligns with the CSSLP principle of building security in from the start and is a core activity in secure software design.

Why this answer

Threat modeling is a proactive design-phase activity that systematically identifies threats and derives security requirements. It involves understanding the system architecture, identifying assets and trust boundaries, and enumerating potential threats. This early analysis allows the team to incorporate appropriate security controls into the design, reducing vulnerabilities and remediation costs.

The other options are later-stage activities that do not fulfill the goal of early security requirement identification.

Exam trap

The trap here is assuming that any security activity, like penetration testing or static analysis, can substitute for early design-phase threat modeling.

64
MCQmedium

A healthcare SaaS provider is designing a new document-sharing feature for its patient portal. Clinicians upload sensitive records that must be readable only by the patient and the assigned care team, even if an attacker later gains read access to the storage bucket. The architect decides to implement envelope encryption using a cloud KMS. Which design decision best ensures that a storage-bucket compromise does not expose plaintext records?

A.Encrypt all records with a single AES-256 key that is stored in the application configuration file and rotated annually.
B.Rely on the cloud provider's default server-side encryption (SSE) with provider-managed keys and enable bucket versioning.
C.Hash each record with SHA-256 before storage and compare hashes at read time to verify integrity.
D.Encrypt each record with a unique data encryption key (DEK), wrap that DEK with a KMS-held key encryption key (KEK), and store only the wrapped DEK alongside the ciphertext.
AnswerD

This is correct because the plaintext DEK never persists in storage; only the wrapped DEK and ciphertext do. An attacker with bucket read access cannot unwrap the DEK without the KMS KEK, and KMS access is separately authenticated and audited. Per-record DEKs also limit the blast radius of any single key compromise.

Why this answer

Envelope encryption with a KMS-held KEK and per-record DEKs is the standard design for this threat. The DEK is generated locally, used to encrypt the record, then wrapped by the KEK; only the wrapped DEK is stored. An attacker reading the bucket obtains ciphertext and wrapped keys, but unwrapping requires authenticated KMS access that can be revoked, audited, and scoped independently of storage permissions.

Exam trap

The trap here is assuming that any encryption at rest satisfies the requirement, when the real question is who controls the key that unwraps the data and whether that control is separated from storage access.

65
MCQhard

Which design activity helps identify security requirements during the earliest phases of the SDLC?

A.Penetration testing.
B.Abuse case modeling.
C.Incident response planning.
D.Static code analysis.
AnswerB

Abuse case modelling examines how an attacker could misuse the application, deriving security requirements from anticipated threats during the earliest SDLC phases. Unlike functional use cases, it explicitly captures adversarial goals, feeding concrete protective requirements into design before code is written.

Why this answer

Abuse case modeling is a design activity that helps identify security requirements early in the SDLC by considering how an attacker might misuse the system. It involves brainstorming potential abuse scenarios and deriving security requirements to prevent them. Penetration testing, incident response planning, and static code analysis are typically performed later in the SDLC and do not primarily serve to identify security requirements during the earliest phases.

Exam trap

CSSLP often tests the confusion between activities that identify security requirements early (like abuse case modeling) and those that verify or implement security later (like penetration testing or static analysis).

How to eliminate wrong answers

Option A is wrong because penetration testing is a later-phase activity that validates security controls, not a design activity for eliciting requirements. Option C is wrong because incident response planning is about preparing for and handling security incidents, not identifying requirements upfront. Option D is wrong because static code analysis is performed on code, which occurs after design and implementation, not during early requirements gathering.

66
MCQeasy

Which of the following is a key component of a 'Secure Software Deployment' plan?

A.A list of all developers who worked on the release.
B.A rollback procedure that allows returning to a known good state.
C.A plan for decommissioning all previous versions of the software.
D.An automated script that changes the administrator password on every server.
AnswerB

A rollback procedure restores the previous known good release if deployment fails or introduces vulnerabilities, directly satisfying the stem's deployment-plan requirement. It differs from backup alone by including the tested mechanism and decision criteria for reverting, preserving availability and integrity during failed releases.

Why this answer

A secure software deployment plan must include a tested rollback procedure so that if a release introduces a vulnerability, breaks functionality, or is exploited, the team can rapidly return to a known good state. Rollback is a core deployment safety control because it bounds the blast radius and downtime of a failed or compromised release. Without it, recovery from a bad deployment depends on ad-hoc fixes under pressure, which is exactly when security mistakes happen.

Exam trap

The trap is picking an option that sounds operationally responsible (like rotating admin passwords, D) instead of the one that is actually a deployment safety control — candidates conflate 'security hardening' with 'secure deployment planning.'

How to eliminate wrong answers

Option A is wrong because a list of developers is an attribution artifact, not a security control — it does nothing to protect the deployment or enable recovery. Option C is wrong because decommissioning all previous versions is the opposite of what you want; retaining a known good version is what makes rollback possible, and premature decommissioning removes your safety net. Option D is wrong because automatically rotating administrator passwords on every server is an operational change that can break service accounts and integrations, and it is not a deployment plan component — it is an unrelated (and risky) hardening action.

67
MCQeasy

A developer is writing code that handles sensitive cryptographic keys. The keys must be protected from unauthorized access. Which practice is most appropriate for securing cryptographic keys in the application?

A.Hard-code the keys in the source code to ensure they are always available.
B.Use a dedicated hardware security module (HSM) or key management service (KMS) to store and manage keys.
C.Encrypt the keys with a symmetric algorithm and store the encryption key in the same database.
D.Store keys in a configuration file that is checked into the version control system.
AnswerB

An HSM or KMS provides secure key storage, access control, and often key lifecycle management. Keys are never exposed in plaintext to the application; cryptographic operations are performed within the secure boundary. This is the recommended practice for protecting sensitive keys, as it prevents extraction and unauthorized use even if the application server is compromised.

Why this answer

Using a dedicated HSM or KMS is the most secure way to manage cryptographic keys. These systems provide strong access controls, audit logging, and protection against key extraction. Hard-coding, version-controlled config files, or storing encryption keys with the data are all insecure practices that can lead to key compromise.

Exam trap

The trap here is assuming that encrypting keys with a key stored in the same location provides security, when it merely obfuscates and does not protect against database compromise.

68
MCQmedium

You are implementing CI/CD pipelines using Jenkins. You need to ensure that container images are scanned for vulnerabilities before they are promoted to production. Which tool integration is most effective for this stage?

A.Configure a post-deployment notification to Slack using a webhook.
B.Manually verify image signatures using Docker Content Trust after deployment.
C.Enable Jenkins 'Build periodically' to scan images in the registry.
D.Use the Jenkins Snyk Security plugin to trigger a scan during the image build step.
AnswerD

The Snyk plugin runs during the image build step, scanning layers for known vulnerabilities before the image is tagged and promoted. This gates the pipeline at the earliest point, satisfying the requirement to scan prior to production promotion.

Why this answer

Integrating the Snyk Security plugin into the Jenkins build step scans the container image at build time, before promotion, enabling fail-fast remediation. This shifts security left and blocks vulnerable images from reaching production. It is the most effective because scanning occurs in the pipeline stage where the image is created.

Exam trap

The trap is choosing a detection-only control (Slack notification, periodic scan) over a preventive control at the right pipeline stage — CSSLP tests whether you shift security left and block promotion, not just alert after deployment.

How to eliminate wrong answers

Option A is wrong because a post-deployment Slack notification only alerts after the vulnerable image is already running in production — detection without prevention. Option B is wrong because Docker Content Trust verifies signatures for integrity/provenance, not vulnerabilities, and doing it after deployment is too late. Option C is wrong because periodic registry scans are not tied to the promotion gate and may scan images that are already deployed.

69
Multi-Selectmedium

Which TWO of the following are primary benefits of integrating SAST into the early stages of the SDLC?

Select 2 answers
A.Reduced developer education.
B.Immediate feedback on secure coding patterns.
C.Early identification of vulnerabilities.
D.Elimination of all false positives.
E.Automation of penetration testing.
AnswersB, C

Running SAST on code as it is written gives developers immediate feedback on secure coding patterns, letting them correct unsafe constructs while the code is still fresh, rather than discovering systemic mistakes during later testing or review.

Why this answer

Option B is correct because integrating SAST into early SDLC stages (e.g., IDE plugins or pre-commit hooks) gives developers immediate feedback on secure coding patterns while code is being written, enabling them to fix issues before they propagate. Option C is correct because SAST analyzes source code statically without executing it, allowing vulnerabilities such as SQL injection, XSS, or hardcoded credentials to be identified early in development when remediation is cheapest and least disruptive. Option A is incorrect because SAST does not reduce developer education; it typically requires security training so developers can interpret findings and apply secure coding practices.

Option D is incorrect because SAST tools inherently produce false positives due to limitations in static analysis, and no tool eliminates all of them. Option E is incorrect because SAST is not penetration testing; pen testing involves dynamic exploitation of running applications, whereas SAST is a static code review technique and does not automate pen testing.

70
Multi-Selecteasy

Which THREE of the following are effective methods to prevent SQL Injection in a database-driven application?

Select 3 answers
A.Using stored procedures with dynamic SQL
B.Using parameterized queries
C.Relying solely on client-side validation
D.Applying the principle of least privilege to the database user
E.Strict input validation based on allow-lists
AnswersB, D, E

Parameterised queries send SQL code and user data as separate constructs, so supplied values are bound as literals and cannot alter query structure. This removes the injection vector at the database interface regardless of input content.

Why this answer

Option B (parameterized queries) is correct because parameterized queries (prepared statements) separate SQL code from user-supplied data, so the database engine treats input strictly as data rather than executable SQL, which neutralizes injection payloads. Option D (applying the principle of least privilege to the database user) is correct because limiting the application's database account to only the permissions it truly needs (e.g., no DROP, no xp_cmdshell, no unnecessary table access) reduces the blast radius if an injection flaw is ever exploited. Option E (strict input validation based on allow-lists) is correct because allow-list validation rejects any input that does not match an expected, tightly defined pattern, preventing malicious characters or payloads from ever reaching the SQL layer.

Option A is not correct because stored procedures that internally build dynamic SQL strings via concatenation remain vulnerable to injection; stored procedures are only safe when they themselves use parameterization. Option C is not correct because client-side validation can be trivially bypassed by an attacker using a proxy or direct HTTP requests, so it must never be the sole defense against SQL injection.

Exam trap

The trap is the word 'dynamic SQL' inside stored procedures — candidates assume stored procedures are automatically safe, but dynamic SQL built by concatenation inside a procedure is just as injectable as inline SQL.

71
MCQeasy

A software team is designing a new employee scheduling application. The architect wants to ensure that if a developer accidentally introduces a memory-safety flaw, the impact is contained and the flaw is detected before release. Which design decision best supports this goal at the architecture level?

A.Require developers to run a static analysis tool locally before committing code to the repository.
B.Deploy the application behind a web application firewall and enable rate limiting on all endpoints.
C.Increase the unit test coverage target to ninety percent for all modules handling employee data.
D.Choose a memory-safe language for new components and isolate any legacy native code behind a narrow, validated interface.
AnswerD

Memory-safe languages eliminate entire classes of flaws such as buffer overflows and use-after-free at the source. Isolating unavoidable native code behind a small, validated boundary limits the blast radius of any residual flaw, which is precisely the containment and early-detection goal stated in the scenario.

Why this answer

Selecting a memory-safe language removes the root cause of most memory-safety vulnerabilities, and isolating any legacy native code behind a validated interface contains the remainder. This is an architectural decision that shapes the whole system, unlike tooling or testing practices that act later and depend on developer compliance. The combination addresses both prevention and containment.

Exam trap

The trap here is treating a tooling or testing practice such as static analysis or coverage as equivalent to an architectural decision that removes the vulnerability class entirely.

72
Multi-Selecthard

A security analyst is reviewing the results of a dynamic application security testing (DAST) scan against a REST API. The scan report includes several findings, but the analyst must prioritize remediation. Which two factors are most important to consider when triaging DAST findings for an API? (Choose two.)

Select 2 answers
A.The HTTP status code returned by the API endpoint when the vulnerability is triggered.
B.The potential impact on confidentiality, integrity, and availability of the API's data.
C.The number of times the vulnerability appears in the scan report.
D.The scanner's confidence level as reported in the tool's output.
E.The ease of exploiting the vulnerability, including whether authentication is required.
AnswersB, E

The impact on confidentiality, integrity, and availability (CIA) is a core component of risk assessment. A vulnerability that exposes sensitive data or allows modification of critical records has higher priority than one with minimal impact. This factor directly informs the severity and urgency of remediation, making it essential for triaging DAST findings.

Why this answer

Triage of DAST findings should focus on risk, which is a function of impact and likelihood. The potential impact on confidentiality, integrity, and availability determines the consequences of exploitation, while ease of exploitation indicates likelihood. Together, these factors allow the analyst to prioritize vulnerabilities that pose the greatest threat to the API and its data.

Exam trap

The trap here is equating the number of occurrences or scanner confidence with severity, when actual risk depends on impact and exploitability.

73
MCQmedium

A software architect is designing a multi-tenant SaaS application that must prevent a user from one tenant from accessing another tenant's data through the application's API. The architect wants to enforce this isolation at the architectural level rather than relying on developers to remember to include a tenant filter in every query. Which design approach best achieves this goal?

A.Require developers to use a shared data access library that always adds a tenant_id parameter to every SQL query.
B.Implement row-level security (RLS) policies in the database that automatically filter data based on the tenant identity associated with the current session.
C.Encrypt each tenant's data with a unique encryption key and store the keys in a hardware security module (HSM).
D.Assign each tenant a separate database schema and require the application to connect with a schema-specific database user.
AnswerB

Row-level security enforces tenant isolation in the data layer, so even if a developer forgets a WHERE clause, the database will not return another tenant's rows. This provides a defense-in-depth control that does not depend on application code discipline. It aligns with the architectural goal of enforcing a security constraint centrally rather than per-query.

Why this answer

Row-level security is a database-enforced access control mechanism that automatically restricts which rows a session can see or modify based on a security predicate. By tying the predicate to the tenant identity, the database becomes the enforcement point, so application bugs cannot easily bypass isolation. This is a strong architectural control for multi-tenant isolation.

Exam trap

The trap here is assuming that any data-layer control, such as encryption or separate schemas, automatically prevents cross-tenant access, when only an enforced access-control predicate like row-level security does so at query time.

74
MCQhard

An organization is adopting the SLSA (Supply-chain Levels for Software Artifacts) framework. To achieve Level 3, what requirement must be met regarding the build platform?

A.The code must be written in a memory-safe language.
B.The build platform must be hardened and provenance must be authenticated.
C.The project must have 100% open-source components.
D.All developers must use a Linux-based OS.
AnswerB

SLSA Level 3 requires the build platform to be hardened against tampering and to generate authenticated provenance, cryptographically signed by the build service. This ensures artefacts trace to a trusted, isolated builder rather than a developer workstation.

Why this answer

SLSA Level 3 requires the build platform to be 'hardened' and 'non-falsifiable', meaning the build integrity is protected and the provenance is cryptographically signed.

75
MCQmedium

You are implementing 'Psychological Acceptability' in a new multi-factor authentication system. Which design choice is most appropriate?

A.Providing zero feedback to users during the login process.
B.Requiring a 64-character password changed every 24 hours.
C.Using a user-friendly mobile app push notification for authentication.
D.Disabling the ability for users to reset their own passwords.
E.Forcing users to solve a complex CAPTCHA at every login attempt.
AnswerC

Psychological acceptability requires security mechanisms to be usable enough that users do not circumvent them. A mobile app push notification approves authentication with a single tap, imposing minimal cognitive burden while preserving the second factor, unlike cumbersome token entry or complex password rules.

Why this answer

Psychological acceptability ensures that security measures are easy for users to understand and use, so they don't circumvent them.

Page 1 of 3

Page 2

All pages