Skip to content
Merged
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 1 addition & 8 deletions .github/workflows/public-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,7 @@ jobs:
- name: Run public tests
run: sh tests/run-tests.sh
- name: Enforce assessment and review no-egress surface
run: |
# ptxray-defs.sh is intentionally excluded: it is the separate,
# network-capable definitions downloader, not assessment execution.
set -- ptxray-aix.sh ptxray-ibmi.sh ptxray-review-pack.sh checks/*/*.ksh
if [ -f ptxray-review-validate.awk ]; then
set -- "$@" ptxray-review-validate.awk
fi
sh tools/ci/egress-lint.sh "$@"
run: python3 tests/check-packaged-egress.py
- name: Reject redistributed IBM delivery data
run: python3 tools/check-no-ibm-redistribution.py

Expand Down
53 changes: 29 additions & 24 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ distributed artifact and the public documentation, not the build system.

## Repo-specific rules

**The product claims here are load-bearing.** "Runs as a single ksh88 file under AIX `/bin/sh`",
**The product claims here are load-bearing.** "Ships complete inspectable KornShell report bundles",
"makes zero network calls during assessment execution", "reports findings without remediating
the host", "changes no system configuration and sends no assessment data away from the host" —
these are commitments a customer relies on and a competitor will test. Never widen a claim to
Expand All @@ -31,26 +31,31 @@ available from the published download channel.
**No remediation.** PTxray reads and reports. Any change that mutates a host contradicts the
product.

## Published 1.6 release boundary

PTxray 1.6.0 is the current published release and is available from `releases/latest` as an
exact signed eleven-asset set: eight payloads recorded in `SHA256SUMS` — the six 1.5 artifacts
plus `ptxray-report-aix-1.6.0.tar` and `ptxray-report-ibmi-1.6.0.tar` — that manifest, its
detached signature, and the release public key. The report runners inside the two bundles are
the product entry points; the one-file scripts remain for compatibility and do not produce the
report. Its AIX runner requires root, and its IBM i runner
requires QSECOFR. Before assessment probes begin, each runner verifies and invokes the separate,
adjacent, same-release digest-bound `ptxray-defs.sh`. Connected mode attempts a signed-definitions
update by default; `--offline` selects the signed cache, and `--definitions-bundle` imports a local
signed bundle and its adjacent signature. The interactive menu presents the same choices.

Only the downloader may use the network or write `/var/ptxray/definitions`; its disclosure occurs
before any request. The assessment probes remain read-only, perform no remediation, make no
network calls, and send no assessment data away from the host. A report or explicitly requested
export is still a local write. Keep this distinction intact on every customer-visible surface.

IBM i firmware, PTF group, and Security/HIPER group currency are `NOT_ASSESSED` in 1.6; the
`--allow-ibm-lookup` opt-in arrives in 1.7. Do not describe that currency as measured.

The VIOS lane remains disabled pending live VIOS acceptance. Do not describe
the published 1.6 release as VIOS-capable.
## Published 1.8 release boundary

PTxray 1.8.0 ships exactly eleven signed-release assets: eight payloads in
`SHA256SUMS`, that manifest, its detached signature, and the release public key.
The report bundles contain the product entry points and their complete tool trees.
Top-level runner copies require the extracted bundle; retired one-file scanners
are not shipped. AIX requires root and native ksh93 for IBM FLRTVC. IBM i requires
PASE ksh and QSECOFR. Follow each bundle's runtime prerequisites.

Before assessment, each runner verifies its same-package definitions helper and
its digest pin. The separate helper acquires signed definitions and, on AIX, the
pinned IBM FLRTVC engine. IBM delivery inputs are acquired separately and must not
be redistributed inside the report bundles. Offline runs require verified local
inputs and cannot bypass missing evidence to manufacture a complete result.

Only the separate acquisition helper may make download requests or write the
protected definitions cache; disclosure occurs before a request. Assessment
probes perform no remediation, change no system configuration, make no network
calls, and send no assessment data away. Report and scratch files are local writes.

The complete IBM i selection runs every registered check. This is not a claim of
complete automated benchmark coverage: partial and manual evidence gaps remain
explicit. Do not use network-backed SQL services during assessment.

The review-copy helper refuses current composed reports because their privacy
annotations do not satisfy its strict contract. Manual privacy review is required
before sharing a full report; never present a refusal as pseudonymization success.
VIOS remains disabled pending live acceptance.
Loading
Loading