- A
Store all logs in a database and query directly.
Why wrong: Database queries can also be vulnerable if not parameterized.
- B
Use `eval()` to dynamically evaluate log content.
Why wrong: `eval()` can execute arbitrary code, leading to injection.
- C
Sanitize log input and use safe parsing functions like `json.loads()` for structured logs.
Safe parsing prevents injection and handles data securely.
- D
Run the script with root privileges to access all logs.
Why wrong: Running as root increases the impact of a compromise.
Quick Answer
The answer is to sanitize log input and use safe parsing functions like `json.loads()` for structured logs. This is correct because it prevents injection attacks that can occur when untrusted log data is processed by dangerous functions like `eval()`, which executes arbitrary code. In the context of secure Python log parsing, the core principle is to never trust external input—even system logs can contain crafted payloads designed to exploit parsing scripts. On the CompTIA SecurityX CAS-004 exam, this question tests your understanding of secure coding practices within automation and scripting tasks, a key domain in the exam’s objectives. A common trap is choosing `eval()` for its convenience, but it is a critical security flaw. Remember the memory tip: “Parse with safety, never with `eval()`—stick to `json.loads()` for structured logs.”
CAS-004 Scripting, Containers and Automation Practice Question
This CAS-004 practice question tests your understanding of scripting, containers and automation. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A security engineer is writing a Python script to parse system logs and alert on suspicious patterns. What is the best practice to ensure the script remains secure when handling log data?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue:
"best"Why it matters: Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Sanitize log input and use safe parsing functions like `json.loads()` for structured logs.
Option B is correct because sanitizing input and using safe parsing functions like `json.loads()` prevents injection attacks. Option A (`eval()`) is dangerous. Option C is not a scripting best practice. Option D runs with excessive privileges.
Key principle: Authentication proves identity; authorization controls what that identity can do after login. Both must work for full privileged access.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Store all logs in a database and query directly.
Why it's wrong here
Database queries can also be vulnerable if not parameterized.
- ✗
Use `eval()` to dynamically evaluate log content.
Why it's wrong here
`eval()` can execute arbitrary code, leading to injection.
- ✓
Sanitize log input and use safe parsing functions like `json.loads()` for structured logs.
Why this is correct
Safe parsing prevents injection and handles data securely.
Clue confirmation
The clue word "best" in the question point toward this answer.
Related concept
Authentication checks who the user is.
- ✗
Run the script with root privileges to access all logs.
Why it's wrong here
Running as root increases the impact of a compromise.
Common exam traps
Common exam trap: authentication is not authorization
Logging in proves the user can authenticate. It does not automatically mean the user is allowed to enter privileged or configuration mode. Watch for AAA authorization, privilege level and command authorization details.
Detailed technical explanation
How to think about this question
This kind of question is testing the difference between identity and permission. A user may successfully log in to a router because authentication is working, but still fail to enter configuration mode because authorization is missing, misconfigured or mapped to a lower privilege level.
KKey Concepts to Remember
- Authentication checks who the user is.
- Authorization controls what the user is allowed to do after login.
- Privilege levels affect access to EXEC and configuration commands.
- AAA, TACACS+ and RADIUS can separate login success from command access.
TExam Day Tips
- Do not assume successful login means full administrative access.
- Look for words such as cannot enter configuration mode, privilege level, authorization or command access.
- Separate login problems from permission problems before choosing the answer.
Key takeaway
Authentication proves identity; authorization controls what that identity can do after login. Both must work for full privileged access.
Real-world example
How this comes up in practice
A small business has 20 workstations on the 192.168.1.0/24 network and one public IP from its ISP. The router uses PAT (NAT overload) so all 20 devices share one public address using different source ports. NAT questions test whether you understand the four address terms and which direction each translation applies.
What to study next
Got this wrong? Here's your next step.
Review Cisco AAA concepts — authentication, authorization, and accounting. Study privilege levels (0–15), command authorization under TACACS+, and how RADIUS differs. Then practise related CAS-004 questions on access control and AAA configuration.
- →
Scripting, Containers and Automation — study guide chapter
Learn the concepts, then practise the questions
- →
Scripting, Containers and Automation practice questions
Targeted practice on this topic area only
- →
All CAS-004 questions
510 questions across all exam domains
- →
CompTIA SecurityX CAS-004 study guide
Full concept coverage aligned to exam objectives
- →
CAS-004 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related CAS-004 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Scripting, Containers and Automation practice questions
Practise CAS-004 questions linked to Scripting, Containers and Automation.
Application Environment, Configuration and Security practice questions
Practise CAS-004 questions linked to Application Environment, Configuration and Security.
Governance, Risk and Compliance practice questions
Practise CAS-004 questions linked to Governance, Risk and Compliance.
Security Engineering practice questions
Practise CAS-004 questions linked to Security Engineering.
Security Architecture practice questions
Practise CAS-004 questions linked to Security Architecture.
Security Operations practice questions
Practise CAS-004 questions linked to Security Operations.
CAS-004 fundamentals practice questions
Practise CAS-004 questions linked to CAS-004 fundamentals.
CAS-004 scenario practice questions
Practise CAS-004 questions linked to CAS-004 scenario.
CAS-004 troubleshooting practice questions
Practise CAS-004 questions linked to CAS-004 troubleshooting.
Practice this exam
Start a free CAS-004 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this CAS-004 question test?
Scripting, Containers and Automation — This question tests Scripting, Containers and Automation — Authentication checks who the user is..
What is the correct answer to this question?
The correct answer is: Sanitize log input and use safe parsing functions like `json.loads()` for structured logs. — Option B is correct because sanitizing input and using safe parsing functions like `json.loads()` prevents injection attacks. Option A (`eval()`) is dangerous. Option C is not a scripting best practice. Option D runs with excessive privileges.
What should I do if I get this CAS-004 question wrong?
Review Cisco AAA concepts — authentication, authorization, and accounting. Study privilege levels (0–15), command authorization under TACACS+, and how RADIUS differs. Then practise related CAS-004 questions on access control and AAA configuration.
Are there clue words in this question I should notice?
Yes — watch for: "best". Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.
What is the key concept behind this question?
Authentication checks who the user is.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Last reviewed: Jun 24, 2026
This CAS-004 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CAS-004 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.