Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
deb6514
Add a draft threat model and wire it for discoverability
potiuk Aug 27, 2026
82bf425
docs: correct scope and citations in the draft threat model
pjfanning Aug 27, 2026
90305c6
Update SECURITY.md
pjfanning Aug 27, 2026
e790376
docs: drop the app-bound socket scope ruling from the threat model
pjfanning Aug 27, 2026
604f59f
docs: keep the original upstream-coordination wording in SECURITY.md
pjfanning Aug 27, 2026
f26ada1
docs: record the maintainer security posture and answer Q1, Q3 and Q4
pjfanning Aug 27, 2026
e461546
docs: answer Q2 and record who owns gadget-chain defence
pjfanning Aug 27, 2026
be3517c
docs: answer Q5 - the persistence store is trusted
pjfanning Aug 27, 2026
a00d961
docs: answer the osgi half of Q6 - in model, but a removal candidate
pjfanning Aug 27, 2026
c544582
docs: scope the model to this repository and finish Q6
pjfanning Aug 27, 2026
61d8172
docs: correct how findings in other Pekko repositories are routed
pjfanning Aug 27, 2026
8dc516d
docs: answer Q8, and Q7's environment-variable claim
pjfanning Aug 27, 2026
7eee33e
docs: answer Q9 - no compromised-node detection anywhere
pjfanning Aug 27, 2026
8d8e619
docs: answer Q7, Q10 and Q11
pjfanning Aug 27, 2026
c73df1f
docs: answer Q12 - no node reads another node's clock, except LWW
pjfanning Aug 27, 2026
b577f7d
docs: answer Q13 - classic remoting is still supported
pjfanning Aug 27, 2026
90d7eb4
docs: make SECURITY.md canonical for the reporting policy
pjfanning Aug 27, 2026
d8a0d3b
docs: cite the paradox docs for the LWW clock requirement
pjfanning Aug 27, 2026
945bb49
docs: complete the §10 operator contract
pjfanning Aug 27, 2026
8e98b3b
docs: narrow Q8 - CPU cost is not in itself a security concern
pjfanning Aug 27, 2026
3c50f8f
docs: promote the threat model out of draft status
potiuk Aug 27, 2026
eed22da
docs: correct the shutdown-hook count - there are two, not one
potiuk Aug 28, 2026
83fc684
docs: tighten threat model on association, node loss, DNS parsing and…
pjfanning Aug 30, 2026
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
6 changes: 6 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,3 +225,9 @@ Fixes #1234, Refs #1234, or None - <short context>
- Never omit `References`.
- Use `Refs #...`, `Fixes #...`, or `None - <short context>`.
- Do not add `Co-authored-by` or AI-assistant trailers to commits or PR descriptions.

## Security

- Read [`SECURITY.md`](SECURITY.md) before reporting or acting on a security issue.
- Classify security findings against the threat model it links,
[`THREAT_MODEL.md`](THREAT_MODEL.md); §11a lists recurring false positives.
50 changes: 50 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Security Policy

## Reporting a Vulnerability

**Do not report security vulnerabilities through public GitHub issues, pull
requests, or the mailing lists.**

Report them privately to the Apache Security team:

security@apache.org

Apache Pekko does not operate a separate project security list; reports go to
the foundation-wide address above, which routes to the Pekko PMC.

Please follow the [guidelines laid down by the Apache Security
team](https://www.apache.org/security/). The Pekko PMC will coordinate
responsible disclosure with affected upstream maintainers where needed.

To receive security announcements, subscribe to the [Apache Announce Mailing
List](https://lists.apache.org/list.html?announce@apache.org).

## Security Model

Before reporting, please read Apache Pekko's threat model:

[THREAT_MODEL.md](THREAT_MODEL.md)

It states what Pekko treats as a vulnerability and what it does not — in
particular its assumptions about the network remoting runs on, which
configuration defaults change the security envelope, and which properties
Pekko explicitly leaves to the operator. Reports that fall outside the model
will be closed citing the relevant section, so checking first will save you
time.

Two points catch most reporters:

- **Pekko remoting assumes a trusted network.** An `ActorSystem` is not
designed to be exposed to an untrusted network; it is expected to be
protected by network security such as a firewall, and optionally TLS with
mutual authentication. See §4 and §7.
- **All nodes in a Pekko cluster are trusted equally.** There is no
Byzantine-peer model — a finding whose precondition is "a cluster member
misbehaves" is out of model. See §7.

## Further Security Documentation

- [Apache Pekko security announcements](https://pekko.apache.org/docs/pekko/current/security/)
- [Remote Security](https://pekko.apache.org/docs/pekko/current/remoting-artery.html#remote-security)
- [Java Serialization](https://pekko.apache.org/docs/pekko/current/serialization.html#java-serialization)
- [Remote deployment allow list](https://pekko.apache.org/docs/pekko/current/remoting.html#remote-deployment-allow-list)
Loading