[scan] Security attack vector mapping #7
Labels
No labels
athena
athena-gemini
audit
clotho
clotho-gemini
codex
darbs-claude
security
wiki
No milestone
No project
No assignees
1 participant
Notifications
Due date
-
Dependencies
No dependencies set.
Reference: core/go-scm#7
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Map every external input entry point: function, file:line, input source, flows into, validation, attack vector.
Implementation Plan
[scan] Security attack vector mapping — Implementation Plan
Goal
Map every external input entry point across
core/go-scmand produce a complete attack-vector matrix with evidence and validation status.Scope
core/go-scmagent/create-an-implementation-plan-for-this-s1) Every file to scan
Use this exact list as the scan set.
agentci/clotho.goagentci/config.goagentci/security.gocmd/collect/cmd.gocmd/collect/cmd_bitcointalk.gocmd/collect/cmd_dispatch.gocmd/collect/cmd_excavate.gocmd/collect/cmd_github.gocmd/collect/cmd_market.gocmd/collect/cmd_papers.gocmd/collect/cmd_process.gocmd/forge/cmd_auth.gocmd/forge/cmd_config.gocmd/forge/cmd_forge.gocmd/forge/cmd_issues.gocmd/forge/cmd_labels.gocmd/forge/cmd_migrate.gocmd/forge/cmd_orgs.gocmd/forge/cmd_prs.gocmd/forge/cmd_repos.gocmd/forge/cmd_status.gocmd/forge/cmd_sync.gocmd/forge/helpers.gocmd/gitea/cmd_config.gocmd/gitea/cmd_gitea.gocmd/gitea/cmd_issues.gocmd/gitea/cmd_mirror.gocmd/gitea/cmd_prs.gocmd/gitea/cmd_repos.gocmd/gitea/cmd_sync.gocmd/scm/cmd_compile.gocmd/scm/cmd_export.gocmd/scm/cmd_index.gocmd/scm/cmd_scm.gocollect/bitcointalk.gocollect/collect.gocollect/events.gocollect/excavate.gocollect/github.gocollect/market.gocollect/papers.gocollect/process.gocollect/ratelimit.gocollect/state.goforge/client.goforge/config.goforge/issues.goforge/labels.goforge/meta.goforge/orgs.goforge/prs.goforge/repos.goforge/webhooks.gogit/git.gogit/service.gogitea/client.gogitea/config.gogitea/issues.gogitea/meta.gogitea/repos.gojobrunner/forgejo/signals.gojobrunner/forgejo/source.gojobrunner/handlers/completion.gojobrunner/handlers/dispatch.gojobrunner/handlers/enable_auto_merge.gojobrunner/handlers/publish_draft.gojobrunner/handlers/resolve_threads.gojobrunner/handlers/send_fix_command.gojobrunner/handlers/tick_parent.gojobrunner/journal.gojobrunner/poller.gojobrunner/types.golocales/embed.gomanifest/compile.gomanifest/loader.gomanifest/manifest.gomanifest/sign.gomarketplace/builder.gomarketplace/discovery.gomarketplace/installer.gomarketplace/marketplace.gopkg/api/embed.gopkg/api/provider.goplugin/config.goplugin/installer.goplugin/loader.goplugin/manifest.goplugin/plugin.goplugin/registry.gorepos/gitstate.gorepos/kbconfig.gorepos/registry.gorepos/workconfig.go2) What to look for in each file
A) External input entry points
config,FORGE_*,GITEA_*)B) Validation gaps to record
C) Injection vectors
D) Race condition risks
3) Required output format for findings
Each finding row must contain all columns in this exact order:
file:line | input source | flows into | validation | attack vectorExample format:
collect/github.go:142 | cmd flag--org(string) | buildGitHubCollector(config) -> net/http request URL | domain allowlist absent | SSRF + data exfil by domain overrideMinimal per-row capture fields
file:line(primary function where input first enters)input source(flag/env/body/path/header/id)flows into(target function/call chain)validation(what checks currently exist, if any)attack vector(confidentiality/integrity/availability risk)Evidence fields (optional but preferred)
low/medium/high)high/med/low)4) Where to write the report
Primary report file to produce:
docs/security/scan-attack-vector-mapping-report.mdThis file must contain:
mapped,validated,open)
This issue body should be replaced with a pointer plus a short runbook:
docs/plans/2026-03-24-security-attack-vector-mapping.md, results indocs/security/scan-attack-vector-mapping-report.md."Execution order
file:line | ...format