docs(devsecops): add developer-targeted intrusion guidance - #610
docs(devsecops): add developer-targeted intrusion guidance#610mattaereal wants to merge 6 commits into
Conversation
Sidebar Configuration ReminderThis PR includes added, renamed, or removed documentation files:
Please ensure that:
See Contributing Guide – Sidebar & Navigation for more details. This is an automated reminder. If this PR doesn't need sidebar changes, you can ignore this message. |
Deploying frameworks with
|
| Latest commit: |
36e767b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://3813cb7c.frameworks-573.pages.dev |
| Branch Preview URL: | https://content-developer-targeted-i.frameworks-573.pages.dev |
Attribute DTI authorship to blackbigswan with mattaereal as reviewer. Retain prior IDE authors and add blackbigswan. Add must/should/may wording to the untrusted-code handling procedure.
frameworks-volunteer
left a comment
There was a problem hiding this comment.
Model: x-ai/grok-4.5 Reasoning: high Provider: openrouter
Security
No issues. Docs-only PR; no secrets, injection vectors, or unsafe tooling. Technical boundaries are carefully scoped (plain clone/checkout not universal execution; CVE-2024-32002 recursive-clone conditions; .gitattributes selects filter name, executable lives in Git config; terraform init install vs later provider execution; Workspace Trust + automatic tasks; containers as confinement with mount/socket callouts; agent risk via tool invocation). Credential-free retrieval and disposable isolation guidance are sound.
QA
- Placement under DevSecOps + three-page split matches the stated content model and complements Supply Chain, IDE, confinement, AI Security, DPRK IT Workers, and Incident Management without duplicating them.
- Frontmatter,
contributors(blackbigswan wrote / mattaereal reviewed; IDE prior authors retained), andblackbigswanregistry entry look correct. - Internal links resolve;
vocs.config.tsregisters the section withdev: true; reciprocal links from IDE and Developer Machine Confinement are present. - CI green (4 checks). No TODOs/placeholders. Procedure modality (must/should/may) and ordered checklists are clear and actionable.
- Compromise response appropriately escalates into Incident Management rather than inventing a parallel IR framework.
Nits (non-blocking)
- Title suffix inconsistency in the new family:
handling-untrusted-code.mdxuses| Security Alliancewhileoverview.mdxandexecution-paths.mdxuse| SEAL. Both patterns exist in the repo; pick one within this section for polish. - Auto-generated index title:
index.mdxisDeveloper Targeted Intrusions(no hyphen) vs hyphenated elsewhere — expected if generated from the folder name; fine unless you want the folder renamed. - Overview map attribution: DevSecOps overview map edit attributes
wrote: [blackbigswan]on a page that previously had empty writers. Intentional per PR body; just flagging in case maintainers prefer additivereviewedonly for map-only edits.
Verdict
Approve. Strong threat model, accurate trigger wording, and a usable intake procedure. Nits above are cosmetic only.
Use | SEAL on handling-untrusted-code to match sibling DTI pages. Keep DevSecOps overview writers empty for the map-only edit.
scode2277
left a comment
There was a problem hiding this comment.
Lgtm. Just changed a sentence in execution-paths that referred to the list above as questions, but the items are statements.
gtg for me @mattaereal!
AllyPry
left a comment
There was a problem hiding this comment.
Looks really great nothing to add from my side. Maybe just one small suggestion regarding the compromise response section.
| - [ ] Stop work and disconnect the affected endpoint from networks according to the incident-response plan | ||
| - [ ] Notify the security or incident-response lead and identify everyone who received the same repository or outreach | ||
| - [ ] Preserve volatile and disk evidence as directed; do not clean or rebuild the device before responder review | ||
| - [ ] From a known-clean device, revoke and rotate every credential, key, token, wallet session, browser session, and |
There was a problem hiding this comment.
Maybe it would be worth explicitly covering private key or seed phrase exposure here. If the compromised endpoint had access to either, revoking the wallet session alone may not be sufficient. The assets should be migrated to a newly generated wallet from a clean device.
ElliotFriedman
left a comment
There was a problem hiding this comment.
Thematically, this is really solid!
If there were razors, or smaller distillations that could help someone follow these rules that condensed the checklist, it would probably go a long way to increasing compliance.
Three themes mentioned are time pressure, verification through separate channels and code and environment isolation. If this could be condensed and added into the overview, saying these are the core principles that if followed greatly reduce your risk, it would likely help reduce cognitive overhead and thus compliance for these rules.
If a developer is under time pressure to install a new piece of software, this should be a flag in and of itself where they stop.
If verification attempts from the requester doesn't pass through multiple channels, this should also be a flag and they should attempt to call the contact that requested the install if within their organization.
Isolation is crucial for running untrusted code, do not run anything on your computer from an untrusted source unless it's in a docker container with its egress restricted and ports closed.
| Teams must provide a sanctioned disposable environment before the request arrives. A developer under time pressure will | ||
| use a normal workstation when the safer path is unavailable or too slow. The isolation service must support inspection, | ||
| controlled dependency retrieval, execution, evidence export, and complete teardown without exposing personal or | ||
| production credentials. |
There was a problem hiding this comment.
This is absolutely correct. I wonder if there's a way to make this digestible / easier or policy based on work computers, because when people are stressed out, or under pressure, all of the procedures go out the window.
| sessions across identity, source-control, cloud, CI/CD, and production logs | ||
| - [ ] Rebuild the endpoint from a trusted image and restore only reviewed data after containment and credential rotation | ||
| </Checklist> | ||
|
|
There was a problem hiding this comment.
These checklists are all solid steps for staying safe!
What does this PR change?
Adds a dev-only Developer-Targeted Intrusions section under DevSecOps, based on the source guide Developer-Targeted
Intrusions: The Execution You Didn't Know You Triggered.
The source is approximately 4,862 words across 13 major sections. The repository content model recommends splitting
pages with more than five or six top-level sections, so this PR converts it into a focused three-page family:
smart-contract toolchains, and AI coding agents.
revalidation, and suspected-compromise response.
It also expands the existing IDE page, adds a reciprocal link from Developer Machine Confinement, updates the DevSecOps
page map, and registers the new pages in the sidebar with
dev: true.Related to #48.
Placement decision
This belongs under DevSecOps, not as a new top-level framework and not under
/guides.infrastructure tooling, and AI coding agents. DevSecOps owns those controls.
/guidesis primarily for product or platform hardening. This contribution combines a cross-tool threat model withan operational procedure.
Workers, and Incident Management material.
top-level framework.
How it complements existing frameworks
Technical accuracy changes from the source draft
The text identifies the vulnerability, recursive submodule, configured filter or hook, trusted workspace automation,
framework loader, extension, or agent tool call that crosses the boundary.
.gitattributesis described as selecting a filter whose executable clean or smudge command lives in Gitconfiguration.
.git/hooks.terraform initis described as downloading and installing providers; provider execution is distinguished from latervalidation, planning, refresh, and apply operations.
folderOpentasks are qualified by Workspace Trust and automatic-task permission.by itself.
as boundary failures.
Type of change
If applicable
vocs.config.tswith thedev: trueparameterAttribution
wrote: [blackbigswan],reviewed: [mattaereal]mattaereal,fredriksvantes,ElliotFriedman) plusblackbigswan;reviewed: [mattaereal]wrote: [],reviewed: [mattaereal](map-only edit; no new author)docs/pages/config/contributors.json(blackbigswan→ GitHubshortdoom)Validation
pnpm/just/cspell/markdownlint/validate:content/build) were intentionallyskipped per operator instruction for this handoff run
git diff --check: passedexpected build output because the build step was not run
| SEALReviewer focus
and agent tool boundaries