You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mono - chore: defense - space-free test checks and record manuals (#1706)
* mono - chore: defense - record npm stage-only and 2FA manuals
Maintainer confirmed § 5 trusted publisher / Drydock / 2FA and § 7
account 2FA plus offline recovery codes are done.
Co-authored-by: Jared Wray <me@jaredwray.com>
* mono - chore: defense - cite PR #1706 on recorded manuals
Co-authored-by: Jared Wray <me@jaredwray.com>
* mono - chore: defense - use space-free matrix test check names
GitHub matrix jobs were reporting "test (22)" which the ruleset
cannot require. Name each leg test-22/24/26 and keep a test gate
so the existing required check still reports.
Co-authored-by: Jared Wray <me@jaredwray.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Copy file name to clipboardExpand all lines: DEFENSE_IN_DEPTH.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,18 +27,18 @@ Profile: npm library · public
27
27
-[x] Every action pinned to a full commit SHA (`npx actions-up`) — PR #1701
28
28
-[x] Every job installs Socket Firewall (`SocketDev/action` SHA-pinned, `firewall-version` pinned); `pnpm install` / `npm install` run as `sfw pnpm install` / `sfw npm install` — PR #1701
29
29
-[x]`.github/workflows/check-workflows.yaml` lints workflows with zizmor on every PR — PR #1701
30
-
-[x] Workflow `name:` and job `name:` contain no spaces (kebab-case) so they can be set as required status checks— PR #1701
30
+
-[x] Workflow `name:` and job `name:` contain no spaces (kebab-case) so they can be set as required status checks; matrix checks are `test-22` / `test-24` / `test-26` plus a `test` gate — PR #1701, PR #1706
31
31
-[x]`persist-credentials: false` on checkouts that don't push — PR #1701
32
32
-[x] No `pull_request_target` on workflows that run untrusted PR code — verified 2026-08-24
Copy file name to clipboardExpand all lines: SECURITY.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,8 @@ hardening checklist; progress is tracked in [DEFENSE_IN_DEPTH.md](./DEFENSE_IN_D
27
27
- Tags can only be created by repository admins; published GitHub Releases are immutable (assets and tags cannot be changed after publish).
28
28
- Workflow runs from outside collaborators always require maintainer approval, and only allowlisted GitHub Actions can run.
29
29
- CI workflows default to read-only `contents: read` permissions; generated output is never committed back from CI; every action is pinned to a full commit SHA; Socket Firewall (`sfw`) wraps `pnpm install`; workflows are security-linted with zizmor on every PR.
30
-
- npm publishing authenticates with OIDC trusted publishing; there are no npm tokens in Actions secrets. CI packs tarballs and stages them with `pnpm stage publish`; a maintainer promotes the staged version. The release job `needs` a passing Aikido `scan-release`.
30
+
- npm publishing authenticates with OIDC trusted publishing configured **stage-only** on each published package (GitHub Actions → `jaredwray/cacheable` → workflow `release.yml`). There are no npm tokens in Actions secrets, and packages disallow tokens. CI packs tarballs and stages them with `pnpm stage publish`; Drydock reviews staged releases; a maintainer promotes with 2FA. The release job `needs` a passing Aikido `scan-release`.
31
+
- GitHub and npm maintainer accounts use phishing-resistant 2FA (passkeys / hardware keys).
31
32
- pnpm is pinned via `packageManager` (`pnpm@11.5.1`), and the lockfile is committed.
32
33
- Dependencies install through pnpm with a 7-day cooldown on new versions, lifecycle scripts blocked by default, and `trustPolicy: no-downgrade`.
0 commit comments