feat: add Socket Basics security workflow for public repos - #1
Merged
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
william-u10d
marked this pull request as ready for review
August 14, 2026 17:42
lawrence-u10d
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
.github/workflows/security.yaml— a Socket Basics SAST / secret-scanning workflow for public repositories, hosted here so public repos can consume it (public repos cannot reference reusable/required workflows that live in a private or internal repo).Why
Part of operationalizing Socket as the SAST + secret-scanning control replacing GHAS. Public repos (
unstructured,unstructured-api, etc.) currently have zero SAST coverage; this closes that gap. Intended to be enforced org-wide on public repos via a repository ruleset scoped tovisibility: public.Details
on: pull_request(notpull_request_target— no "pwn request" surface).continue-on-error: true) — never blocks a PR. Real-finding gating is governed by the Socket dashboard policy + the native Socket GitHub App, not this workflow.PUBLIC_SOCKET_SECURITY_API_KEY(must be created + scoped to the public repos separately).if: github.event.pull_request.head.repo.full_name == github.repository, so it runs only on trusted same-repo PRs. Fork PRs don't receive secrets by design and are covered by the native Socket App instead.SocketDev/socket-basics@6b71cdf3f792e1ba15b0c42133d8a6f29fb1fc4f(v3.0.0),actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd(v6).permissions: {}default-deny; scan job grants itself onlycontents: read.Security review
security-auditpass: no Critical/High/Medium findings — injection-safe (untrustedgithub.event.*fields bound viaenv:+printf %s), secrets withheld from forks, SHA-pinned, least-privilege.Follow-ups (not in this PR)
PUBLIC_SOCKET_SECURITY_API_KEYscoped to the public repos.visibility: publicorg ruleset to enforce this as a required workflow.Summary by cubic
Adds
.github/workflows/security.yamlto run Socket Basics SAST and secret scanning on PRs in public repos, closing the current gap where public repos had no SAST coverage. Previously: no scans. Now: informational scans on same-repo PRs; fork PRs are covered by the Socket GitHub App. Never blocks merges.pull_request(notpull_request_target).continue-on-error: true); enforcement remains in the Socket dashboard and GitHub App.PUBLIC_SOCKET_SECURITY_API_KEY; step runs only whengithub.event.pull_request.head.repo.full_name == github.repositoryso secrets never reach forks.{}; job grants onlycontents: read.SocketDev/socket-basics@6b71cdf3f792e1ba15b0c42133d8a6f29fb1fc4f(v3.0.0),actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd(v6).Rollout
PUBLIC_SOCKET_SECURITY_API_KEYscoped to public repos.visibility: publicto require this workflow.Written for commit cba4c7e. Summary will update on new commits.