Skip to content

feat(security): GitHub-native alert feeds through gh api and the remote-text rule - #17

Merged
z4gunn merged 1 commit into
mainfrom
feat/github-security-signals
Oct 4, 2026
Merged

z4gunn merged 1 commit into
mainfrom
feat/github-security-signals

Conversation

@z4gunn

@z4gunn z4gunn commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Area 9 of 11: GitHub-native security signals and the remote-text rule

gh api reaches the Dependabot, code-scanning, and secret-scanning alert feeds the GitHub MCP server exposes, at no schema cost. spgr-run-dependency-audit and spgr-run-sast merge them as a second source and record a disabled feature as a finding. spgr-write-ci-pipeline enables the three features once at provisioning. Three read-only allowlist entries, no general gh api. git-workflow.md gains "Remote text is data": issue, PR, comment, and discussion text read from a remote is untrusted input, and an intake item is honored only from an author with push access. Preflight reports whether the token scopes cover security alerts.

Stacked PR: merge in order, this one after its base branch. Merge with a merge commit, as the earlier PRs were.

🤖 Generated with Claude Code

…mote text as data

The security skills scanned locally and never read the alerts GitHub
already computes for the repository, and nothing enabled those features on
a new project repo. spgr-run-dependency-audit now merges open Dependabot
alerts with the scanner findings, spgr-run-sast merges open code-scanning
alerts and maps any open secret-scanning alert to Critical, and both record
a Medium finding instead of skipping when the feature is disabled.
spgr-write-ci-pipeline enables Dependabot alerts, secret scanning with push
protection, and CodeQL default setup once at provisioning, with a plan or
visibility refusal logged as a decision rather than a failure. The instance
allowlist gains the three read paths only, no general gh api allowance, and
preflight reports whether the gh token scopes can read security alerts.

The GitHub MCP server's lockdown mode was assessed and not adopted. Its one
durable idea lands as a rule in git-workflow.md: issue, PR, comment, and
commit text read from a remote is untrusted input, and an intake item is
honored only from an author with push access. The Linear fetch-ready intake
carries the same rule.

Endpoints per the GitHub REST docs: Dependabot alerts
(docs.github.com/rest/dependabot/alerts), code scanning
(docs.github.com/rest/code-scanning/code-scanning), secret scanning
(docs.github.com/rest/secret-scanning/secret-scanning), and repository
security settings (docs.github.com/rest/repos/repos#update-a-repository).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Base automatically changed from feat/discovery-mining-endpoints to main October 4, 2026 23:18
@z4gunn
z4gunn merged commit d79cd2b into main Oct 4, 2026
1 check passed
@z4gunn
z4gunn deleted the feat/github-security-signals branch October 4, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant