
[Jul 21, 2026] Valid 312-97 Test Answers Full-length Practice Certification Exams
Accurate & Verified 2026 New 312-97 Answers As Experienced in the Actual Test!
NEW QUESTION # 35
(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.?)
- A. Free unlimited private repositories.
- B. Free unlimited public repositories.
- C. Free limited public repositories.
- D. Free limited private repositories.
Answer: A
Explanation:
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 isfree 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.
========
NEW QUESTION # 36
(William McDougall has been working as a DevSecOps engineer in an IT company located in Sacramento, California. His organization has been using Microsoft Azure DevOps service to develop software products securely and quickly. To take proactive decisions related to security issues and to reduce the overall security risk, William would like to integrate ThreatModeler with Azure Pipelines. How can ThreatModeler be integrated with Azure Pipelines and made a part of William's organization DevSecOps pipeline?)
- A. By using a bidirectional API.
- B. By using a unidirectional UI.
- C. By using a unidirectional API.
- D. By using a bidirectional UI.
Answer: A
Explanation:
ThreatModeler integration with Azure Pipelines is achieved using abidirectional API, which allows automated and continuous interaction between the pipeline and the threat modeling platform. This bidirectional communication enables Azure Pipelines to trigger threat modeling activities while also receiving results, risk scores, and actionable insights back from ThreatModeler. Such feedback loops are critical for proactive security decision-making during the Plan stage of DevSecOps. Unidirectional APIs or UI-based integrations limit automation and do not support continuous feedback, making them unsuitable for pipeline- driven workflows. UI-based approaches also introduce manual steps, which conflict with DevSecOps principles of automation and consistency. By using a bidirectional API, William's organization can embed threat modeling into the planning process, identify architectural risks early, and ensure security considerations are continuously enforced as part of the pipeline.
========
NEW QUESTION # 37
(Robin Tunney has been working as a DevSecOps engineer in an IT company located in Charleston, South Carolina. She would like to build a customized docker image using HashiCorp Packer. Therefore, she installed Packer and created a file docker-ubuntu.pkr.hcl; she then added HCL block to it and saved the file.
Which of the following commands should Robin execute to build the Docker image using Packer?)
- A. packer -b docker-ubuntu.pkr.hcl.
- B. packer b docker-ubuntu.pkr.hcl.
- C. packer build docker-ubuntu.pkr.hcl.
- D. packer -build docker-ubuntu.pkr.hcl.
Answer: C
Explanation:
HashiCorp Packer is an image automation tool that uses the packer build command to create machine images from configuration files written in HCL or JSON. When Robin defines her Docker image configuration in the file docker-ubuntu.pkr.hcl, the correct way to initiate the build process is by running packer build docker- ubuntu.pkr.hcl. This command reads the configuration file, initializes required plugins, executes defined builders and provisioners, and produces the final Docker image. The other options are syntactically incorrect because Packer does not support abbreviated flags such as -b or alternative verbs like -build. Building container images during the Build and Test stage ensures that images are reproducible, standardized, and compliant with organizational security requirements before deployment. Using Packer also supports immutability and reduces configuration drift, which are key principles in secure DevSecOps pipelines.
========
NEW QUESTION # 38
(Kenneth Danziger is a certified DevSecOps engineer, and he recently got a job in an IT company that develops software products related to the healthcare industry. To identify security and compliance issues in the source code and quickly fix them before they impact the source code, Kenneth would like to integrate WhiteSource SCA tool with AWS. Therefore, to integrate WhiteSource SCA Tool in AWS CodeBuild for initiating scanning in the code repository, he built a buildspec.yml file to the source code root directory and added the following command to pre-build phase curl -LJOhttps://github.com/whitesource/unified-agent- distribution/raw/master/standAlone/wss_agent.sh. Which of the following script files will the above step download in Kenneth organization's CodeBuild server?.)
- A. aws_agent.sh.
- B. cbs_agent.sh.
- C. wss_agent.sh.
- D. ssw_agent.sh.
Answer: C
Explanation:
The command shown in the pre-build phase explicitly targets a script namedwss_agent.sh. The curl -LJO flags mean: -L follows redirects, -J honors the server-provided filename in the Content-Disposition header (when present), and -O writes output to a local file using the remote name. Since the requested path ends with wss_agent.sh, the downloaded file on the AWS CodeBuild server will be wss_agent.sh. This script is the WhiteSource (now commonly referred to as Mend in many environments) unified agent shell wrapper used to run SCA scans as part of a CI pipeline. Integrating SCA during the Build and Test stage helps detect vulnerable open-source dependencies and licensing/compliance issues early, when fixes are cheapest. The other filenames (ssw_agent.sh, cbs_agent.sh, aws_agent.sh) are distractors; they are not referenced by the provided command and would not be downloaded by that step.
========
NEW QUESTION # 39
(PentaByte is a software product development company located in Austin, Texas. The organization would like to secure communication methods to maintain confidentiality and security. How can PentaByte achieve secure by communication secure coding principle?)
- A. By balancing the default configuration settings.
- B. By maintaining defense by depth and reducing attack surface area.
- C. By maintaining secure trust relationships.
- D. By preventing cyber security breach.
Answer: C
Explanation:
The secure communication principle focuses on protecting data as it moves between systems, services, and users. This is achieved by establishing and maintainingsecure trust relationships, which include strong authentication mechanisms, encryption, certificate management, and trusted communication channels.
Preventing breaches and reducing attack surface are broader security objectives, not specific to communication security. Balancing default configuration settings relates to secure defaults rather than communication. Secure trust relationships ensure that only authenticated and authorized entities can exchange data and that information remains confidential and tamper-proof during transmission. Embedding this principle into DevOps culture ensures that secure communication practices are consistently applied across all stages of the DevSecOps pipeline.
========
NEW QUESTION # 40
(Alexander Hamilton has been working as a senior DevSecOps engineer in an IT company located in Greenville, South Carolina. In January of 2012, his organization because a victim of a cyber security attack and incurred a tremendous loss. Alexander's organization immediately adopted AWS cloud-based services after the attack to develop robust software products securely and quickly. To detect security issues in code review, Alexander would like to integrate SonarQube with AWS Pipeline; therefore, he created a pipeline in AWS using CloudFormation pipeline template. Then, he selected SonarQube tool from the tools dropdown, provided the required stack parameters, and also provided email address for receiving email notifications of changes in pipeline status and approvals. He deployed the pipeline after entering the required information.
What will happen when changes are committed in the application repository?.)
- A. BinSkim event is created.
- B. Security Hub event is created.
- C. CloudWatch event is created.
- D. Cloud Config event is created.
Answer: C
Explanation:
When changes are committed to a repository connected to an AWS Pipeline, the pipeline execution is triggered and monitored usingAmazon CloudWatch events. CloudWatch captures pipeline state changes, execution status, and approval notifications, enabling real-time monitoring and alerting. AWS Config tracks resource configuration changes, BinSkim is a binary analysis tool, and Security Hub aggregates security findings but does not directly track pipeline execution events. Integrating SonarQube into AWS Pipeline ensures static code analysis runs automatically upon commits, while CloudWatch provides visibility into pipeline activity. This setup strengthens security automation during the Code stage by ensuring every commit is analyzed and monitored.
========
NEW QUESTION # 41
(Lara Grice has been working as a DevSecOps engineer in an IT company located in Denver, Colorado. Her team leader has told her to save all the container images in the centos repository to centos-all.tar. Which of the following is a STDOUT command that Lara can use to save all the container images in the centos repository to centos-all.tar?.)
- A. # docker save centos < centos-all.tar.
- B. # docker save centos < centos all.tar.
- C. # docker save centos > centos-all.tar.
- D. # docker save centos > centos all.tar.
Answer: C
Explanation:
The docker save command exports one or more Docker images to a tar archive by writing the image data to standard output (STDOUT). To redirect this output into a file, the > redirection operator is used. The correct syntax is docker save <image> > <filename>.tar. In this scenario, the image repository name is centos, and the desired archive file is centos-all.tar, making option B correct. Options C and D incorrectly use input redirection (<) instead of output redirection. Option A includes a space in the filename (centos all.tar), which would be interpreted as two separate arguments and cause an error unless quoted. Saving images to a tar archive is a common operational task used for backups, transfers between environments, or offline analysis during the Operate and Monitor stage.
========
NEW QUESTION # 42
(SNF Pvt. Ltd. is a software development company located in Denver, Colorado. The organization is using pytm, which is a Pythonic Framework for threat modeling, to detect security issues and mitigate them in advance. James Harden has been working as a DevSecOps engineer at SNF Pvt. Ltd. for the past 3 years. He has created a tm.py file that describes an application in which the user logs the app and posts the comments on the applications. These comments are stored by the application server in the database and AWS lambda cleans the database. Which of the following command James can use to generate a sequence diagram?)
- A. tm.py --seq | java -djava.awt.headless=true -jar plantuml.jar -tpng -pipe > seq.png.
- B. tm.py --seq | java -Djava.awt.headless=true -jar plantuml.jar -tpng -pipe > seq.png.
- C. tm.py --seq | java -Djava.awt.headless=true -jar plantum.jar -tpng -pipe > seq.png.
- D. tm.py --seq | java -djava.awt.headless=true -jar plantum.jar -tpng -pipe > seq.png.
Answer: B
Explanation:
The pytm framework generates threat models that can be visualized using PlantUML diagrams. To create a sequence diagram, the --seq option is used with the model file, and the output is piped to the PlantUML processor. The correct command must reference the correct Java system property -Djava.awt.headless=true, which allows diagram rendering in environments without a graphical interface, such as CI/CD pipelines.
Additionally, the correct jar file name is plantuml.jar. Options using lowercase -d instead of uppercase -D are invalid, and commands referencing plantum.jar are incorrect due to a misspelled jar name. Generating sequence diagrams during the Plan stage helps DevSecOps teams visualize data flows, understand attacker paths, and identify security threats early in the application design phase.
========
NEW QUESTION # 43
(Thomas Gibson has been working as a DevSecOps engineer in an IT company that develops software products and web applications related to law enforcement. To automatically execute a scan against the web apps, he would like to integrate InsightAppSec plugin with Jenkins. Therefore, Thomas generated a new API Key in the Insight platform. Now, he wants to install the plugin manually. How can Thomas install the InsightAppSec plugin manually in Jenkins?)
- A. By creating a .hpi file and uploading to his Jenkins installation.
- B. By creating a .conf file and uploading to his Jenkins installation.
- C. By creating a .zip file and uploading to his Jenkins installation.
- D. By creating a .war file and uploading to his Jenkins installation.
Answer: A
Explanation:
Jenkins plugins are distributed and installed as .hpi files. To manually install a plugin, administrators upload the .hpi file through the Jenkins Plugin Manager using the "Upload Plugin" option. This approach is commonly used in environments with restricted internet access or when custom plugin versions are required. .
war files are used for deploying the Jenkins application itself, not plugins, while .zip and .conf files are not recognized plugin formats. Installing the InsightAppSec plugin allows Jenkins pipelines to automatically trigger dynamic application security scans during the Build and Test stage. This integration ensures that web applications are continuously evaluated for vulnerabilities before deployment, supporting proactive security testing and risk reduction.
========
NEW QUESTION # 44
(Erica Mena has been working as a DevSecOps engineer in an IT company that provides customize software solutions to various clients across United States. To protect serverless and container applications with RASP, she would like to create an Azure container instance using Azure CLI in Microsoft PowerShell. She created the Azure container instance and loaded the container image to it. She then reviewed the deployment of the container instance. Which of the following commands should Erica run to get the logging information from the Azure container instance? (Assume the resource group name as ACI and container name as aci-test- closh.))
- A. az container logs -resource-group ACI -name aci-test-closh.
- B. az get container logs -resource-group ACI --name aci-test-closh.
- C. az get container logs --resource-group ACI --name aci-test-closh.
- D. az container logs --resource-group ACI --name aci-test-closh.
Answer: D
Explanation:
Azure Container Instances provide built-in logging capabilities that can be accessed using the Azure CLI. To retrieve logs from a deployed container instance, the correct command isaz container logsfollowed by the resource group and container name. The proper syntax requires double-dash parameters:--resource-groupand
--name. In Erica's case, the correct command is az container logs --resource-group ACI --name aci-test-closh.
Options that use "az get container logs" are invalid because "get" is not a supported verb in this context.
Option C uses incorrect single-dash flags, which do not match Azure CLI standards. Accessing container logs during the Code stage helps engineers validate application behavior, identify runtime errors, and ensure that security instrumentation such as RASP agents are functioning correctly before progressing further in the pipeline.
========
NEW QUESTION # 45
(Bruce Altman is a DevSecOps engineer at a web application development company named TechSoft Pvt.
Ltd. Due to robust security features provided by Microsoft Azure, in January of 2020, his organization migrated all the workloads from on-prem to Azure. Using Terraform configuration management tool, Bruce created a resource group and virtual machine (VM) in Azure; he then deployed a web application in the VM.
Within an hour, Bruce's team leader informed him that he detected various security issues in the application code and asked him to destroy the infrastructure that he has created in Microsoft Azure using Terraform.
Which of the following commands can Bruce use to destroy the infrastructure created using Terraform?.)
- A. terraform kill-infra.
- B. terraform destroy.
- C. terraform destroy-infra.
- D. terraform kill.
Answer: B
Explanation:
Terraform provides the terraform destroy command to remove all infrastructure resources defined in the Terraform configuration files. This command safely tears down resources such as virtual machines, networks, and resource groups by consulting the state file and executing destruction in the correct dependency order.
Commands like terraform kill, terraform kill-infra, and terraform destroy-infra do not exist in Terraform's CLI. Using terraform destroy during the Release and Deploy stage allows DevSecOps teams to quickly remediate risk by removing insecure or non-compliant infrastructure, reinforcing the importance of Infrastructure as Code and controlled lifecycle management.
========
NEW QUESTION # 46
(James Harden has been working as a senior DevSecOps engineer in an IT company located in Oakland, California. To detect vulnerabilities and to evaluate attack vectors compromising web applications, he would like to integrate Burp Suite with Jenkins. He downloaded the Burp Suite Jenkins plugins and then uploaded the plugin and successfully integrated Burp Suite with Jenkins. After integration, he would like to scan web application using Burp Suite; therefore, he navigated to Jenkins' dashboard, opened an existing project, and clicked on Configure. Then, he navigated to the Build tab and selected Execute shell from Add build step.
Which of the following commands should James enter under the Execute shell?.)
- A. cat BURP_SCAN_URL =http://target-website.com.
- B. echo BURP_SCAN_URL =http://target-website.com.
- C. grep BURP_SCAN_URL =http://target-website.com.
- D. sudo BURP_SCAN_URL =http://target-website.com.
Answer: B
Explanation:
When
configuring Burp Suite scans in Jenkins using an Execute shell build step, environment variables are often set or echoed so that subsequent scan steps can consume them. The echo command is used to output or define values in the shell context. In this case, echo BURP_SCAN_URL = http://target-website.com correctly defines the target URL for Burp Suite scanning. Commands like grep and cat are used for searching or displaying file contents and are not appropriate for setting scan parameters. The sudo command is unnecessary and incorrect in this context. Using the correct shell command ensures that Burp Suite receives the proper target information during the Build and Test stage, enabling accurate dynamic application security testing.
========
NEW QUESTION # 47
(Dave Allen is working as a DevSecOps engineer in an IT company located in Baltimore, Maryland. His team is working on the development of Ruby on Rails application. He integrated Brakeman with Jenkins to detect security vulnerabilities as soon as they are introduced; he then installed and configured Warnings Next Generation Plugin in Jenkins. What will be the use of Warnings Next Generation Plugin to Dave?.)
- A. It will gather and manage the results from Brakeman.
- B. It will validate Jenkins compiler settings.
- C. It will regulate the function of Brakeman.
- D. It will inspect TypeScript code for readability, functionality, and maintainability issues.
Answer: A
Explanation:
The Warnings Next Generation Plugin in Jenkins is designed tocollect, aggregate, visualize, and manage static analysis resultsproduced by various tools, including Brakeman. In this scenario, Dave uses Brakeman to scan Ruby on Rails applications for security vulnerabilities. Brakeman generates output files containing findings, and the Warnings Next Generation Plugin parses these results and presents them in a standardized, user-friendly format within Jenkins. This allows teams to track trends, enforce quality gates, and fail builds based on severity thresholds. The plugin does not inspect TypeScript code, validate compiler settings, or control Brakeman's execution logic. Its role is purely to manage and display analysis results. Using this plugin during the Code stage improves visibility into security issues, supports decision-making, and helps enforce security standards across the development lifecycle.
========
NEW QUESTION # 48
(Trevor Noah has been working as a DevSecOps engineer in an IT company located in Detroit, Michigan. His team leader asked him to perform continuous threat modeling using ThreatSpec. To do so, Trevor installed and initialized ThreatSpec in the source code repository; he then started annotating the source code with security issues, actions, or concept. Trevor ran ThreatSpec against the application code and he wants to generate the threat model report. Which of the following command Trevor should use to generate the threat model report using ThreatSpec?.)
- A. $ ThreatSpec Report.
- B. $ ThreatSpec report.
- C. $ threatspec report.
- D. $ Threatspec Report.
Answer: C
Explanation:
ThreatSpec is a command-line tool that follows standard Unix-style conventions, where commands are lowercase. To generate a threat model report after annotating source code, the correct command is threatspec report. Commands using incorrect casing or capitalization will fail because the CLI is case-sensitive. Options A, B, and C incorrectly capitalize either the command or the subcommand. Generating threat model reports during the Plan stage allows DevSecOps teams to continuously identify, document, and visualize security threats as the code evolves. This practice embeds threat modeling directly into the development lifecycle, enabling early risk identification and more secure system design decisions.
========
NEW QUESTION # 49
(Andrew Gerrard has recently joined an IT company that develops software products and applications as a DevSecOps engineer. His team leader asked him to download a jar application from the organization GitHub repository and run the BDD security framework. Andrew successfully downloaded the jar application from the repository and executed the jar application; then, he cloned the BDD security framework. Which of the following commands should Andrew use to execute the authentication feature?.)
- A. /gradlev -Dcucumber.options="-tags @authentication -tags @skip".
- B. ./gradlev -Dcucumber.options="-tags @authentication -tags ~@skip".
- C. ./gradlew -Dcucumber.options="-tags @authentication -tags ~@skip".
- D. /gradlew -Dcucumber.options="-tags @authentication -tags @skip".
Answer: C
Explanation:
The BDD Security framework is executed through Gradle wrapper commands, and the correct wrapper script on Unix-like systems is ./gradlew (dot-slash indicates "run the wrapper from the current directory"). Options using /gradlew or /gradlev imply an absolute path at filesystem root and are typically incorrect for a cloned project. Also, the wrapper name isgradlew, notgradlev. For executing only the authentication feature (or scenarios tagged for authentication), Cucumber tag expressions are used through the -Dcucumber.options system property. The command must include --tags @authentication to select authentication-tagged scenarios.
To skip scenarios tagged "skip," the exclusion operator is used as --tags ~@skip (meaning "exclude @skip").
Options A and B incorrectly include --tags @skip which wouldincludeskipped tests rather than exclude them.
Therefore, ./gradlew -Dcucumber.options="--tags @authentication --tags ~@skip" is the correct choice to run authentication scenarios while excluding anything marked to skip.
========
NEW QUESTION # 50
(Gabriel Jarret has been working as a senior DevSecOps engineer in an IT company located in Houston, Texas. He is using Vault to manage secrets and protect sensitive data. On February 1, 2022, Gabriel wrote the secret using vault kv put secret/wejskt command. On February 10, 2022, his team detected a brute-force attack using Splunk monitoring tool. Gabriel would like to delete the secrets in the vault that he wrote on February 1, 2022. Which of the following commands should Gabriel use to delete a secret in Vault secret management tool?)
- A. vault kv -delete secret/wejskt.
- B. vault kv del secret/wejskt.
- C. vault kv -del secret/wejskt.
- D. vault kv delete secret/wejskt.
Answer: B
Explanation:
HashiCorp Vault provides a key-value (KV) secrets engine for securely storing sensitive data. To remove a secret from the KV store, the correct command is vault kv del <path>. This command deletes the secret data at the specified path. Options using -delete or -del are syntactically incorrect, and vault kv delete is not a valid Vault CLI command. Proper secret deletion is an essential part of secret lifecycle management, especially when credentials may have been compromised. Performing this action during the Operate and Monitor stage helps contain security incidents, reduce exposure, and ensure that compromised secrets are no longer accessible. Timely deletion of secrets supports effective incident response and strengthens overall security posture.
========
NEW QUESTION # 51
......
Certification Topics of 312-97 Exam PDF Recently Updated Questions: https://ensurepass.testkingfree.com/ECCouncil/312-97-practice-exam-dumps.html