Team Collaboration Guide
Vulnera enables seamless collaboration across security teams, DevOps, and developers. This guide covers workflows for shared vulnerability analysis, coordinated remediation, and team-based security practices.
Collaboration Workflows
Shared Analysis Setup
Scenario: Security team wants developers to run scans and review findings together
-
Create Organization
- Go to Dashboard → + New Organization
- Name: “Engineering Security”
- Add organization description
-
Invite Team Members
- Go to Settings → Members → Invite Member
- Invite developers with Member role (can create scans, resolve findings)
- Invite security lead with Admin role (manage integrations, settings)
- Invite executives with Viewer role (read-only access to reports)
-
Set Up Shared Quota
- Organization gets shared token pool (e.g., 1000 tokens/month for Pro)
- All members draw from same pool
- No individual limits unless configured (Enterprise)
-
Enable Notifications
- Settings → Integrations → Slack
- Connect team Slack workspace
- Enable daily summary and critical finding alerts
- All members get notifications in shared channel
Scan Coordination
Multi-stage scanning workflow:
Developer creates scan
↓
Scan runs (uses shared quota)
↓
Results available to all members
↓
Security team reviews findings
↓
Developer addresses findings
↓
Findings marked resolved
↓
Historical record kept for audit
Practical Example:
-
Developer Alice runs scan on
/backend:vulnera auth login --api-key $ORG_API_KEY # (org key, not personal) vulnera analyze ./backend --all-modules -
Security lead Bob reviews findings in dashboard:
- Open scan → Filter by Critical/High severity
- Add comments to findings
- Mark false positives
- Create Jira tickets for issues
-
Developer Alice gets Slack notification:
- “New critical finding in backend scan”
- She clicks link → opens dashboard
- Sees Bob’s comments and tickets
- Fixes code locally
-
Alice re-runs scan after fix:
- Same findings now show as “Resolved”
- Historical comparison shows before/after
Code Review Integration
GitHub PR workflow with Vulnera:
-
Setup GitHub Integration (Admin):
- Settings → Integrations → GitHub
- Authorize Vulnera app
- Enable “Auto-scan PRs”
-
Developer opens PR:
- GitHub automatically triggers Vulnera scan
- Results appear as PR status check
-
Security review:
- PR blocked if critical issues found
- Vulnera comment on PR with findings
- Link to full dashboard for details
- Developer can request security review
-
Resolution:
- Developer pushes fix commit
- Vulnera automatically re-scans
- If clean, PR check passes
- Can now merge to main
Example GitHub PR Comment:
🚨 Vulnera Security Scan Found Issues
Critical (1):
- SQL Injection in /src/api/users.py:45
CVSS: 9.2
High (2):
- Hardcoded API key in config.py:12
- Missing input validation in POST /api/data:78
View full report: [Dashboard Link]
Bot action: This PR is blocked until issues are resolved
Finding Management
Assigning Findings
Assign to Team Member:
- Open scan → select finding
- Click Assign To
- Search member by email or name
- Member gets notification:
- Email: “You’ve been assigned a critical finding”
- Slack: Link to finding with severity
- In-app: Shows in “Assigned to Me” queue
My Assignments View:
- Dashboard → My Assignments
- Shows all findings assigned to current member
- Sort by severity, due date, project
- Quick filter: Unstarted, In Progress, Blocked
Tracking Remediation
Finding Status Lifecycle:
Open (New)
↓
In Progress (assigned, work started)
↓
Resolved (fix implemented, verified)
OR
False Positive (not a real issue)
OR
Acknowledged (known issue, accepting risk)
Updating Status:
-
Open finding → Status dropdown
-
Select new status
-
Add comment (optional):
- Explain why marked false positive
- Link to fix PR or commit
- Document risk acceptance
-
Members with access see update:
- Slack notification: “@alice marked as Resolved”
- Audit log records change
- Dashboard updates in real-time
Commenting & Discussion
Collaborate on Finding:
- Open finding → scroll to Discussion section
- Click Add Comment
- Type message (Markdown supported)
- @mention team members:
@bobor@security-team - Submit → all mentioned members notified
Example Finding Discussion:
Alice: "This is a security issue in our OAuth implementation"
Bob: "Good catch. I'll check if this affects production"
Charlie: "@bob let's verify in staging first"
Security Lead: "Approved for resolution. PR: #4521"
Threaded Discussions (Enterprise):
- Reply to specific comments
- Resolve/pin important threads
- Export discussion for compliance
Reporting & Analytics
Team Analytics Dashboard
Organization Analytics (Admin view):
Go to Settings → Analytics → Dashboard
View:
- Team quota usage (bar chart: 850/1000 tokens used)
- Usage by member (table: Alice 400 tokens, Bob 300, etc.)
- Usage by module (pie: Dependencies 50%, SAST 35%, Secrets 15%)
- Trend (line graph: last 6 months)
- Busiest project, most findings by type
Shared Reports
Generate Report for Stakeholders:
- Go to Reports → New Report
- Select report type:
- Executive Summary — High-level metrics for leadership
- Detailed Technical — Full findings for security team
- Compliance — SOC2/ISO27001/GDPR aligned
- Department Summary — Findings by team/project
- Configure:
- Date range (last 30 days, last quarter, custom)
- Modules to include (dependencies, SAST, secrets, API)
- Recipients (email, download, or both)
- Click Generate
- Share PDF/HTML with stakeholders
Executive Summary Example:
VULNERA SECURITY REPORT
January 2024
OVERVIEW
Total Vulnerabilities: 247
Critical: 12 | High: 45 | Medium: 120 | Low: 70
TRENDS
↓ 15% fewer critical issues vs. last month
→ Secrets detection improved (5 leaked credentials caught)
↑ Dependencies increased (new packages added)
TEAM PERFORMANCE
Alice: 42 scans, 340 findings reviewed
Bob: 38 scans, 280 findings reviewed
Charlie: 25 scans, 180 findings reviewed
NEXT STEPS
1. Remediate 5 critical issues (ongoing)
2. Update 12 outdated dependencies (in progress)
3. Add 2 new team members for code review capacity
Custom Dashboards (Enterprise)
Create personalized views:
- Go to Organization → Dashboards → Custom
- Select widgets:
- Recent findings
- Team quota gauge
- Trend chart
- Member activity
- CI/CD integration status
- Arrange layout, save as team dashboard
- Share with team members
Security Team Workflows
Daily Security Review Routine
Morning (15 min):
- Check Slack for critical findings overnight
- Review My Assignments dashboard
- Prioritize by severity and project criticality
Mid-day (30 min):
- Comment on findings with remediation guidance
- Assign new findings to developers
- Update status on resolved items
End-of-day (10 min):
- Generate daily summary report
- Check team quota usage (alert if >75%)
- Review newly integrated repositories
Weekly (1 hour):
- All-hands meeting: review weekly findings summary
- Discuss high-priority remediation blockers
- Plan integrations/automation improvements
Escalation Process
When to escalate finding:
- Critical + No Owner Assigned → Assign to team lead immediately
- Finding unresolved 7+ days → Escalate to manager
- Multiple critical findings in same code → Schedule code review session
- Suspicious pattern (e.g., many secrets) → Notify CISO
Escalation in Dashboard:
- Open finding → Mark Escalated
- Add reason:
- High business impact
- Unresponsive team
- Need architecture review
- Escalated findings show in red on analytics
- Leadership dashboard shows escalations count
Developer Workflows
Running Scans as Developer
Individual Contributor:
# Authenticate with org API key
vulnera auth login --api-key $ORG_API_KEY
# Scan your code (uses org quota, not personal)
vulnera analyze ./src --all-modules --format json
# View results (or use dashboard)
vulnera analyze ./src --all-modules --format sarif | jq '.findings[] | {location, message, severity}'
Pre-commit Scanning:
-
Install hook:
vulnera install-hook ./ -
Hook runs before commit, blocks if critical:
$ git commit Vulnera scan in progress... 2 critical findings detected. Commit blocked. Fix and retry: git commit
CI/CD Integration:
In .github/workflows/security.yml:
name: Security Scan
on: [push, pull_request]
jobs:
vulnera-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Vulnera scan
env:
VULNERA_API_KEY: ${{ secrets.VULNERA_API_KEY }}
run: |
curl -L https://releases.vulnera.studio/vulnera-linux-x86_64 -o vulnera
chmod +x vulnera
./vulnera analyze . --all-modules --format sarif > vulnera.sarif
- name: Upload SARIF to GitHub
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: vulnera.sarif
Understanding & Fixing Findings
When you get assigned a finding:
-
Notification (Slack, email, dashboard)
- Click link → opens finding details
-
Understand the Issue
- Read vulnerability explanation
- Look at affected code snippet
- Review CVSS score and severity
- Check provided remediation guidance
-
Research if Needed
- Follow linked CVE/CWE
- Check if it affects your use case
- Ask security team for context (@bob in dashboard)
-
Fix or Dismiss
- If real issue: Create fix branch, implement patch, commit
- If false positive: Mark as such in dashboard with reason
- If acceptable risk: Mark as “Acknowledged” (with manager approval)
-
Verify
- Re-run scan locally:
vulnera analyze ./ - Finding should disappear or show as resolved
- Create PR with fix
- Vulnera auto-scans PR → shows as clean
- Re-run scan locally:
-
Mark Complete
- PR merged → Vulnera marks finding resolved
- Or manually: Dashboard → Finding → Status → Resolved
Example Finding Workflow:
Finding: SQL Injection in /api/users.py:45
Severity: Critical
CVSS: 9.2
Developer reads:
"User input is concatenated directly into SQL query without parameterization"
Developer fixes:
```python
# Before
query = f"SELECT * FROM users WHERE id = {user_id}"
# After
query = "SELECT * FROM users WHERE id = $1"
db.execute(query, [user_id])
Developer re-scans → Finding gone → PR merged
Dashboard shows: “Resolved by commit abc123def”
## Cross-Team Collaboration
### Developer + Security Team
**Weekly Sync Meeting:**
1. **Agenda** (30 min):
- Review critical findings from past week
- Discuss blockers (unclear requirements, false positives)
- Prioritize next week's work
- Demo fixes and improvements
2. **Before Meeting**:
- Security team prepares findings summary (generated report)
- Developers review assigned items in dashboard
- Both teams note questions
3. **After Meeting**:
- Document decisions in dashboard comments
- Update remediation timeline
- Send summary email to stakeholders
### DevOps + Security Team
**Infrastructure Scanning:**
1. **DevOps** sets up cloud scanning:
```bash
vulnera analyze s3://our-bucket --all-modules
vulnera analyze github-repos --org acme-corp --all-modules
-
Security reviews infrastructure findings:
- Cloud misconfigurations
- Exposed credentials in configs
- Vulnerable dependencies in infra code
-
DevOps fixes issues:
- Updates IaC templates (Terraform, CloudFormation)
- Re-scans to verify
- Dashboards show infrastructure security posture
Security Team + Leadership
Monthly Executive Report:
-
Generate Compliance Report:
- Go to Reports → Compliance Reports → SOC2
- Select past month
- Download PDF
-
Include in Board Deck:
- Overview of findings trend
- Team remediation velocity
- Risk metrics and KPIs
- Budget/quota efficiency
-
Dashboard Access for Leadership:
- Create Viewer accounts for executives
- Give read-only access to reports
- They can view trends without modifying findings
Notifications & Alerts
Configuring Team Notifications
Central Configuration (Admin):
- Go to Settings → Notifications
- Set for entire team:
- Critical findings: Immediate Slack alert
- High findings: Daily digest email
- Quota alerts: At 75%, 90%, 100%
- Member activity: Weekly summary
Personal Preferences (Member):
- Go to Profile → Notification Preferences
- Member can override:
- Frequency (real-time, daily digest, weekly summary)
- Channel (email, Slack, in-app, SMS)
- Finding types (all, critical only, assigned only)
Slack Channel Strategy
Setup Channels:
#vulnera-critical— Real-time critical findings (mention team lead)#vulnera-security— All findings, daily summary (team discussion)#vulnera-alerts— Quota warnings, integration issues (ops only)#vulnera-ci— PR scan results, CI/CD integration logs (read-only bot)
Slack Automation Example:
@vulnera-bot configure
├── #vulnera-critical: severity >= critical
├── #vulnera-security: summary daily 9 AM
├── #vulnera-alerts: quota > 90%
└── #vulnera-ci: all GitHub PR scans
Performance Metrics
Key Metrics to Track
Team Health:
- Remediation Rate — % of findings fixed within SLA
- Mean Time to Remediation (MTTR) — Days from finding to resolved
- False Positive Rate — % of dismissed as not real issue
- Scan Frequency — Scans per week by team
Security Posture:
- Critical Findings Trend — Month-over-month comparison
- Dependency Age — Average age of dependencies
- Secret Exposures — Count of exposed credentials (should be zero)
- Coverage — % of repositories being scanned
Quota Efficiency:
- Tokens/Finding — Cost per vulnerability found
- Scans/Token — How many scans per token used
- Team Quota Burndown — Days until month-end quota exhausted
Monthly Review Template
Run this monthly:
- Export analytics report (Settings → Analytics → Export)
- Calculate metrics above
- Create 1-page summary:
- Headline: metrics vs. last month
- Key wins: critical issues resolved
- Blockers: findings taking too long
- Next month priorities
- Share with team + leadership
Best Practices
Team Organization
✅ Small Team (5 members):
- 1 Security lead (Admin)
- 4 Developers (Members)
- Shared single quota pool
- Daily Slack updates
✅ Medium Team (15 members):
- 1-2 Security leads (Admin)
- 10-12 Developers (Member)
- 2-3 Managers (Viewer)
- Department-specific Slack channels
✅ Large Organization (50+ members):
- Hierarchical teams (Enterprise)
- Custom RBAC roles
- Department quotas
- Cross-team steering committee
Communication Best Practices
✅ Do:
- Comment on findings with context (not just “fix this”)
- Mention developers in Slack for urgent issues
- Have weekly syncs (async updates via dashboard)
- Document decisions in finding comments
- Celebrate resolved critical findings
❌ Don’t:
- Assign findings without explanation
- Ignore escalated issues
- Let findings sit unreviewed >5 days
- Resolve without verification
- Skip audit log reviews
Security Practices
✅ Do:
- Use organization API keys, not personal keys
- Rotate API keys quarterly
- Enable 2FA for all members
- Audit member list monthly
- Export compliance reports quarterly
- Review webhook logs
❌ Don’t:
- Share API keys in chat/email
- Use shared email addresses
- Keep inactive members in org
- Disable audit logging
- Store findings in plaintext
- Ignore unreviewed scans
Common Scenarios
Scenario 1: Onboarding New Developer
- Admin invites developer with Member role
- Developer accepts invite
- DevOps provides org API key
- Developer authenticates:
vulnera auth login --api-key - Developer runs first scan:
vulnera analyze ./ - Security team reviews findings, comments with guidance
- Developer receives Slack notification, fixes issues
- Next scan shows issues resolved
Timeline: 30 minutes total
Scenario 2: Critical Finding in Production Code
- Vulnera detects critical SQL injection in production branch
- Slack alert goes to
#vulnera-critical(pings team lead) - Security lead opens dashboard, verifies severity
- Security lead assigns to Alice (code owner) with comment: “URGENT: Fix before merge”
- Alice gets Slack notification, sees 9.2 CVSS score
- Alice creates hotfix branch, implements parameterized query
- Alice commits fix, GitHub auto-scans PR (Vulnera)
- Dashboard shows finding now marked “Resolved”
- Alice creates PR, security approves, code merged
- Production release includes fix
Timeline: 2-4 hours
Scenario 3: Monthly Compliance Reporting
- Security lead runs report: Reports → Compliance → SOC2 → January
- Report generated: PDF with audit log, member actions, findings summary
- Security lead emails report to CISO, board
- CISO reviews with dashboard (Viewer access)
- Sends to auditor for compliance verification
Timeline: 10 minutes to generate, 1 hour to review
Troubleshooting
Q: Team member not seeing organization scans
A: 1. Verify member accepted invitation (check email)
2. Confirm member role is not Viewer
3. Have member log out/log back in
4. Clear browser cache
5. Check if member was removed (Settings → Audit Log)
Q: Findings not appearing in Slack
A: 1. Verify Slack integration enabled (Settings → Integrations)
2. Check notification triggers configured
3. Verify Vulnera app still has channel permissions
4. Test webhook: Settings → Webhooks → Test
5. Check Slack app hasn't been uninstalled from workspace
Q: Team member assigned findings but didn’t respond
A: 1. Verify notification settings (Settings → Notifications)
2. Member may have disabled email notifications
3. Send direct Slack message if urgent
4. Escalate to manager if blocking
5. Consider reassigning if no response in 3 days
Q: How to handle team member leaving?
A: 1. Remove member (Settings → Members → Remove)
2. Revoke their API keys immediately
3. Reassign their open findings to other members
4. Export their scan history (for audit/compliance)
5. Review audit log for any suspicious activity
Next Steps
- Set Up Slack — Enable real-time alerts for your team
- Create Weekly Sync — Calendar recurring meeting to review findings
- Generate First Report — Monthly compliance or executive summary
- Document Workflows — Create team runbook for common scenarios
For dashboard features, see Dashboard Guide. For organization setup, see Organization Management.
Need help? Email support@vulnera.studio or visit our FAQ.