Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Agent guidance

This file is read by automated agents (security scanners, code analyzers,
AI assistants) operating on this repository. It points them at the
human-authored references they should consult before producing output.

## Security

Security model: [SECURITY.md](./SECURITY.md), which links to the project's
threat model at [draft-THREAT-MODEL.md](./draft-THREAT-MODEL.md).

Agents that scan this repository should consult `draft-THREAT-MODEL.md` for
the project's in-scope / out-of-scope declarations, adversary model, security
properties, and known non-findings before reporting issues. Apache PLC4X is a
client library for industrial protocols (most of which are unauthenticated /
unencrypted by design); the threat model is about which threats the library
takes on versus which are left to the operator and the OT network.
20 changes: 20 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Security Policy

## Reporting a Vulnerability

Please report suspected security vulnerabilities in Apache PLC4X privately to
the Apache Security Team at <security@apache.org>, following the ASF process
at <https://www.apache.org/security/>. Do not open public GitHub issues or
pull requests for security reports.

## Threat Model

Apache PLC4X's security threat model — what is in and out of scope, the
security properties the project provides and disclaims, the adversary model,
the environmental assumptions, and how findings are triaged — is documented in
[draft-THREAT-MODEL.md](./draft-THREAT-MODEL.md).

PLC4X speaks industrial protocols (Modbus, S7, OPC-UA, ADS, EtherNet/IP, …),
most of which are unauthenticated and unencrypted by design. The threat model
covers the parser/driver trust boundary (responses from the device/wire) and
draws the line on what is the operator's and the OT network's responsibility.