cybersecurity · beginner · ~15 min · safe pentest lab

Is the action ethical?

Distinguish ethical from unethical responses.

Challenge

Classify a responder's next move when they find a vulnerability: report and stop, or exploit beyond authorization.

Task

Implement int is_ethical(const char *action) that returns 1 for an ethical action and 0 for an unethical one.

Input

  • action: a NUL-terminated action name the grader passes — one of "report-and-stop", "request-authorization", or "exploit-without-permission".

Output

Returns int: 1 for "report-and-stop" and "request-authorization", 0 for "exploit-without-permission".

Example

is_ethical("report-and-stop")           ->   1
is_ethical("request-authorization")     ->   1
is_ethical("exploit-without-permission")->   0

Edge cases

  • Reporting and requesting authorization are ethical; exploiting beyond your authorization is not.

Input format

A NUL-terminated action name action.

Output format

An int: 1 for report/request actions, 0 for exploit-without-permission.

Constraints

Only report-and-stop and request-authorization are ethical.

Starter code

#include <string.h>

int is_ethical(const char *action) {
    /* TODO */
    return 0;
}

Solve this exercise in the browser editor — compile and run against the test harness, no setup required.