WGU D385 Task 2 Secure Coding and API Security Exam Questions and Correct Answers
100% Verified Graded A+
CLASS: Where does Task 2 sit in D385? - Second of two ZHN1 performance tasks:
Secure Coding and Secure API Implementation - remediate the starter API, prove fixes with
pytest, and write a Security Mitigation Report. Competencies: 4102.1.1 evaluate logs, 4102.1.2
develop mitigations, 4102.1.3 configure REST API authentication
CLASS: The Task 2 scenario in one line - Internal Construction Equipment Rental API
(v2.2.0, endpoints under /api/v1/) is suffering unauthorized access attempts, suspicious input
patterns, and failing authorization logic - you are the developer securing it
CLASS: What goes in the final Task 2 submission? - ONE zip containing the written
report (Word docx) plus the modified Python script and the test script - the starter tells you to
save your fixed app as app_solution.py
CLASS: The evidence files provided with the starter - app_student.py (vulnerable code),
task_2_flake8_report.txt (general vulns for Section A), task_2_bandit_report.txt (API vulns for
Section B), network_security_log.txt (attack evidence), penetration_test_report.json (fill-in
template)
CLASS: Security principles the task intro names - Least privilege, defense in depth,
encryption, API keys, and OAuth - be ready to explain how each protects modern APIs
CLASS: Course textbook to cite in the report - Full Stack Python Security by Dennis
Byrne - hashing/salting, TLS, and attack chapters map directly to D1-D4
, CLASS: The two submission gates before evaluation - WGU similarity checker (wait for
the report and review it) and Grammarly for Education (submission cannot pass without
professional communication passing)
RUBRIC: Section A pattern (A1-A3) - Pick 2 GENERAL vulnerabilities from the flake8
report. A1 screenshot the insecure code WITH line numbers, A2 implement a secure replacement
using industry practice, A3 comment out the original code so it no longer executes - never delete
it
RUBRIC: Section B pattern (B1-B3) - Same three-step evidence for 2 API security
vulnerabilities sourced from the bandit report: insecure screenshot with line numbers, secure
replacement, original commented out
RUBRIC: Section C requirements (C1-C5) - C1 pytest functions named test_*, C2 assert
in every test, C3 all tests pass, C4 descriptive print() lines explaining each outcome for the
console screenshot, C5 four passing-test screenshots: 2 general + 2 API
RUBRIC: Section D report structure (D1-D4) - D1 two mitigation strategies for EACH of
the 4 remediated vulnerabilities, D2 two input validation techniques, D3 two exception handling
improvements, D4 one encryption method securing application traffic
RUBRIC: Why comment out instead of delete? - The evaluator must see before-and-after
in the same file - proof you found the exact lines, replaced them securely, and disabled the old
path; secure replacements must not introduce new vulnerabilities
100% Verified Graded A+
CLASS: Where does Task 2 sit in D385? - Second of two ZHN1 performance tasks:
Secure Coding and Secure API Implementation - remediate the starter API, prove fixes with
pytest, and write a Security Mitigation Report. Competencies: 4102.1.1 evaluate logs, 4102.1.2
develop mitigations, 4102.1.3 configure REST API authentication
CLASS: The Task 2 scenario in one line - Internal Construction Equipment Rental API
(v2.2.0, endpoints under /api/v1/) is suffering unauthorized access attempts, suspicious input
patterns, and failing authorization logic - you are the developer securing it
CLASS: What goes in the final Task 2 submission? - ONE zip containing the written
report (Word docx) plus the modified Python script and the test script - the starter tells you to
save your fixed app as app_solution.py
CLASS: The evidence files provided with the starter - app_student.py (vulnerable code),
task_2_flake8_report.txt (general vulns for Section A), task_2_bandit_report.txt (API vulns for
Section B), network_security_log.txt (attack evidence), penetration_test_report.json (fill-in
template)
CLASS: Security principles the task intro names - Least privilege, defense in depth,
encryption, API keys, and OAuth - be ready to explain how each protects modern APIs
CLASS: Course textbook to cite in the report - Full Stack Python Security by Dennis
Byrne - hashing/salting, TLS, and attack chapters map directly to D1-D4
, CLASS: The two submission gates before evaluation - WGU similarity checker (wait for
the report and review it) and Grammarly for Education (submission cannot pass without
professional communication passing)
RUBRIC: Section A pattern (A1-A3) - Pick 2 GENERAL vulnerabilities from the flake8
report. A1 screenshot the insecure code WITH line numbers, A2 implement a secure replacement
using industry practice, A3 comment out the original code so it no longer executes - never delete
it
RUBRIC: Section B pattern (B1-B3) - Same three-step evidence for 2 API security
vulnerabilities sourced from the bandit report: insecure screenshot with line numbers, secure
replacement, original commented out
RUBRIC: Section C requirements (C1-C5) - C1 pytest functions named test_*, C2 assert
in every test, C3 all tests pass, C4 descriptive print() lines explaining each outcome for the
console screenshot, C5 four passing-test screenshots: 2 general + 2 API
RUBRIC: Section D report structure (D1-D4) - D1 two mitigation strategies for EACH of
the 4 remediated vulnerabilities, D2 two input validation techniques, D3 two exception handling
improvements, D4 one encryption method securing application traffic
RUBRIC: Why comment out instead of delete? - The evaluator must see before-and-after
in the same file - proof you found the exact lines, replaced them securely, and disabled the old
path; secure replacements must not introduce new vulnerabilities