Repository navigation
docs(#9432): scope an opt-in deep security-audit workflow - #9434
fullsend-ai-coder[bot] wants to merge 2 commits into
Conversation
Add docs/problems/deep-security-audit.md, a scoping proposal for a deep security-audit workflow kept separate from routine PR review. It asks whether the workflow should exist at all, compares trigger options (explicit request, schedule, release gate, escalation from review), and sets out requirements for target authorization and egress, credentials, a reserved validation budget, disclosure, and patching. The credentials section ties claims to ADR 0025's delivery tiers and notes that the review harness can copy credential files into the sandbox, so "sandboxed" is not presented as "holds no credentials". The doc treats incomplete validation as incomplete, depends on the confidential reporting path in #9431 for disclosure, and keeps severity, disclosure and patch review with human experts. A table lists which guarantees the workflow can and cannot claim, and an Open questions section holds unresolved points. Reciprocal backlinks are added in code-review.md (security agent), security-threat-model.md (self-report unreliability) and private-context-public-workflows.md (related problem areas). Note: pre-commit could not fetch remote hook repositories (TLS error), so the markdown-relevant hooks were run directly and passed: end-of-file-fixer, trailing-whitespace, detect-private-key, check-merge-conflict, mixed-line-ending, check-added-large-files, lint-docs-links, lint-broken-symlinks and lychee link checks. The semgrep hook was skipped because its ruleset could not be downloaded; gitleaks was covered by the sandbox secret scan. Closes #9432 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
🤖 Finished Review · ✅ Success · Started 4:45 PM UTC · Completed 4:55 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $2.07 |
Site previewPreview: https://855fc2bc-site.fullsend-ai.workers.dev Commit: |
|
Risk Assessment: moderate (2/5) DetailsModerate risk (score 2) for an additive docs-only proposal by an established bot, elevated from low risk by Tier 2 git history churn, multi-author contention, and change coupling on touched files including security-threat-model.md. Previous runRisk Assessment: moderate (2/5) DetailsModerate risk (score 2) for an additive docs-only proposal by an established bot, elevated from low risk by Tier 2 git history churn, multi-author contention, and change coupling on touched files including security-threat-model.md. |
|
Looks good to me Earlier findings
Previous run<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6ImxvZ2ljLWVycm9yIiwiZmlsZSI6ImRvY3MvcHJvYmxlbXMvZGVlcC1zZWN1cml0eS1hdWRpdC5tZCIsImlkIjoiZl9kYzJiYmQzOGZhZTJhNGIwIiwibGluZSI6MTY2LCJhY3Rpb25hYmxlIjp0cnVlLCJkaW1lbnNpb24iOiJjb3JyZWN0bmVzcyJ9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6Im5hbWluZy1jb252ZW50aW9uIiwiZmlsZSI6ImRvY3MvcHJvYmxlbXMvZGVlcC1zZWN1cml0eS1hdWRpdC5tZCIsImlkIjoiZl9hNGY1YTRhZWFhYzcxNWMwIiwibGluZSI6MTQ5LCJhY3Rpb25hYmxlIjp0cnVlLCJkaW1lbnNpb24iOiJzdHlsZS1jb252ZW50aW9ucyJ9XX0= --> ReviewFindingsMedium
Low
Labels: Docs-only problem doc about the security threat model and audit workflow. Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 4:57 PM UTC · Completed 5:02 PM UTC Commit: Runtime: claude · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $0.26 |
Classify inference credentials separately from audit inputs in the 'no runtime credentials' option (a provider placeholder is credential delivery tier 2 per ADR 0025), and use the 'credential delivery tier' prefix throughout per docs/contributing/tier-conventions.md. Note: pre-commit could not run (hook repositories unreachable due to a certificate error); checked trailing whitespace, line endings and newline-at-EOF manually. lychee is unavailable in the sandbox. Addresses #9434 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
🔧 Fix agent — iteration 1 (bot-triggered)Addressed both review findings in docs/problems/deep-security-audit.md. The inference credential classification now matches ADR 0025, and the credential delivery tier terminology is consistent. pre-commit could not run because its hook repositories were unreachable, so trailing whitespace, line endings and EOF newline were checked by hand. lychee was unavailable. The change edits link text but no URLs. Fixed (2):
Tests: passed CI inspections (5):
Conflict update: skipped; strategy
|
|
🤖 Finished Review · ✅ Success · Started 5:04 PM UTC · Completed 5:10 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.03 |
Superseded by updated review
Summary
Adds
docs/problems/deep-security-audit.md. It proposes scope for an opt-in deep security-audit workflow that runs separately from routine PR review. The doc asks whether the workflow should exist, what would trigger it, and which security guarantees it can and cannot claim. It is written for discussion and does not describe an agreed design.Related Issue
Split out of the umbrella assessment #9427 (gap 4). The audit output depends on the confidential reporting path in #9431.
Changes
docs/problems/deep-security-audit.md:harness/review.yamlinfullsend-ai/agents@8be868fcan copy a GCP credential file into the sandbox, so "sandboxed" is never treated as "holds no credentials".code-review.md: at the security sub-agent section.security-threat-model.md: at the self-report unreliability gap ("no security issues found").private-context-public-workflows.md: in the "Relationship to other problem areas" list.Testing
make lintpasses: not run in full.pre-commitcould not fetch its remote hook repos (sandbox TLS error). I ran the markdown-relevant hooks directly on the staged files and they passed: end-of-file-fixer, trailing-whitespace, detect-private-key, check-merge-conflict, mixed-line-ending, check-added-large-files, lint-docs-links, lint-broken-symlinks, and lychee (offline, with fragment/anchor checks). Semgrep was skipped because its ruleset could not be downloaded. The sandbox secret scan (gitleaks-based) passed.Checklist
!for breaking changes)🤖 Generated with Claude Code
Closes #9432
Post-script verification
agent/9432-deep-security-audit-workflow)dda4623665ec7f034c0e8cd503e2aa8e0220565a..HEAD)