profinet

profinet is a skill for Claude Code from PurpleAILAB/Decepticon. It costs 88 tokens per session (4,864 once invoked), scanned A, original, Apache-2.0.

A security testing guide for PROFINET, an Ethernet-based industrial network used to connect Siemens and other factory controllers to devices. It focuses on discovering devices and checking unauthenticated network-management and real-time traffic actions.

In plain words
What is it for?
Use it to enumerate and fingerprint PROFINET devices, test station-name or IP reassignment, locate hardware with its LEDs, assess factory-reset exposure, and examine real-time frame injection or replay risks.
Why use it?
It helps identify weaknesses that could break controller-to-device mappings, reset equipment, change network settings, or falsify cyclic process data.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

About the project

Decepticon is an autonomous red-team agent that coordinates AI agents, security tools, sandboxes, and supporting services for authorized cybersecurity assessments. Security researchers and red teams can run it through its Docker stack, cloud service, command-line interface, or Python SDK, with the catalogue entries representing its available skills.

PurpleAILAB/Decepticon · 5,445 stars · on GitHub · decepticon.red

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/purpleailab/decepticon/profinet
Any agent
npx skills add PurpleAILAB/Decepticon --skill profinet
Clone the repo
git clone --depth 1 https://github.com/PurpleAILAB/Decepticon

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for profinet

README.md
[![agentmods](https://agentmods.dev/badge/skills/purpleailab/decepticon/profinet.svg)](https://agentmods.dev/skills/purpleailab/decepticon/profinet)
Your own site
<a href="https://agentmods.dev/skills/purpleailab/decepticon/profinet"><img src="https://agentmods.dev/badge/skills/purpleailab/decepticon/profinet.svg" alt="Measured on agentmods" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,864 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00088 $0.04864
Opus 5 $0.00044 $0.02432
Sonnet 5 $0.00018 $0.00973
Haiku 4.5 $0.00009 $0.00486

Measured 2d ago against content hash c99cd0fcf63b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

profinet scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootlowPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

sudo tcpdump -i eth0 ether proto 0x8892 -c 20

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

packages/decepticon/decepticon/skills/standard/exploit/ics-ot/profinet/SKILL.md · 352 lines

How it starts

The opening of the file, as written. The whole thing — 352 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PROFINET Attack Playbook (EtherType 0x8892 / DCP)

PROFINET is the dominant European/Siemens fieldbus for deterministic real-time process automation — deployed in Siemens SIMATIC PLC networks, Beckhoff TwinCAT, Phoenix Contact, and virtually all post-2005 EU manufacturing. Unlike Modbus or EtherNet/IP, PROFINET RT operates at Layer 2 (EtherType 0x8892) — there is no IP header, no routing, and no firewall coverage at the IP layer. The attacker must be on the same Ethernet broadcast domain (OT L2 segment, or have a SPAN/TAP into it). DCP (Discovery and basic Configuration Protocol) provides unauthenticated device enumeration, naming, IP assignment, and factory-reset — all without credentials.

SAFETY FIRST

DCP Set commands (station-name reassignment, IP change, factory-reset) immediately disrupt the IO-controller ↔ IO-device association. When an IO-device loses its expected station name, the PROFINET IO controller goes to BF (Bus Fault) state and the process typically enters a safe/halt state or continues with the last-known values depending on watchdog configuration. This is a process-disruption event. Confirm written scope authorization before any DCP Set or RT frame injection. DCP Identify (read) is safe.

Prerequisites

  • Physical or logical access to the OT L2 segment (direct port, rogue switch, SPAN, compromised HMI/engineering workstation on the same VLAN).
  • Wireshark with pn_dcp dissector (ships by default — filter: pn_dcp).
  • Python with scapy for DCP crafting (or python-profinet library).
# Verify interface sees PROFINET frames
sudo tcpdump -i eth0 ether proto 0x8892 -c 20
# If frames appear: you are on the OT segment

# Install scapy (already on Kali)
pip install scapy

# python-profinet (alternative higher-level library)
pip install profinet

Phase 1 — Discover: DCP Identify-All broadcast

DCP Identify-All is a Layer-2 broadcast to 01:0E:CF:00:00:00 (PROFINET multicast). All devices on the segment reply with their station name, IP, MAC, device type, vendor, order number, firmware.

Read the full file on GitHub · 352 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 352 lines · 88 tokens per session scan A c99cd0fcf63b

Subscribe to this mod's changes

profinet is a skill published in the GitHub repository PurpleAILAB/Decepticon (5,445 stars, last pushed 6d ago), licensed Apache-2.0. It adds 88 tokens to every session and 4,864 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

bun-ffi-native-binding

Build high-performance native modules for JavaScript using Bun's FFI (Foreign Function Interface) with Zig or C. Use when optimizing hot paths, integrating system libraries, or requiring native performance for compute-intensive operations.

Harmeet10000/skills · 48 tokens

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume control of Bluesound and NAD speakers. Use when the user wants to play music, stream audio, control speakers, adjust volume, group or ungroup Bluesound players, search TuneIn radio, or manage multi-room streaming setups.

elizaOS/eliza · 64 tokens

pylabrobot

Vendor-agnostic lab automation framework. Use when controlling multiple equipment types (Hamilton, Tecan, Opentrons, plate readers, pumps) or needing unified programming across different vendors. Best for complex workflows, multi-vendor setups, simulation. For Opentrons-only protocols with official API…

synthetic-sciences/openscience · 73 tokens

interactive-dashboard

Interactive web dashboards: stock trackers, sector heatmaps, portfolio monitors — served via preview URL.

ginlix-ai/LangAlpha · 21 tokens

onboarding

First-time user onboarding to set up investment profile, watchlists, portfolio, and preferences.

ginlix-ai/LangAlpha · 21 tokens

serve-sim-placeholder-assets

Audit and update serve-sim's Device Hub-style simulator placeholder assets from local Xcode/CoreTypes resources. Use after installing a new Xcode or macOS seed, or when iPhone, iPad, Watch, or Vision placeholder previews look wrong.

EvanBacon/serve-sim · 56 tokens