[software-development-practices:nist-ssdf] github/gh-aw-firewall repository guidance
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start with .github/workflows/release.yml at the three cited SBOM attestation steps and trace how their jobs feed the release job. Read the existing signing and attestation conventions, then inspect release workflow tests under scripts/ci/ and the verification guidance in docs/releasing.md. Done means a deterministic test shows terminal SBOM publication failure blocks release completion, and every shipped image has durable, consumer-verifiable SBOM evidence.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The repository has strong secure-build evidence—threat models, pinned CI actions, CodeQL, dependency and container scanning, extensive security tests, signed images, checksums, and build provenance—but one release-integrity gap is actionable: a release can succeed when SBOM attestation fails for three published images. This repository-only review found 1 verified gap; organization-level conclusions still require human review.
Action: Maintainers should make SBOM evidence for agent-act, build-tools, and gh-aw-node fail closed or preserve an equivalent verifiable release record; accept when a test proves publication cannot complete without durable, consumer-verifiable SBOM evidence for every shipped image.
[!IMPORTANT]
This assessment is advisory and non-binding. It does not prove security, compliance, certification, NIST endorsement, or SSDF conformance. SSDF is risk-based and organization-wide; this review observes one repository snapshot only.
Critical finding
- PS.3.1 — release records:
.github/workflows/release.yml:650-671,:729-748, and:809-828setcontinue-on-error: trueon SBOM attestation foragent-act,build-tools, andgh-aw-node. Thereleasejob at:831-834depends on those jobs, but tolerated step failures leave the jobs eligible to satisfy that dependency. These images can therefore be published without their SBOM attestations, unlike the fail-closed attestation steps used for other images. This weakens the durable provenance and component record needed to verify and investigate a release.
<b>Agent prompt</b>
Implement a focused fix in github/gh-aw-firewall for the SSDF PS.3.1 release-record gap. In .github/workflows/release.yml, ensure every published image—especially agent-act, build-tools, and gh-aw-node—has durable, consumer-verifiable SBOM evidence before the release job can complete. Prefer existing signing and attestation conventions. Either fail publication after bounded attestation retries or implement a reviewed equivalent that archives and authenticates the SBOM for offline verification; do not silently downgrade to an unauthenticated checksum. Add a deterministic test under scripts/ci/ proving that terminal SBOM-publication failure blocks release completion. Update docs/releasing.md and verification guidance if the consumer contract changes. Run focused release-workflow tests and the root test suite.
Acceptance check: a fixture simulating exhausted retries fails the relevant build/release dependency, successful runs retain verifiable SBOM evidence for all published images, and documentation accurately describes verification.
<b>Assessment scope and baseline</b>
- Target:
github/gh-aw-firewall - Analyzed commit:
90ade01093f55753a272bac5e87ca8a459f13b67 - Verification date: 2026-08-20
- Final baseline: NIST SP 800-218, Secure Software Development Framework (SSDF) Version 1.1, final, published February 2022
- Official project page: https://csrc.nist.gov/projects/ssdf
- Official final publication: https://csrc.nist.gov/pubs/sp/800/218/final
- DOI: https://doi.org/10.6028/NIST.SP.800-218
The NIST project and publication pages were fetched for this run and still identify SSDF 1.1 as the final core framework. SP 800-218A is a final community profile augmenting 1.1 for generative-AI and dual-use foundation-model development, not a newer core revision; this repository does not present itself as an SI model developer, so 218A was not the scoring baseline. The publication page lists the September 2021 initial public draft as historical and the February 2022 document as final. Draft and potential-update material was not scored.
Method and limits: snapshot review plus bounded public metadata. Branch-protection and ruleset configuration returned HTTP 403. Private vulnerability alerts, incidents, personnel, training, internal governance, production infrastructure, response SLAs, and confidential remediation records were NOT_ASSESSED. Their absence from the snapshot is not a failure. No matching open NIST-SSDF guidance issue or GitHub Well-Architected issue was found in the admitted review repository.
<b>PO / PS / PW / RV practice-to-evidence matrix</b>
| Practice and task identifiers | Status | Evidence, limitation, and proportionate improvement |
|---|---|---|
PO.1 requirements (PO.1.1-.3) |
PARTIAL | docs/security.md, docs/nvx-security-design.md, docs/enclaves-architecture.md, and docs/releasing.md define product/release requirements. Organization-wide ownership and review cadence need human confirmation. |
PO.2 roles (PO.2.1-.3) |
PARTIAL | .github/CODEOWNERS assigns maintainers; docs/security.md gives a coordinated-disclosure route. Capacity and training are NOT_ASSESSED. |
PO.3 toolchains (PO.3.1-.3) |
OBSERVED | Pinned CodeQL, Syft, Grype, Grant, npm audit, Dependabot, CI, and attestation tools are versioned in workflows. Preserve pinning and tool review. |
PO.4 security-check criteria (PO.4.1-.2) |
PARTIAL | Dependency audit blocks high/critical findings; supply-chain scanning documents blocking/report-only behavior. Required-check enforcement is HUMAN_REVIEW_REQUIRED because rulesets were inaccessible. |
PO.5 secure environments (PO.5.1-.2) |
NOT_ASSESSED | Workflow least privilege is visible; workstation, identity, network, and organization environment controls are not. |
PS.1 protect code (PS.1.1) |
HUMAN_REVIEW_REQUIRED | CODEOWNERS and persist-credentials: false are positive evidence. Branch, review, and tag protection were inaccessible; confirm them. |
PS.2 release integrity (PS.2.1) |
PARTIAL | Release workflow signs image digests and emits checksums/provenance; docs/releasing.md documents verification. Optional SBOM attestations weaken completeness. |
PS.3 archive releases (PS.3.1) |
GAP_FOUND | Three image SBOM-attestation steps tolerate terminal failure and release can proceed. Require success or an authenticated archived equivalent. |
PW.1 secure design (PW.1.1-.2) |
OBSERVED | Multiple security design documents define threats, boundaries, and fail-closed controls. Preserve updates with boundary changes. |
PW.2 design review (PW.2.1) |
PARTIAL | Security designs, CODEOWNERS, and scheduled security-review.md exist. Qualified human approval for each sensitive design is not verifiable. |
PW.3 third-party software (PW.3.1-.2) |
PARTIAL | Lockfiles, Dependabot, npm audit, digest pins, Grype, and Grant provide strong checks. Supplier evaluation beyond automation is NOT_ASSESSED. |
PW.4 reuse secure components (PW.4.1-.3) |
PARTIAL | Dependencies are locked/refreshed and images/actions pinned. Organization-wide selection and EOL criteria need human review. |
PW.5 secure coding (PW.5.1) |
PARTIAL | CONTRIBUTING.md requires tests/linting; security-sensitive code has adjacent tests. A complete secure-coding standard/training record is not observable. |
PW.6 secure build/runtime configuration (PW.6.1-.2) |
OBSERVED | Seccomp, non-root operation, explicit permissions, hardened images, digest pins, and fail-closed runtime contracts are documented/tested. |
PW.7 code review/analysis (PW.7.1-.2) |
OBSERVED | CodeQL analyzes JS/TS, Actions, and Python with extended queries; CODEOWNERS supports review. Consider removing the release.yml-only PR exclusion from CodeQL. |
PW.8 executable testing (PW.8.1-.2) |
OBSERVED | Extensive unit, integration, adversarial, network-isolation, image-scan, and security tests exist. Test results were not rerun here. |
PW.9 secure defaults (PW.9.1-.2) |
OBSERVED | Documentation and code emphasize deny-by-default networking, credential isolation, bounded execution, and no silent fallback. |
RV.1 identify/confirm vulnerabilities (RV.1.1-.3) |
PARTIAL | Private reporting, CodeQL, dependency audit, supply-chain scans, and scheduled reviews exist. Private intake records are NOT_ASSESSED. |
RV.2 assess/remediate (RV.2.1-.2) |
NOT_ASSESSED | Scanner thresholds show intent, but alerts, risk decisions, timelines, and SLAs were intentionally not accessed. |
RV.3 root-cause analysis (RV.3.1-.3) |
PARTIAL | Diagnostic/failure-mode documents preserve root-cause analysis and tests accompany fixes. A vulnerability-specific recurrence process requires human confirmation. |
<b>Prioritized improvement backlog</b>
-
Make SBOM evidence mandatory or durably equivalent for every release image — high priority; high confidence; small/medium effort.
- SSDF:
PS.3.1, supportingPS.2.1. - Risk: responders and consumers may lack authenticated component evidence for a published image when the transparency service is degraded. Image signatures prove publisher/digest identity but do not replace a component inventory.
- Owner: release engineering/security maintainers for
.github/workflows/release.yml,scripts/ci/, anddocs/releasing.md. - Dependency: decide whether online Rekor publication is mandatory or an authenticated offline bundle is supported; retain bounded retries and avoid unauthenticated fallback.
- Acceptance: deterministic failure-path test; release cannot complete without authenticated, retrievable SBOM evidence for every image; consumer documentation matches behavior.
- SSDF:
No other verified repository-level gap met the backlog threshold. Items depending on rulesets, private alerts, personnel, or organization policy remain human-review questions.
<b>Strengths and human-review questions</b>
Preserve: fail-closed bootstrap/provenance verification; digest-pinned actions/scanners; coordinated disclosure; broad CodeQL/dependency/container checks; explicit threat models; negative tests; non-root, least-privilege, deny-by-default contracts.
Human review: Are supply-chain and release checks required by active branch/tag rules? Do release-workflow changes require independent security approval? Where are private triage SLAs, training, root-cause reviews, and recurrence decisions retained? Should Rekor unavailability block release, or should consumers receive an authenticated offline SBOM bundle?
cao: githubnext/gh-cao, correlation: 39769937507-871
Generated by 🛡️ Dev Practices / NIST SSDF · pi · gpt56 · 112 AIC · ⌖ 13.1 AIC · ⊞ 12.9K · ◷
- expires on Nov 21, 2026, 11:33 AM UTC
- Lingua principale
- JavaScript
- Stelle
- 8
- Fork
- 5
- Merge medio
- 2h 1m
- PR unite (30g)
- 851
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di githubnext/gh-cao
-
repo-assist repo-assist:issue-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
githubnext/gh-cao#19642 ·
I maintainer di solito rispondono entro 1 giorno
-
agentic-workflows self-care self-care:reactive-ui-expert
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
githubnext/gh-cao#19591 ·
I maintainer di solito rispondono entro 1 giorno
-
software-development-practices software-development-practices:nist-ssdf
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
githubnext/gh-cao#19534 ·
I maintainer di solito rispondono entro 1 giorno
-
cao-evolution cao-evolution:compiler-security
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
githubnext/gh-cao#19373 ·
I maintainer di solito rispondono entro 1 giorno
-
self-care self-care:dashboard-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
githubnext/gh-cao#18518 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di githubnext/gh-cao
Issue simili
-
[ordering-review] workshop order graph: 1 confirmed ordering problem, 3 cycles are false positivesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
githubnext/gh-aw-workshop#4943 ·
I maintainer di solito rispondono entro 1 giorno
-
[guide] Public Sector User Group page names wrong Slack channelForse già presa @hivecommons-hive l’ha presa oggi. Apertaagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
cncf/endusers#1874 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Edit: ElyssaTV.tn@HDApertacheck:passed feeds:edit
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
oskarrough/dodgethis#115 ·
I maintainer di solito rispondono entro 1 giorno