docs(cloud-security): Code Scanning - #355
Draft
maximelb wants to merge 2 commits into
Draft
Conversation
A new page for the AppSec code lane — what it scans, the sandbox model (read the code, never keep it), the Contents: Read-only permission and why GitHub needs an owner to approve it, the opt-in code_scanning policy field by field, the CLI, the SBOM, the graph joins that make a dependency advisory mean something, the two compliance frameworks, and the limits. Two things are stated rather than left to be discovered: the compliance controls that ask "is a scanner in place" grade the OUTCOME, so a repository the policy excludes cannot fail them; and the capabilities that do not ship yet are listed by name, because an absent detector reads as a clean result otherwise. Cross-links from providers.md, findings.md (the three new finding classes), compliance.md (thirteen frameworks now) and the GitHub setup guide. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lcbill
previously approved these changes
Aug 24, 2026
…ated controls The pack queries' emptiness turns on the policy's image_sources, not on a producer that has since landed; secrets_in_repos_with_cloud_oidc anchors on every federated principal, which a reader needs to know before reading a row as a pipeline trust; and the outcome-graded compliance controls wait for a completed scan pass rather than for a connected provider. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lcbill
approved these changes
Aug 25, 2026
Contributor
Author
|
HELD OPEN for the final docs round — not to be merged with the code PRs (per the repo's own convention). State: all 7 checks green ( Two things a reviewer of the docs round should re-check against the code at that time, because both were moving while this was written:
Everything else is measured against the live exp run rather than the design docs. |
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.
Documents the AppSec code lane for Cloud Security.
New page
cloud-security/code-scanning.md:Contents: Read-onlypermission (and why GitHub needs an owner to approve a permission increase on an existing installation), then the opt-incode_scanningpolicy field by field, including the two footguns — an emptyincludemeans every repository, and a!inexcludecancels the include listlimacharlie cloudsec code repos|status|sbom), the--repofindings filter, and the SBOM's "downloadable artifact, not inventory rows" contractbuilt-from/runs-image) and the four pack queries built on themCross-links:
providers.md(GitHub section),findings.md(the three new finding classes and where they come from),compliance.md(thirteen frameworks),provider-setup/github.md(the Contents permission row + a section on it), and the nav.Deliberately not documented as available: static analysis, push-triggered rescans, PR checks/gating, auto-fix PRs, BYO SARIF/CycloneDX ingest, and non-GitHub source control. Each is named in "Not yet available" instead.
🤖 Generated with Claude Code