@calltelemetry/ct-lab-mcp 0.8.106 → 0.8.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/stig/SHA256SUMS +14 -1
- package/assets/stig/guest/collect-fips-state.sh +6 -0
- package/assets/stig/guest/collect-hardware.sh +3 -0
- package/assets/stig/guest/collect-host-checks.sh +3 -0
- package/assets/stig/guest/collect-network-services.sh +15 -0
- package/assets/stig/guest/collect-repolist.sh +3 -0
- package/assets/stig/guest/collect-rpm-inventory.sh +3 -0
- package/assets/stig/guest/collect-rpm-nevra.sh +3 -0
- package/assets/stig/guest/collect-rpmlist.sh +3 -0
- package/assets/stig/guest/collect-updateinfo-all.sh +3 -0
- package/assets/stig/guest/collect-updateinfo-security.sh +3 -0
- package/assets/stig/guest/collect-updateinfo-summary.sh +3 -0
- package/assets/stig/guest/oval-eval.sh +11 -0
- package/assets/stig/guest/oval-prep.sh +4 -0
- package/assets/stig/guest/verify-root.sh +13 -0
- package/dist/src/generated-version.d.ts +1 -1
- package/dist/src/generated-version.js +1 -1
- package/dist/src/stig/distribution.d.ts +16 -1
- package/dist/src/stig/distribution.d.ts.map +1 -1
- package/dist/src/stig/distribution.js +64 -1
- package/dist/src/stig/distribution.js.map +1 -1
- package/dist/src/stig/evidence.d.ts +135 -0
- package/dist/src/stig/evidence.d.ts.map +1 -0
- package/dist/src/stig/evidence.js +637 -0
- package/dist/src/stig/evidence.js.map +1 -0
- package/dist/src/stig/live.d.ts +12 -1
- package/dist/src/stig/live.d.ts.map +1 -1
- package/dist/src/stig/live.js +39 -1
- package/dist/src/stig/live.js.map +1 -1
- package/dist/src/stig/markers.d.ts +6 -0
- package/dist/src/stig/markers.d.ts.map +1 -0
- package/dist/src/stig/markers.js +23 -0
- package/dist/src/stig/markers.js.map +1 -0
- package/dist/src/stig/ports.d.ts +17 -0
- package/dist/src/stig/ports.d.ts.map +1 -1
- package/dist/src/stig/pve.d.ts +1 -0
- package/dist/src/stig/pve.d.ts.map +1 -1
- package/dist/src/stig/runner.d.ts +6 -0
- package/dist/src/stig/runner.d.ts.map +1 -1
- package/dist/src/stig/runner.js +31 -18
- package/dist/src/stig/runner.js.map +1 -1
- package/dist/src/tools/quick-provision.d.ts +2 -2
- package/dist/src/tools/stig-tools.d.ts +28 -2
- package/dist/src/tools/stig-tools.d.ts.map +1 -1
- package/dist/src/tools/stig-tools.js +43 -4
- package/dist/src/tools/stig-tools.js.map +1 -1
- package/package.json +1 -1
package/assets/stig/SHA256SUMS
CHANGED
|
@@ -13,7 +13,20 @@ eb119e742a4791404ca298c962515ffe3492814dfc72aecac16c420ccb3b0ccc guest/keyhash.
|
|
|
13
13
|
9abadcf3c9a1334447a6f349c6c78105d090550d6e8c09adb0320fc1a73e5019 guest/shred-recovery.sh
|
|
14
14
|
0af1b98d2acf8827ac3861a0ec25f507483a3dc902f00ed215ce13b6dc4db0dc guest/test-recovery.sh
|
|
15
15
|
6a63f43c312eed5941f0b86044ebe8b3457ce9412c5d9a1ceda67316d16a4209 guest/trim.sh
|
|
16
|
-
|
|
16
|
+
6155386f59eb807256b9ab5a9f61136821cb43bf629b06304c4279922a4d30f3 guest/verify-root.sh
|
|
17
17
|
770cbf1c4ea374772d6e80734b1fe4d7d7f5826c8c528a5371f4dfea196479d7 guest/verify-user.sh
|
|
18
18
|
b4a37a0425369c99dfe9b63086155b7ffaa0ef73f98b158143ecb0cd84d45d94 guest/scan-disa.sh
|
|
19
19
|
65e5a3ca041b44d496e81cd961c3fa70ac0bf6804ef9b3f48a9997fa83902d07 image/verify-image.sh
|
|
20
|
+
b16398f652108b9c80f310b98484d23f7f7ac0db9dfd6bb42ca19392ffc2e3d0 guest/collect-fips-state.sh
|
|
21
|
+
f965a01e2010fbdc67418ac65f0b5652fa0a73bd11527930dbbd53b4bf0db31e guest/collect-hardware.sh
|
|
22
|
+
8c7a455289c18ef63b23c8fead2122db9e31399e8490501e8933f62b5a9c4008 guest/collect-host-checks.sh
|
|
23
|
+
9a3d629763624d831b945507ba32d2e08f5a41b9d8e00dd7563b9707746aa09e guest/collect-network-services.sh
|
|
24
|
+
799bedfcce87a51e1b2a82724aae64f2ba0586efbe71b51877e214c6f8396024 guest/collect-repolist.sh
|
|
25
|
+
ed5647566b45fca581e1eed8cfcac3c431ea6d2a6ab405ab2d6aafc7a9eb7af4 guest/collect-rpm-inventory.sh
|
|
26
|
+
99576ee9e80cb7d2d18c4efb624c69429d67a560f151a22da2b9f12681bdb3a3 guest/collect-rpm-nevra.sh
|
|
27
|
+
58e22eb71b7e508207acd61719c63a35dffc87973dd540321dc49e4b4f8de46e guest/collect-rpmlist.sh
|
|
28
|
+
01c34fa475ae254dec8c4a091901406f7f338591a1215cc097206e02249f54b2 guest/collect-updateinfo-all.sh
|
|
29
|
+
0ad1521d199b7912a2c6490f44ee945b643ea88c33ecae16bb283ab39f22eb9e guest/collect-updateinfo-security.sh
|
|
30
|
+
48d22a1c247bc1d58fc7d0820c4f045eb4a7e4234721d47094e51db7fd04dcef guest/collect-updateinfo-summary.sh
|
|
31
|
+
b720ee63cac8ff74a68589f23ca57f98aed1ec39a7bc023f93f29e588821ccdc guest/oval-eval.sh
|
|
32
|
+
10f120dc3ab761227a211c74207ad0ef2f2109e85502413e0b90595fc5794912 guest/oval-prep.sh
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only host facts for fips-state.txt. Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
echo "### FIPS"; fips-mode-setup --check; update-crypto-policies --show; cat /proc/sys/crypto/fips_enabled; echo
|
|
4
|
+
echo "### NEVRA"; rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" kernel kernel-core openssl openssl-libs openssl-pkcs11 libgcrypt gnutls nss nss-softokn nss-softokn-freebl nss-util libkcapi libkcapi-hmaccalc openssh openssh-server nettle gmp dracut-fips 2>&1
|
|
5
|
+
echo; echo "### KCOMP"; rpm -q --qf "%{NAME}-%|EPOCH?{%{EPOCH}}:{(none)}|:%{VERSION}-%{RELEASE}.%{ARCH} %{INSTALLTIME:date} %{RSAHEADER:pgpsig}\n" nss-softokn kernel-core libgcrypt gnutls openssh libkcapi openssl-libs
|
|
6
|
+
echo; echo "### OSREL"; head -3 /etc/os-release
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only host facts for hardware.txt. Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
dmidecode -t system 2>&1 | head -20; lscpu; free -b; lsblk -b; ip -br a; uname -r; cat /etc/redhat-release; ls /dev/tpm0 /dev/tpmrm0 2>&1; [ -d /sys/firmware/efi ] && echo EFI-boot || echo BIOS-boot; mokutil --sb-state 2>&1
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only host facts for host-checks.txt. Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
getent shadow root | cut -d: -f4,5; rpm -q kernel-core | wc -l; grubby --default-kernel; id -Z; grep -hE "^(deny|fail_interval|unlock_time|even_deny_root|silent|audit)" /etc/security/faillock.conf
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only host facts for network-services.txt. Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
echo "### SS"; ss -tulpn; echo; echo "### DEFZONE"; firewall-cmd --get-default-zone; firewall-cmd --get-active-zones; echo; echo "### ZONES"; firewall-cmd --list-all-zones
|
|
4
|
+
echo; echo "### RUNNING"; systemctl list-units --type=service --state=running --no-legend --no-pager
|
|
5
|
+
echo; echo "### ENABLED"; systemctl list-unit-files --state=enabled --no-legend --no-pager
|
|
6
|
+
echo; echo "### SOCKETS"; systemctl list-units --type=socket --no-legend --no-pager
|
|
7
|
+
echo; echo "### RESOLV"; cat /etc/resolv.conf; grep -r . /etc/NetworkManager/conf.d/ 2>/dev/null
|
|
8
|
+
echo; echo "### CHRONY"; grep -vE "^(#|$)" /etc/chrony.conf; chronyc sources 2>&1 | head -12
|
|
9
|
+
echo; echo "### RSYSLOG"; grep -nE "^[^#]*@" /etc/rsyslog.conf
|
|
10
|
+
echo; echo "### REPOS"; ls /etc/yum.repos.d; dnf -C repolist --all 2>&1 | tail -3
|
|
11
|
+
echo; echo "### RHSM"; subscription-manager status 2>&1 | tail -5
|
|
12
|
+
echo; echo "### SSHD"; sshd -T 2>&1 | grep -E "^(port|listenaddress|permitrootlogin|ciphers|macs|banner|kexalgorithms)"
|
|
13
|
+
echo; echo "### SSHD-CRYPTO-POLICY-BACKEND"; cat /etc/crypto-policies/back-ends/opensshserver.config
|
|
14
|
+
echo; echo "### TIMERS"; systemctl list-timers --no-pager --no-legend
|
|
15
|
+
echo; echo "### RSYSLOG-FILE"; grep -n "@@" /etc/rsyslog.conf
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: dnf repolist, cache only (repolist.txt). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rc=0; dnf -C repolist --all 2>&1 || rc=$?; echo rc=$rc; head -3 /etc/os-release
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: rpm inventory rows (rpm-inventory.tsv; the caller writes the header row). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rpm -qa --qf '%{NAME}\t%|EPOCH?{%{EPOCH}}:{0}|\t%{VERSION}\t%{RELEASE}\t%{ARCH}\t%{VENDOR}\t%{LICENSE}\t%{SOURCERPM}\t%{RSAHEADER:pgpsig}\t%{SIGPGP:pgpsig}\t%{DSAHEADER:pgpsig}\t%{SHA256HEADER}\t%{PACKAGER}\n' | LC_ALL=C sort
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: rpm NEVRA list (rpm-nevra.txt). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rpm -qa --qf '%{NAME}-%|EPOCH?{%{EPOCH}}:{0}|:%{VERSION}-%{RELEASE}.%{ARCH}\n' | LC_ALL=C sort
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: rpm list with vendor (rpmlist.txt). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rpm -qa --qf '%{NAME}|%|EPOCH?{%{EPOCH}}:{(none)}|%|VERSION?{%{VERSION}}:{(none)}|%{RELEASE}|%|ARCH?{%{ARCH}}:{(none)}|%{VENDOR}\n' | LC_ALL=C sort
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: dnf updateinfo all, cache only (updateinfo-all.txt). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rc=0; dnf -C updateinfo list --all --security 2>&1 || rc=$?; echo rc=$rc
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: dnf updateinfo security, cache only (updateinfo-security.txt). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rc=0; dnf -C updateinfo list security 2>&1 || rc=$?; echo rc=$rc
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read-only: dnf updateinfo summary, cache only (updateinfo-summary.txt). Run as root; stdout is the evidence file. Faithful to the `do_collect` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
3
|
+
rc=0; dnf -C updateinfo summary 2>&1 || rc=$?; echo rc=$rc
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Evaluate the uploaded Red Hat OVAL v2 RHEL 8 feed on the clone (oscap oval eval). Run as root.
|
|
3
|
+
# Read-only on the system: oscap reads the RPM database; output stays under /var/tmp/ct-oval.
|
|
4
|
+
# Faithful to the `do_oval` block of the known-good clone.sh (ct-meta rhel8-stig-template).
|
|
5
|
+
e=/var/tmp/ct-oval
|
|
6
|
+
cd $e; rc=0; oscap oval eval --results $e/oval-results.xml --report $e/oval-report.html $e/rhel-8.oval.xml > $e/oval-stdout.txt 2>&1 || rc=$?
|
|
7
|
+
{ echo oval_exit=$rc; echo oval_true=$(grep -c ': true$' $e/oval-stdout.txt || true); echo oval_false=$(grep -c ': false$' $e/oval-stdout.txt || true)
|
|
8
|
+
echo oval_other=$(grep '^Definition' $e/oval-stdout.txt | grep -vcE ': (true|false)$' || true); } > $e/oval-summary.txt
|
|
9
|
+
grep ': true$' $e/oval-stdout.txt > $e/oval-true-definitions.txt || true
|
|
10
|
+
rm -f $e/rhel-8.oval.xml; sha256sum $e/oval-results.xml | cut -d' ' -f1 > $e/oval-results.xml.raw.sha256; xz -9e -f $e/oval-results.xml; sha256sum $e/oval-results.xml.xz | cut -d' ' -f1 > $e/oval-results.xml.xz.sha256
|
|
11
|
+
chown -R ctadmin $e
|
|
@@ -7,3 +7,16 @@ echo luks_passphrase_slots=$(cryptsetup luksDump $dev | grep -cE "^ [0-9]+: luk
|
|
|
7
7
|
echo clevis_tpm2_tokens=$(cryptsetup luksDump $dev | grep -c "clevis")
|
|
8
8
|
echo bootstrap_key_file=$(test -e /etc/ct-luks-bootstrap.key && echo present || echo absent)
|
|
9
9
|
echo tpm_bound=$(clevis luks list -d $dev | grep -c tpm2)
|
|
10
|
+
echo root_min_days=$(getent shadow root | cut -d: -f4)
|
|
11
|
+
echo root_max_days=$(getent shadow root | cut -d: -f5)
|
|
12
|
+
echo kernels_installed=$(rpm -q kernel-core | wc -l)
|
|
13
|
+
echo kernel_packages=$(rpm -qa "kernel*" | sort | paste -sd,)
|
|
14
|
+
echo boot_entries=$(grubby --info=ALL | grep -c ^kernel=)
|
|
15
|
+
echo default_kernel=$(grubby --default-kernel)
|
|
16
|
+
echo bls_entries=$(ls /boot/loader/entries | paste -sd,)
|
|
17
|
+
echo sudo_nopasswd_entries=$(cat /etc/sudoers /etc/sudoers.d/* | grep -v "^#" | grep -c NOPASSWD)
|
|
18
|
+
echo repo_files=$(ls /etc/yum.repos.d | paste -sd,)
|
|
19
|
+
echo ct_offline_repo_enabled=$(sed -n "s/^enabled=//p" /etc/yum.repos.d/ct-offline.repo)
|
|
20
|
+
echo gpgcheck_global=$(sed -n "s/^gpgcheck[ ]*=[ ]*//p" /etc/dnf/dnf.conf)
|
|
21
|
+
echo localpkg_gpgcheck=$(sed -n "s/^localpkg_gpgcheck[ ]*=[ ]*//p" /etc/dnf/dnf.conf)
|
|
22
|
+
echo stale_boot_files=$(ls /boot | grep -c rescue)
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Auto-synced package version fallback for non-filesystem runtimes (Cloudflare Workers).
|
|
3
3
|
* Updated automatically during release publication in .github/workflows/publish.yml.
|
|
4
4
|
*/
|
|
5
|
-
export declare const PACKAGE_VERSION = "0.8.
|
|
5
|
+
export declare const PACKAGE_VERSION = "0.8.107";
|
|
6
6
|
//# sourceMappingURL=generated-version.d.ts.map
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Auto-synced package version fallback for non-filesystem runtimes (Cloudflare Workers).
|
|
3
3
|
* Updated automatically during release publication in .github/workflows/publish.yml.
|
|
4
4
|
*/
|
|
5
|
-
export const PACKAGE_VERSION = "0.8.
|
|
5
|
+
export const PACKAGE_VERSION = "0.8.107";
|
|
6
6
|
//# sourceMappingURL=generated-version.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type StigNodeName } from "./nodes.js";
|
|
2
|
-
import type { StigDeps } from "./ports.js";
|
|
2
|
+
import type { ClaimRecord, StigDeps } from "./ports.js";
|
|
3
3
|
export declare const SYNC_CLAIM_TTL_HOURS = 6;
|
|
4
4
|
/** The detached job outlived the poll budget; it keeps running and nothing is cleaned up. Re-apply to keep waiting. */
|
|
5
5
|
export declare class StillRunningError extends Error {
|
|
@@ -40,6 +40,21 @@ export interface SyncPlan {
|
|
|
40
40
|
}
|
|
41
41
|
export declare const PUBLISH_STEPS: readonly ["verify-published", "export", "template-json", "sign", "index", "upload", "prune", "verify", "receipt"];
|
|
42
42
|
export declare const SYNC_STEPS: readonly ["claim", "verify", "qm-create", "template", "renew", "receipt"];
|
|
43
|
+
/**
|
|
44
|
+
* Golden-image guard: a publishable template is a sealed Proxmox template built by build_stig_template or build.sh (a claim with
|
|
45
|
+
* descriptor mode build-template on the same VMID). A clone, and anything a clone claim describes, is an experiment and can
|
|
46
|
+
* never become an image. `requireClaim` (publish) also refuses a template with no such claim; sync's adoption path only
|
|
47
|
+
* refuses the clone tag and a clone-mode claim.
|
|
48
|
+
*/
|
|
49
|
+
export declare function assertGoldenCandidate(guest: {
|
|
50
|
+
name: string;
|
|
51
|
+
vmid?: number;
|
|
52
|
+
tags?: string;
|
|
53
|
+
} | undefined, claim: ClaimRecord | null, opts?: {
|
|
54
|
+
requireClaim?: boolean;
|
|
55
|
+
}): void;
|
|
56
|
+
/** A receipt file (receipts/<template>.json) for this template and VMID that shows fail=0 and error=0 on the template's SSG and DISA scans. */
|
|
57
|
+
export declare function receiptFilePasses(path: string, template: string, vmid?: number): boolean;
|
|
43
58
|
export declare class StigDistribution {
|
|
44
59
|
private readonly d;
|
|
45
60
|
constructor(d: StigDeps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../src/stig/distribution.ts"],"names":[],"mappings":"AAUA,OAAO,EAEU,KAAK,YAAY,EACjC,MAAM,YAAY,CAAC;AAOpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../src/stig/distribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { createReadStream, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFi
|
|
|
10
10
|
import { join } from "node:path";
|
|
11
11
|
import { STIG_BUILD_NODE, STIG_EVIDENCE_FPR, STIG_IMAGE_KEEP_VERSIONS, STIG_NODE_NAMES, STIG_STORE, resolveStigNode, templateClaimName, } from "./nodes.js";
|
|
12
12
|
import { assertIndexNames, indexRank, EXPORT_DONE, SYNC_DONE, assertTemplateName, buildExportScript, buildIndex, buildPublishReceipt, buildQmCreateScript, buildSyncReceipt, buildTemplateJson, indexHas, parseIndex, pyJson, scanFromSummary, validateTemplateJson, } from "./dist.js";
|
|
13
|
-
import { STIG_POOL_LIMIT_PERCENT, STIG_RECEIPT_ANNOTATION, STIG_TTL_CAP_HOURS, redact, validateReceiptSummary } from "./model.js";
|
|
13
|
+
import { STIG_POOL_LIMIT_PERCENT, STIG_RECEIPT_ANNOTATION, STIG_TTL_CAP_HOURS, redact, stigDescriptor, validateReceiptSummary } from "./model.js";
|
|
14
14
|
import { listGuests, lowestFreeVmid } from "./pve.js";
|
|
15
15
|
export const SYNC_CLAIM_TTL_HOURS = 6;
|
|
16
16
|
const STORE_DIR = `${STIG_STORE.mount}/rhel8-stig`;
|
|
@@ -27,6 +27,45 @@ async function sha256Stream(path) {
|
|
|
27
27
|
const sha256Text = (text) => createHash("sha256").update(text).digest("hex");
|
|
28
28
|
export const PUBLISH_STEPS = ["verify-published", "export", "template-json", "sign", "index", "upload", "prune", "verify", "receipt"];
|
|
29
29
|
export const SYNC_STEPS = ["claim", "verify", "qm-create", "template", "renew", "receipt"];
|
|
30
|
+
/**
|
|
31
|
+
* Golden-image guard: a publishable template is a sealed Proxmox template built by build_stig_template or build.sh (a claim with
|
|
32
|
+
* descriptor mode build-template on the same VMID). A clone, and anything a clone claim describes, is an experiment and can
|
|
33
|
+
* never become an image. `requireClaim` (publish) also refuses a template with no such claim; sync's adoption path only
|
|
34
|
+
* refuses the clone tag and a clone-mode claim.
|
|
35
|
+
*/
|
|
36
|
+
export function assertGoldenCandidate(guest, claim, opts = {}) {
|
|
37
|
+
if (guest && /(^|[;,\s])rhel8-stig-clone($|[;,\s])/.test(guest.tags ?? ""))
|
|
38
|
+
throw new Error(`refusing: ${guest.name} is tagged as a STIG clone; clones are experiments and are never published as golden templates`);
|
|
39
|
+
if (opts.requireClaim && !claim)
|
|
40
|
+
throw new Error(`refusing: ${guest?.name ?? "the template"} has no build-template claim; only a template built by build_stig_template is published`);
|
|
41
|
+
if (claim) {
|
|
42
|
+
let mode = null;
|
|
43
|
+
try {
|
|
44
|
+
mode = stigDescriptor(claim)?.mode;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
mode = null;
|
|
48
|
+
}
|
|
49
|
+
if (opts.requireClaim ? mode !== "build-template" : (mode !== undefined && mode !== null && mode !== "build-template"))
|
|
50
|
+
throw new Error(`refusing: claim ${claim.metadata.name} is a '${String(mode)}' claim, not a build-template claim; only a built template is published`);
|
|
51
|
+
if (opts.requireClaim && guest?.vmid !== undefined && claim.spec?.vmid !== guest.vmid)
|
|
52
|
+
throw new Error(`refusing: claim ${claim.metadata.name} is VMID ${claim.spec?.vmid}, the template is VMID ${guest.vmid}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** A receipt file (receipts/<template>.json) for this template and VMID that shows fail=0 and error=0 on the template's SSG and DISA scans. */
|
|
56
|
+
export function receiptFilePasses(path, template, vmid) {
|
|
57
|
+
try {
|
|
58
|
+
const rc = JSON.parse(readFileSync(path, "utf8"));
|
|
59
|
+
if (rc?.template?.name !== template)
|
|
60
|
+
return false;
|
|
61
|
+
if (vmid !== undefined && rc?.template?.vmid !== vmid)
|
|
62
|
+
return false;
|
|
63
|
+
return ["template_scan", "template_scan_disa"].every((k) => rc?.[k]?.result_fail === 0 && (rc?.[k]?.result_error ?? 0) === 0 && Number(rc?.[k]?.result_pass) > 0);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
30
69
|
export class StigDistribution {
|
|
31
70
|
d;
|
|
32
71
|
constructor(d) {
|
|
@@ -69,6 +108,8 @@ export class StigDistribution {
|
|
|
69
108
|
}
|
|
70
109
|
const vmid = guest?.vmid ?? null;
|
|
71
110
|
const claim = await this.d.claims.get(templateClaimName(template, build.name));
|
|
111
|
+
if (!noop)
|
|
112
|
+
assertGoldenCandidate(guest, claim, { requireClaim: true });
|
|
72
113
|
const raw = claim?.metadata.annotations?.[STIG_RECEIPT_ANNOTATION];
|
|
73
114
|
const receiptFound = typeof raw === "string";
|
|
74
115
|
return {
|
|
@@ -88,6 +129,26 @@ export class StigDistribution {
|
|
|
88
129
|
const { template } = plan;
|
|
89
130
|
const vmid = plan.vmid;
|
|
90
131
|
const build = this.buildNode();
|
|
132
|
+
// Golden gate before anything is exported: a passing dual-scan receipt (claim summary or receipt file) and a build-template claim.
|
|
133
|
+
{
|
|
134
|
+
const gateClaim = await this.d.claims.get(templateClaimName(template, build.name));
|
|
135
|
+
const gateGuest = (await listGuests(this.sh(build))).find((g) => g.name === template && g.template === 1);
|
|
136
|
+
assertGoldenCandidate(gateGuest, gateClaim, { requireClaim: true });
|
|
137
|
+
const gateRaw = gateClaim?.metadata.annotations?.[STIG_RECEIPT_ANNOTATION];
|
|
138
|
+
let gateSummary = null;
|
|
139
|
+
if (typeof gateRaw === "string") {
|
|
140
|
+
try {
|
|
141
|
+
gateSummary = validateReceiptSummary(JSON.parse(gateRaw));
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
gateSummary = null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (gateSummary && !gateSummary.gate.failZero)
|
|
148
|
+
throw new Error(`refusing: the receipt of ${template} does not show fail=0 on both scans`);
|
|
149
|
+
if (!gateSummary && !(i.receiptPath && receiptFilePasses(i.receiptPath, template, vmid)))
|
|
150
|
+
throw new Error(`refusing: ${template} has no passing dual-scan receipt (fail=0 on the SSG and DISA scans); only a gated template is published`);
|
|
151
|
+
}
|
|
91
152
|
const sh = this.sh(build);
|
|
92
153
|
const work = mkdtempSync(join(this.distDir(), `publish-${template}.`));
|
|
93
154
|
chmodSync(work, 0o700);
|
|
@@ -212,6 +273,8 @@ export class StigDistribution {
|
|
|
212
273
|
const existing = guests.find((g) => g.name === template && g.template === 1);
|
|
213
274
|
const claim = await this.d.claims.get(claimName);
|
|
214
275
|
const noop = Boolean(existing && claim);
|
|
276
|
+
if (existing && !claim)
|
|
277
|
+
assertGoldenCandidate(existing, null); // adopting a template claims it as golden: never a clone
|
|
215
278
|
let blockedBy = null;
|
|
216
279
|
let poolPercent = null;
|
|
217
280
|
const poolMaxPercent = STIG_POOL_LIMIT_PERCENT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../../src/stig/distribution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../../src/stig/distribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type { StigDeps } from "./ports.js";
|
|
2
|
+
export declare const SKILL_REL = "plugins/ct-lab/skills/rhel8-stig-template";
|
|
3
|
+
export declare const LEDGER_REL = "knowledge/rhel8-stig";
|
|
4
|
+
export declare const OVAL_FEED_URL = "https://security.access.redhat.com/data/oval/v2/RHEL8/rhel-8.oval.xml.bz2";
|
|
5
|
+
/** The stage order of evidence.sh (its STAGES array); the parity test compares `evidence.sh --list`. */
|
|
6
|
+
export declare const EVIDENCE_STAGES: readonly ["preflight", "scan", "oval", "keyhash", "collect", "verify", "receipt", "e1", "e7", "e3", "e6", "e8", "e5", "report", "e2", "e4", "e10", "docs", "distribution", "sign", "explorer", "resign", "verify-bundle", "tests"];
|
|
7
|
+
export type EvidenceStage = (typeof EVIDENCE_STAGES)[number];
|
|
8
|
+
/** Stages that read the clone (guest or hypervisor, read-only). */
|
|
9
|
+
export declare const CLONE_STAGES: readonly ["scan", "oval", "keyhash", "collect", "verify"];
|
|
10
|
+
/** Generator stages that are one python invocation. */
|
|
11
|
+
export declare const GENERATOR_STAGES: readonly ["e1", "e7", "e3", "e6", "e8", "e5", "report", "e2", "e4", "e10", "docs"];
|
|
12
|
+
declare const shq: (s: string) => string;
|
|
13
|
+
export interface EvidenceCtx {
|
|
14
|
+
/** ct-meta checkout (reads the skill's tools and pins). */
|
|
15
|
+
ctMeta: string;
|
|
16
|
+
template: string;
|
|
17
|
+
clone: string;
|
|
18
|
+
/** knowledge/rhel8-stig layout the generators write into. */
|
|
19
|
+
planRoot: string;
|
|
20
|
+
/** clone run state (evidence.sh `runs/clone-<name>`). */
|
|
21
|
+
state: string;
|
|
22
|
+
/** template build evidence (evidence.sh `runs/<template>`). */
|
|
23
|
+
runDir: string;
|
|
24
|
+
manualStigZip: string;
|
|
25
|
+
schemaDir: string;
|
|
26
|
+
ssgDatastream: string;
|
|
27
|
+
benchmarkZip?: string;
|
|
28
|
+
benchmarkXml?: string;
|
|
29
|
+
today: string;
|
|
30
|
+
claimUid: string;
|
|
31
|
+
python?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const skillDir: (ctMeta: string) => string;
|
|
34
|
+
export declare const pinsFile: (ctMeta: string) => string;
|
|
35
|
+
export declare const tailoringFile: (ctMeta: string) => string;
|
|
36
|
+
/**
|
|
37
|
+
* The argument list evidence.sh passes the generator of `stage` (null for stages that are not one python call).
|
|
38
|
+
* `receipt` yields the receipt gate; `verify-bundle` the bundle verification; `preflight` the pins check.
|
|
39
|
+
*/
|
|
40
|
+
export declare function generatorCommand(stage: EvidenceStage, c: EvidenceCtx): string[] | null;
|
|
41
|
+
/**
|
|
42
|
+
* The plan root is written (and, when scratch, re-seeded) by the tool, so it must never be, contain or sit inside the ct-meta
|
|
43
|
+
* checkout or the ledger, except the ledger itself; a scratch root must be new, empty, or one this tool seeded.
|
|
44
|
+
*/
|
|
45
|
+
export declare function assertSafePlanRoot(planRoot: string, ctMeta: string, ledger: string, baseDir: string): void;
|
|
46
|
+
export interface EvidenceInput {
|
|
47
|
+
cloneName?: string;
|
|
48
|
+
claimName?: string;
|
|
49
|
+
template: string;
|
|
50
|
+
node?: string;
|
|
51
|
+
/** ct-meta checkout that holds the skill (tools, pins) and the ledger layout. */
|
|
52
|
+
ctMetaPath: string;
|
|
53
|
+
/** Where the generators write (knowledge/rhel8-stig layout). Default: a scratch copy under the run directory; the ledger is never written unless this names it. */
|
|
54
|
+
planRoot?: string;
|
|
55
|
+
/** Template build evidence directory (contains evidence/stig-report): needed to write the receipt for this clone. */
|
|
56
|
+
templateRunDir?: string;
|
|
57
|
+
manualStigZip?: string;
|
|
58
|
+
schemaDir?: string;
|
|
59
|
+
ssgDatastream?: string;
|
|
60
|
+
benchmarkZip?: string;
|
|
61
|
+
benchmarkXml?: string;
|
|
62
|
+
/** Directory holding publish-<template>.json and sync-<template>-<node>.json (default: <run dir>/dist). */
|
|
63
|
+
distDir?: string;
|
|
64
|
+
today?: string;
|
|
65
|
+
from?: EvidenceStage;
|
|
66
|
+
only?: EvidenceStage;
|
|
67
|
+
force?: boolean;
|
|
68
|
+
noSign?: boolean;
|
|
69
|
+
skipTests?: boolean;
|
|
70
|
+
apply?: boolean;
|
|
71
|
+
planDigest?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface EvidenceStageState {
|
|
74
|
+
stage: EvidenceStage;
|
|
75
|
+
kind: "clone-read" | "controller";
|
|
76
|
+
state: "pending" | "current" | "not-selected";
|
|
77
|
+
}
|
|
78
|
+
export interface EvidencePlan {
|
|
79
|
+
mode: "plan";
|
|
80
|
+
cloneName: string;
|
|
81
|
+
claim: string;
|
|
82
|
+
claimUid: string;
|
|
83
|
+
node: string;
|
|
84
|
+
template: string;
|
|
85
|
+
vmid: number;
|
|
86
|
+
planRoot: string;
|
|
87
|
+
ledger: boolean;
|
|
88
|
+
ctMeta: string;
|
|
89
|
+
receiptSource: "regenerate" | "ledger";
|
|
90
|
+
stages: EvidenceStageState[];
|
|
91
|
+
guards: string[];
|
|
92
|
+
planDigest: string;
|
|
93
|
+
}
|
|
94
|
+
export interface StageOutcome {
|
|
95
|
+
stage: EvidenceStage;
|
|
96
|
+
status: "ran" | "skipped-current" | "skipped";
|
|
97
|
+
detail?: string;
|
|
98
|
+
ms: number;
|
|
99
|
+
}
|
|
100
|
+
export declare class EvidenceError extends Error {
|
|
101
|
+
}
|
|
102
|
+
export declare class StigEvidence {
|
|
103
|
+
private readonly d;
|
|
104
|
+
constructor(d: StigDeps);
|
|
105
|
+
private log;
|
|
106
|
+
private resolveInputs;
|
|
107
|
+
/** Read-only checks plus the stage table. Throws when a guard refuses. */
|
|
108
|
+
plan(i: EvidenceInput): Promise<EvidencePlan>;
|
|
109
|
+
collect(i: EvidenceInput): Promise<any>;
|
|
110
|
+
private apply;
|
|
111
|
+
private runStage;
|
|
112
|
+
private genEnv;
|
|
113
|
+
private gen;
|
|
114
|
+
private preflight;
|
|
115
|
+
/** SBOM schemas pinned by sha256 (evidence-pins.json); downloaded when the cache is missing or stale. */
|
|
116
|
+
private fetchSchemas;
|
|
117
|
+
private oval;
|
|
118
|
+
/** Read-only host facts for E3/E6/E7/E8 (clone.sh `do_collect`). */
|
|
119
|
+
private collectHost;
|
|
120
|
+
/** receipt.sh (receipt.py plus the artifact copies) then the receipt gate; or the gate alone when the ledger holds the receipt. */
|
|
121
|
+
/**
|
|
122
|
+
* clone.sh `scan` stores an ARF over 5 MB as `.xz` with `.raw.sha256` and `.xz.sha256` beside it; validate_stig_claim leaves the
|
|
123
|
+
* raw file. Normalize to the shell recipe's form (idempotent), because receipt.sh and the E2 generator read the `.xz`.
|
|
124
|
+
*/
|
|
125
|
+
private compressScanArtifacts;
|
|
126
|
+
private receipt;
|
|
127
|
+
private distribution;
|
|
128
|
+
/** A scratch plan root is a copy of the ledger without this template's evidence (and, when the receipt is regenerated, its receipt files). */
|
|
129
|
+
private seedPlanRoot;
|
|
130
|
+
private receiptOf;
|
|
131
|
+
}
|
|
132
|
+
/** [evidence file, guest script, add the rpm-inventory header]. Order = clone.sh `do_collect`. */
|
|
133
|
+
declare const COLLECT_FILES: ReadonlyArray<readonly [string, string, boolean]>;
|
|
134
|
+
export { COLLECT_FILES, shq };
|
|
135
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/stig/evidence.ts"],"names":[],"mappings":"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"}
|