ci: disable threat detection in all workflows#1892
Conversation
Add threat-detection: enabled: false under safe-outputs in all 24 workflows that use safe-outputs. This removes the AI-powered threat detection phase that runs before each agent job. The lock files shrink by ~5K lines total as the compiled threat detection job and its setup are removed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
Upgrade from v0.68.0 to v0.68.1 and recompile all lock files with post-processing applied. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
This PR aims to disable the “threat detection” phase for agentic workflows that use safe-outputs, by adding safe-outputs.threat-detection.enabled: false to workflow source .md files and recompiling the corresponding .lock.yml workflows so the detection job (and its gating) is removed.
Changes:
- Added
safe-outputs.threat-detection.enabled: falseto multiple workflow.mddefinitions. - Recompiled compiled workflow
.lock.ymlfiles to remove thedetectionjob and relatedneeds.detectiongating. - Regenerated the maintenance workflow and updated the actions lockfile entries.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/update-release-notes.md | Disables threat detection in safe-outputs config for this workflow. |
| .github/workflows/update-release-notes.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/test-coverage-improver.md | Disables threat detection in safe-outputs config. |
| .github/workflows/test-coverage-improver.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/smoke-services.md | Disables threat detection in safe-outputs config. |
| .github/workflows/smoke-copilot.md | Disables threat detection in safe-outputs config. |
| .github/workflows/smoke-codex.md | Disables threat detection in safe-outputs config. |
| .github/workflows/smoke-claude.md | Disables threat detection in safe-outputs config. |
| .github/workflows/smoke-chroot.md | Disables threat detection in safe-outputs config. |
| .github/workflows/smoke-chroot.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/shared/secret-audit.md | Shared Secret Digger component; prompt text refactor (and currently the place to disable detection for Secret Digger workflows). |
| .github/workflows/security-review.md | Disables threat detection in safe-outputs config. |
| .github/workflows/security-guard.md | Disables threat detection in safe-outputs config. |
| .github/workflows/secret-digger-copilot.md | Adjusts Secret Digger Copilot workflow settings (timeout/content). |
| .github/workflows/secret-digger-copilot.lock.yml | Reflects Secret Digger Copilot workflow recompilation (timeout/env updates). |
| .github/workflows/plan.md | Disables threat detection in safe-outputs config. |
| .github/workflows/plan.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/pelis-agent-factory-advisor.md | Disables threat detection in safe-outputs config. |
| .github/workflows/issue-monster.md | Disables threat detection in safe-outputs config. |
| .github/workflows/issue-monster.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/issue-duplication-detector.md | Disables threat detection in safe-outputs config. |
| .github/workflows/firewall-issue-dispatcher.md | Disables threat detection in safe-outputs config. |
| .github/workflows/firewall-issue-dispatcher.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/doc-maintainer.md | Disables threat detection in safe-outputs config. |
| .github/workflows/doc-maintainer.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/dependency-security-monitor.md | Disables threat detection in safe-outputs config. |
| .github/workflows/dependency-security-monitor.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/copilot-token-usage-analyzer.md | Disables threat detection in safe-outputs config. |
| .github/workflows/copilot-token-usage-analyzer.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/copilot-token-optimizer.md | Disables threat detection in safe-outputs config. |
| .github/workflows/copilot-token-optimizer.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/cli-flag-consistency-checker.md | Disables threat detection in safe-outputs config. |
| .github/workflows/cli-flag-consistency-checker.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/claude-token-usage-analyzer.md | Disables threat detection in safe-outputs config. |
| .github/workflows/claude-token-usage-analyzer.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/claude-token-optimizer.md | Disables threat detection in safe-outputs config. |
| .github/workflows/claude-token-optimizer.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/ci-doctor.md | Disables threat detection in safe-outputs config. |
| .github/workflows/ci-cd-gaps-assessment.md | Disables threat detection in safe-outputs config. |
| .github/workflows/ci-cd-gaps-assessment.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/build-test.md | Disables threat detection in safe-outputs config. |
| .github/workflows/build-test.lock.yml | Removes the compiled detection job and dependency gating. |
| .github/workflows/agentics-maintenance.yml | Regenerated maintenance workflow; adds dispatch inputs and new operational jobs. |
| .github/aw/actions-lock.json | Adds lock entry for github/gh-aw-actions/setup-cli@v0.68.0. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 48/54 changed files
- Comments generated: 2
| # This file was automatically generated by pkg/workflow/maintenance_workflow.go (v0.68.0). DO NOT EDIT. | ||
| # |
There was a problem hiding this comment.
The PR description says only workflow .md files and their compiled .lock.yml files were changed, but this PR also updates the generated maintenance workflow. Please update the PR description to include this (or split it out) so reviewers know to audit these operational changes as well.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Smoke Test Results
Overall: PASS
|
🔥 Smoke Test Results
Overall: PASS 🎉 PR by @lpcox · no assignees
|
Smoke Test: GitHub Actions Services Connectivity ✅
All checks passed. (
|
Chroot Version Comparison Results
Overall: ❌ Not all versions match — Python and Node.js versions differ between host and chroot.
|
|
Smoke Test Results (Run 24271368198)
|
Security Review: Threat Detection Disabled Across All WorkflowsFinding: Removal of prompt-injection defense layer This PR removes the AI-powered threat detection phase from all 24 agentic workflows by setting What the removed code doesThe threat detection job (removed ~193 lines per workflow, ~5K lines total) runs as a separate GitHub Actions job between the main agent job and the safe-outputs application. It:
# From build-test.lock.yml (main branch) — this entire block is removed:
# --- Threat Detection ---
- name: Check if detection needed
id: detection_guard
if: always()
env:
OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
run: |
if [[ -n "$OUTPUT_TYPES" || "$HAS_PATCH" == "true" ]]; then
echo "run_detection=true" >> "$GITHUB_OUTPUT"
...
- name: Prepare threat detection files
if: always() && steps.detection_guard.outputs.run_detection == 'true'
run: |
cp /tmp/gh-aw/aw-prompts/prompt.txt /tmp/gh-aw/threat-detection/aw-prompts/
cp /tmp/gh-aw/agent_output.json /tmp/gh-aw/threat-detection/
for f in /tmp/gh-aw/aw-*.patch; do cp "$f" /tmp/gh-aw/threat-detection/; done
for f in /tmp/gh-aw/aw-*.bundle; do cp "$f" /tmp/gh-aw/threat-detection/; done
- name: Setup threat detection
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
with:
script: |
const { main } = require('.../setup_threat_detection.cjs');
await main();Security implicationThese 24 workflows process untrusted external input (PR bodies, issue titles/descriptions, comments). Threat detection is the primary automated defense against prompt injection attacks that could cause an agent to:
Since this repository implements a network security firewall, a successful prompt injection that introduces a vulnerability into AWF source code is particularly high-impact. Questions for reviewers
Suggested action: If threat detection must be disabled, consider doing so only for the specific workflows where it is causing problems, rather than all 24. If this is permanent, document the rationale and any compensating controls.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — ✅ PASS
|
Summary
Disables the AI-powered threat detection phase in all 24 workflows that use safe-outputs.
Changes
Added
threat-detection: enabled: falseundersafe-outputs:in every workflow.mdfile, then recompiled all lock files.Impact
.mdfiles updated with the configurationFiles changed
All
.github/workflows/*.mdfiles that had asafe-outputs:block, plus their corresponding.lock.ymlfiles.