# Embedded Firmware Exploit Wokwi

## Overview

A browser-based firmware security lab using Wokwi's Raspberry Pi Pico simulation. Students can practice embedded security techniques without any hardware.

## Learning Objectives

- Explain the main cyber decision that Embedded Firmware Exploit Wokwi is designed to support.
- Change input assumptions and predict how the output should respond before running the demo.
- Interpret the result in plain language, not just as a number, chart, or AI recommendation.
- State one limitation, risk, or governance consideration before using the result in a real decision.

## Run Modes

- Browser

## Expected Setup / Startup Time

- Starts immediately in browser with no installs, no API keys, and classroom-safe defaults.

## Demo Type

- Interactive browser demo

## Files in This Folder

- `app.js`
- `diagram.json`
- `index.html`
- `main.c`
- `README.md`
- `secrets.h`
- `style.css`
- `wokwi.toml`

## How To Run

- Browser: open `index.html`.

## How To Use The Demo

1. Choose the run mode that fits the class: Browser.
2. Review the default assumptions before changing anything.
3. Change one or two inputs, then use `Run the main action`.
4. Read the output first, then compare any supporting metrics, charts, or AI text.
5. Capture one insight, one limitation, and one action recommendation.

## Inputs

- Start with the default assumptions, then change one variable at a time so students can isolate cause and effect.
- Treat each input as a lever that changes the scenario, baseline, or business context behind the result.

## Buttons / Actions

- Use the main run or simulate action to compute the scenario after inputs are set.
- Use export or reset actions, when present, to compare runs or return to a classroom-safe baseline.

## Outputs

- Read the top-line result first, then look for supporting metrics, tables, or narratives that explain why it changed.
- Students should explain whether the output is descriptive, predictive, simulated, or recommended.

## What To Notice

- Look for firmware behavior, input boundary, and failure mode
- Observe how constrained inputs can still create unsafe system behavior
- Note that embedded security teaching should emphasize safe lab boundaries and defensive design

## Related Demos or Course Context

- Course path: [Cybersecurity](../../courses/cybersecurity.html)
- Related demo: [Intrusion Detection](../../CyberSecurityDemos/IoTAircraftNetwork/IntrusionDetection/about.html)
- Related demo: [Network Traffic Analyzer](../../CyberSecurityDemos/IoTAircraftNetwork/NetworkTrafficAnalyzer/about.html)
- Related demo: [Pen Test Simulator](../../CyberSecurityDemos/IoTAircraftNetwork/PenTestSimulator/about.html)

## Attribution

Created by **Professor Vinaya Sathyanarayana** as part of [KateelLearningDemosToStudents](https://github.com/VinayaSharada/KateelLearningDemosToStudents).
Attribution email: `vinallcontact@gmail.com`
