Key details for this exam, checked against the published exam outline
Each question shows the correct answer and an explanation of why it is right
(Jason Wylie has been working as a DevSecOps engineer in an IT company located in Sacramento, Californi
a. He would like to use Jenkins for CI and Azure Pipelines for CD to deploy a Spring Boot app to an Azure Container Service (AKS) Kubernetes cluster. He created a namespace for deploying the Jenkins in AKS, and then deployed the Jenkins app to the Pod. Which of the following commands should Jason run to see the pods that have been spun up and running?)
Kubernetes uses namespaces to logically isolate resources such as pods, services, and deployments. When an application like Jenkins is deployed into a specific namespace, the correct way to view the pods running in that namespace is by using the -n (or --namespace) flag with the kubectl get pods command. The command kubectl get pods -n jenkins instructs Kubernetes to list all pods in the ''jenkins'' namespace. The other options use invalid or unrelated flags that are not supported for namespace selection. Verifying pod status during the Release and Deploy stage is essential to ensure that applications have been deployed successfully and are running as expected before exposing services or proceeding to monitoring. This step supports deployment validation and operational readiness in Kubernetes-based DevSecOps environments.
(BVR Pvt. Ltd. is an IT company that develops software products and applications related to IoT devices. The software development team of the organization is using Bitbucket repository to plan projects, collaborate on code, test, and deploy. The repository provides teams a single place for projects planning and collaboration on coding, testing, and deploying the software application. Which of the following is offered by Bitbucket to BVR Pvt. Ltd.?)
Bitbucket provides a cloud-based source code management platform that supports collaboration, CI/CD integration, and secure code hosting. One of the key features offered by Bitbucket is free unlimited private repositories, particularly beneficial for organizations developing proprietary software such as IoT applications. This allows teams to store source code securely without exposing it publicly while still enabling collaboration features like pull requests, issue tracking, and pipeline automation. The term ''limited private repositories'' is inaccurate because Bitbucket does not restrict the number of private repositories under its free offering; rather, user count limits apply. While Bitbucket also supports public repositories, the option that best represents its value to enterprise and product-based teams is unlimited private repositories. This capability aligns with DevSecOps practices by ensuring confidentiality of source code while enabling integrated planning, testing, and deployment workflows within a single platform.
(Terry Crews has been working as a DevSecOps engineer at an IT company that develops software products and web applications related to IoT devices. She integrated Sqreen RASP tool with Slack for sending notifications related to security issues to her team. How can Sqreen send notification alerts to Slack?)
Sqreen provides runtime application self-protection (RASP) capabilities that allow teams to detect and respond to security threats in real time. Sqreen uses a structured automation mechanism called a playbook to define how security events are handled. A playbook consists of three key components: a trigger that detects suspicious or malicious behavior, a security response that defines what action Sqreen should take (such as blocking a request or flagging an attack), and a notification that sends alerts to external systems like Slack. The term ''cookbook'' is not used in Sqreen's alerting and response model, making options A and B incorrect. Option C incorrectly uses the phrase ''Alert a response'' instead of ''security response,'' which does not accurately describe Sqreen's configuration model. By using playbooks, Sqreen enables automated detection, response, and team notification during the Operate and Monitor stage, ensuring rapid awareness and collaboration when security incidents occur.
(Alex Hales has been working as a DevSecOps in an IT company that develops software products and web applications for visualizing scientific dat
a. He would like to trigger a Jenkins build job using Git post commit script or hooks that helps his team in saving time by automating commit. Therefore, before triggering the build job, Alex made changes and saved the code in the respective IDE under Git repository and added the changes in the master branch using git add command and ran the post commit script to check the status of the build. Then, he navigated to the Jenkins project and selected the ''Trigger build remotely from Build triggers'' radio button. It would automate the trigger every time a change gets committed to the project. Alex navigated back to Bash terminal to trigger the build job. Which of the following commands should Alex use in Bash terminal to trigger the build job?)
Git post-commit hooks are executed automatically after a commit is successfully created. To trigger the Jenkins build job configured to respond to commits, Alex must create a valid Git commit using the correct Git command. The standard command to commit changes with a message is git commit -m 'commit from terminal'. Running this command records the changes in the repository and triggers the post-commit hook, which in turn initiates the Jenkins build. Commands using github commit are invalid because github is not a native Git command-line utility. The -b flag is also not used with git commit. Automating build triggers during the Code stage improves efficiency, reduces manual intervention, and ensures continuous integration is consistently enforced.
(Steven Gerrard has been working as a DevSecOps engineer at an IT company that develops software products and applications related to the healthcare industry. His organization has been using Azure DevOps services to securely and quickly develop software products. To ensure that the deployed infrastructure is in accordance with the architecture and industrial standards and the security policies are appropriately implemented, she would like to integrate InSpec with Azure. Therefore, after installation and configuration of InSpec, she created InSpec profile file and upgraded it with personal metadata and Azure resource pack information; then she wrote the InSpec tests. Which of the following commands should Steven use to run InSpec tests to check the compliance of Azure infrastructure?)
Chef InSpec executes compliance tests using the inspec exec command. When testing Azure infrastructure, InSpec requires a target specification using the -t flag with the Azure transport identifier azure://. The correct command is inspec exec inspec-tests/integration/ -t azure://. Options using exe instead of exec are invalid due to incorrect command spelling. Options that use the -it flag misuse command-line parameters that are not intended for target selection. Running InSpec tests in this way allows DevSecOps teams to validate that Azure resources comply with architectural, security, and regulatory requirements. Integrating these checks into the Build and Test stage ensures continuous compliance and reduces the risk of insecure infrastructure reaching production environments.
(Rachel McAdams applied for the position of DevSecOps engineer at TetraSoft Pvt. Ltd. She gave her interview on February 23, 2022, and was selected as a DevSecOps engineer. Her team is working on securing Ruby on Rails application. Rachel's team leader asked her to integrate Brakeman SAST tool with Jenkins. To perform the integration, she navigated to Jenkins Plugin Manager and installed Warnings Next Generation Plugin. To run the tool in Jenkins, she invoked Brakeman as part of an Execute shell build step. In the Execute shell column, she wrote the following commands with brakeman options
bash -l -c '
rvm install 3.0.0 && \
rvm use 3.0.0@brakeman --create && \
gem install brakeman && \
brakeman --no-progress --no-pager --no-exit-on-warn -o brakeman-output.json
What is the function of the --no-exit-on-warn option in the above-mentioned command?)
By default, Brakeman returns a non-zero exit code when security warnings are detected, which can cause Jenkins builds to fail. The --no-exit-on-warn option modifies this behavior by instructing Brakeman to return an exit code of 0 even if warnings are found. This allows the CI pipeline to continue executing while still generating a security report that highlights vulnerabilities. This option is particularly useful when teams are initially integrating SAST tools and want visibility into security issues without immediately blocking builds. During the Build and Test stage, this approach supports gradual adoption of security enforcement, allowing teams to prioritize remediation efforts while maintaining delivery velocity. Over time, organizations can tighten policies by removing this option to enforce stricter build-breaking behavior once security baselines improve.
(William Scott, after completing his graduation in computer science, joined an IT company as a DevSecOps engineer. His team leader has asked him to use GitHub Code Scanning for evaluating the source code in his organization's GitHub repository to detect security issues and coding errors. How can William set up coding scanning in GitHub repository?)
GitHub Code Scanning is a built-in security capability designed to automatically analyze source code for security vulnerabilities and coding errors. The primary and officially supported engine for GitHub Code Scanning is CodeQL. CodeQL works by converting source code into a database and running security queries to detect issues such as injection flaws, insecure coding patterns, and logic errors. William can enable CodeQL by configuring GitHub Actions with either the default or advanced CodeQL workflow. Once enabled, CodeQL scans are triggered on events such as code pushes and pull requests, and the results appear as code scanning alerts in the repository's Security tab. Gauntlt is a security testing harness used mainly for infrastructure and application testing, GitMiner is used to discover sensitive data like secrets in repositories, and OWASP ZAP is a dynamic application security testing tool used against running applications. None of these tools configure GitHub's native Code Scanning feature. Therefore, CodeQL is the correct tool to set up GitHub Code Scanning in the Code stage of a DevSecOps pipeline.
Exam domains verified against: Official Eccouncil 312-97 exam guide, last checked October 2026.
This module covers the cultural and technical foundations of DevOps, emphasizing collaboration between development and operations teams. Key topics include automation, continuous integration and deployment (CI/CD), DevOps values and benefits, and how collaboration and feedback loops drive faster, more reliable software delivery.
Sample question from this domain above: Q2
This module introduces foundational DevSecOps concepts, focusing on integrating security into the DevOps lifecycle. It covers the shift from traditional security approaches to collaborative, automated, and continuously integrated security, with emphasis on culture, automation, monitoring, feedback loops, and tools for establishing a DevSecOps culture in organizations.
This module covers the planning phase of the DevSecOps pipeline, including identifying security requirements, conducting threat modeling, and establishing security-focused plans. It emphasizes collaboration between development, security, and operations teams to align with security goals from the start.
This module focuses on integrating security into the development process through secure coding practices. Topics include static code analysis, secure coding guidelines, and implementation of security controls within the IDE, enabling developers to write secure code using industry best practices.
This module explores integration of security into build and testing processes, covering automated security testing including SAST and DAST. It emphasizes the use of continuous integration pipelines to detect and address security issues early in the development cycle.
Sample question from this domain above: Q4
This module explains maintaining security during release and deployment phases, including secure deployment techniques, Infrastructure as Code security, and container security tools. It covers release management and secure configuration practices to ensure production safety.
This final module focuses on securing the operational environment and monitoring applications for security incidents. Topics include logging, monitoring, incident detection and response, and continuous security monitoring using SIEM tools to maintain runtime security.
Sample question from this domain above: Q3
Common questions about the exam itself