This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Phase 0.9E-R official Y2JB host sender audit
|
||||
|
||||
Date: 2026-07-18
|
||||
|
||||
Official sender:
|
||||
`Gezine/Y2JB@0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2:payload_sender.py`
|
||||
|
||||
Identity:
|
||||
|
||||
- size: 1064 bytes;
|
||||
- SHA-256:
|
||||
`8c87920c41dbdbd66b9f36ca9509f0d6bef9170f351dd97ff831cfb98e642ec6`;
|
||||
- Git blob: `4ad80085bd8f2cf9ca3520d8ff1353b9c764fb75`;
|
||||
- same blob in all five official tags;
|
||||
- originating commit:
|
||||
`edf0d631dd6e4dbd5a3db54ebdae47934d8bd994`.
|
||||
|
||||
The file was inspected statically and was never run against any network
|
||||
target.
|
||||
|
||||
## Contract
|
||||
|
||||
| Lines | Behavior |
|
||||
|---|---|
|
||||
| 2 | `send_payload(path, host, port=50000)` |
|
||||
| 3–4 | opens the selected local file `rb` and reads it completely |
|
||||
| 6 | creates IPv4 TCP socket |
|
||||
| 7 | blocking connect to caller-supplied host/port |
|
||||
| 8 | `sendall(data)`; CPython manages short sends or raises |
|
||||
| 9 | closes after successful `sendall` |
|
||||
| 10 | reports local byte count, not peer acknowledgement |
|
||||
| 14–22 | accepts `host file` or `host port file`; explicit port uses `int()` |
|
||||
| 23–29 | prints usage/examples, including non-binding 9020 example |
|
||||
|
||||
Findings:
|
||||
|
||||
- binary mode: yes;
|
||||
- default port: 50000;
|
||||
- explicit port selection: yes;
|
||||
- maximum input size: absent;
|
||||
- timeout: absent;
|
||||
- automatic retry/resume: absent;
|
||||
- response read: absent;
|
||||
- acknowledgement, remote byte count, checksum, or hash: absent;
|
||||
- exception handling: absent; file/socket errors propagate;
|
||||
- success exit: implicit zero;
|
||||
- usage error exit: also implicit zero;
|
||||
- local mutation: none; selected file is read-only;
|
||||
- duplex classification: false.
|
||||
|
||||
The server added same-connection log writes in Y2JB 1.4, but this official
|
||||
sender closes after `sendall` and never reads. Transport-level duplex
|
||||
capability is not an end-to-end duplex sender contract.
|
||||
|
||||
No claim is made that this official sender is the one actually used by the
|
||||
operator. That requires the separate operator attestation.
|
||||
Reference in New Issue
Block a user