312-97 Exam Questions 2026 – Practice Test with Answers

Home / EC-Council / 312-97

Latest 312-97 Exam Practice Questions

The practice questions for 312-97 exam was last updated on 2026-10-21 .

Viewing page 1 out of 2 pages.

Viewing questions 1 out of 10 questions.

Question#1

Matt LeBlanc has been working as a DevSecOps engineer in an IT company that develops software products and web applications for IoT devices. His team leader has asked him to use GitRob tool to find sensitive data in the organizational public GitHub repository. To install GitRob, Matt ensured that he has correctly configured Go >= 1.8 environment and that $GOPATH/bin is in his $PATH. The GitHub repository URL from which he is supposed to install the tool ishttps://github.com/michenriksen/gitrob.
Which of the following command should Matt use to install GitRob?

A. $ go get github.com/michenriksen/gitrob.
B. $ go get gitrob github.com/michenriksen/gitrob.
C. $ go git github.com/michenriksen/gitrob.
D. $ go git gitrob github.com/michenriksen/gitrob.

Explanation:
In Go-based tool installation, the standard method to download, compile, and install a Go package is using the go get command followed by the repository import path. Since Matt has already ensured that Go version 1.8 or later is installed and that $GOPATH/bin is included in the system PATH, running go get github.com /michenriksen/gitrob will fetch the GitRob source code, build the binary, and place it in the appropriate bin directory.
Options B, C, and D are invalid because go get does not accept multiple positional arguments in that manner, and go git is not a valid Go command. Installing GitRob during the Code stage enables DevSecOps teams to scan repositories for accidentally committed credentials, API keys, and other sensitive information, helping prevent data leakage from public repositories.

Question#2

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.

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.

Question#3

Jason Barry has been working as a DevSecOps engineer in an IT company that develops software products and applications for ecommerce companies. During the build-time check, Jason discovered SQL injection and XXS security issues in the application code.
What action does the build-time check perform on the application code?

A. It will ignore the security issue and continue the build process.
B. It will send a message to issue and project management tool and continue with deploy-time check.
C. It will send an alert to SIEM and continue with test-time check.
D. It will stop the build process.

Explanation:
Build-time checks are designed to enforce security gates within the CI/CD pipeline. When critical vulnerabilities such as SQL injection and cross-site scripting (XSS) are detected during this stage, the correct and expected behavior is to fail the build. Stopping the build process prevents insecure code from progressing to later stages such as testing, deployment, or production. Ignoring issues or merely sending alerts while continuing the pipeline undermines the purpose of shift-left security. Alerts to SIEM systems and issue trackers are typically supplementary actions, but the primary enforcement mechanism at build time is to block the pipeline when severity thresholds are exceeded. This approach reduces remediation costs, limits exposure, and ensures that only secure artifacts move forward in the DevSecOps lifecycle.

Question#4

Cheryl Hines has been working as a senior DevSecOps engineer over the past 5 years in an IT company. Due to the robust features offered by Keywhiz secret management tool such as compatibility with all software, untraceable secrets, no impact of power cut or server outage, etc., Cheryl’s organization is using it for managing and distributing secrets. To add a secret using Keywhiz CLI, which of the following commands should Cheryl use?

A. $ keywhiz.cli --devTrustStore --user keywhizAdmin login $ keywhiz.cli add secret --name mySecretName <mySecretFile.
B. $ keywhiz.cli --devsecTrustStore --admin keywhizAdmin login $ keywhiz.cli add secret --name mySecretName <mySecretFile.
C. $ keywhiz.cli --devTrustStore --admin keywhizAdmin login $ keywhiz.cli add secret --name mySecretName <mySecretFile.
D. $ keywhiz.cli --DevSecTrustStore --user keywhizAdmin login $ keywhiz.cli add secret --name mySecretName <mySecretFile.

Explanation:
Keywhiz CLI requires authentication before secrets can be added. The correct process involves logging in using the --devTrustStore option and authenticating as an administrator using the --admin flag. Once authenticated, the add secret command is used with input redirection to securely store the secret.
Options that use incorrect flag names, incorrect casing, or invalid trust store identifiers do not follow Keywhiz CLI syntax. Adding secrets through Keywhiz instead of embedding them in code supports secure secret distribution and management, which is a fundamental aspect of DevSecOps culture. This approach ensures secrets remain protected, auditable, and available even during outages.

Question#5

Orange International Pvt. Ltd. is an IT company that develops software products and web applications for Android phones. The organization recognizes the importance of secure coding principles and would like to enforce it. Therefore, Orange International Pvt. Ltd. established access management, avoided reinventing the wheel, secured the weak links, implemented in-depth defense, and reduced third-party involvement in the application.
Based on the above-mentioned information, which of the following secure coding principles is achieved by the organization?

A. Secure by implementation.
B. Secure by default.
C. Secure by design.
D. Secure by communication.

Explanation:
The practices described―access management, defense in depth, minimizing third-party dependencies, and securing weak links―are all architectural and design-level decisions. These controls are not merely coding techniques or configuration defaults but reflect security being embedded into the system’s blueprint from the earliest stages. This aligns directly with the Secure by Design principle, which emphasizes proactively designing systems to resist attacks rather than reacting to vulnerabilities later. Secure by implementation focuses on writing correct and safe code, secure by default focuses on initial configuration settings, and secure by communication addresses trust and confidentiality in communication channels. Orange International’s approach demonstrates a holistic security mindset that anticipates threats and integrates protective measures throughout the system architecture, making Secure by Design the correct choice.

Disclaimer

This page is for educational and exam preparation reference only. It is not affiliated with EC-Council, Certified DevSecOps Engineer, or the official exam provider. Candidates should refer to official documentation and training for authoritative information.

Exam Code: 312-97Q & A:  100  Q&As Updated:  2026-10-21

  Get All 312-97 Q&As