Audit Mode
Audit mode is the default and recommended starting point for using Bullfrog. It allows you to discover all outbound network connections made by your workflow without blocking anything.
What is Audit Mode?
In audit mode, Bullfrog:
- Monitors all outbound network connections
- Logs connection attempts in the workflow summary
- Does not block any connections
- Helps you understand your workflow's network behavior
When to Use Audit Mode
Use audit mode when you:
- Are first setting up Bullfrog
- Want to discover what connections your workflow makes
- Are adding new dependencies or steps to your workflow
- Need to troubleshoot why a workflow is being blocked
Basic Usage
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: bullfrogsec/bullfrog@c8e5fff94e0050c0cef9b9596c55cf3d9c53ba2c # v0.9.2
# egress-policy defaults to 'audit', so no configuration needed
- uses: actions/checkout@v4
- name: Install dependencies
run: npm install
- name: Build
run: npm run build
Explicit Audit Configuration
You can explicitly set audit mode for clarity:
- uses: bullfrogsec/bullfrog@c8e5fff94e0050c0cef9b9596c55cf3d9c53ba2c # v0.9.2
with:
egress-policy: audit
Reviewing Audit Results
After your workflow runs, you can view all outbound connections in the workflow summary:
- Navigate to your workflow run in GitHub Actions
- Select the Summary section
- Look for the Bullfrog Results in each job summary
- Review all logged connections with:
- Timestamp
- Destination IP address and port
- Domain name (if available)
- Protocol (TCP/UDP/DNS)
- Decision
- Reason for the decision
- Process metadata (executable path, command arguments)
Transitioning to Block Mode
Once you've reviewed the audit results and identified necessary connections:
- Create a list of allowed domains and IPs based on the audit log
- Update your workflow configuration to use block mode
Example Transition:
# Before (audit mode)
- uses: bullfrogsec/bullfrog@c8e5fff94e0050c0cef9b9596c55cf3d9c53ba2c # v0.9.2
# After (block mode with discovered connections)
- uses: bullfrogsec/bullfrog@c8e5fff94e0050c0cef9b9596c55cf3d9c53ba2c # v0.9.2
with:
egress-policy: block
allowed-domains: |
github.com
*.github.com
registry.npmjs.org
*.npmjs.org
Next Steps
- Learn how to set up block mode
- See configuration options for customizing behavior
- Review troubleshooting tips if you encounter issues