Skip to content

Dedupe Findings in Output#3074

Open
liquidsec wants to merge 3 commits intodevfrom
dedupe-stdout-findings
Open

Dedupe Findings in Output#3074
liquidsec wants to merge 3 commits intodevfrom
dedupe-stdout-findings

Conversation

@liquidsec
Copy link
Copy Markdown
Contributor

@liquidsec liquidsec commented May 4, 2026

This PR does three things to the "human" output.

  1. Stop the duplicate lines. Instead of a standard line and a colored line, only the colored line shows up now. This happens without affecting the output in output.txt. The output going to the TTY takes a totally separate path than data going to output.txt.

  2. Link severity with boldness. Currently severity is linked to the color, but there was no visual way to perceive the confidence. Now the boldness of the text will correspond to the confidence.

  3. Changes color of critical to purple and low to yellow. Previously they were the same color as high/medium.

image

Findings were printed twice — once colored to stderr via log_to_stderr
and once plain to stdout. Drop the stderr emission and colorize the
single stdout line directly: severity selects the hue, confidence
scales the brightness (CONFIRMED also bold). Gated on isatty() so
piped/redirected stdout stays plain text. output.txt is unaffected
(written by the separate txt module).
@liquidsec liquidsec requested a review from TheTechromancer May 4, 2026 15:57
liquidsec added 2 commits May 4, 2026 11:57
Match the 🟦🟨🟧🟥🟪 convention from FINDING.severity_colors instead
of collapsing LOW+MEDIUM and HIGH+CRITICAL onto shared hues.
Bump base RGB so every severity's brightest channel is 255 (INFO blue
113,161,255 and CRITICAL purple 207,0,255 were below max). Raise the
UNKNOWN/LOW multipliers so the dimmest cells stay legible on dark
terminals — brightest channel never drops below ~115.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

📊 Performance Benchmark Report

Comparing dev (baseline) vs dedupe-stdout-findings (current)

📈 Detailed Results (All Benchmarks)

📋 Complete results for all benchmarks - includes both significant and insignificant changes

🧪 Test Name 📏 Base 📏 Current 📈 Change 🎯 Status
Bloom Filter Dns Mutation Tracking Performance 4.28ms 4.24ms -1.0%
Bloom Filter Large Scale Dns Brute Force 18.00ms 17.37ms -3.5%
Large Closest Match Lookup 334.25ms 334.75ms +0.2%
Realistic Closest Match Workload 179.51ms 177.84ms -0.9%
Event Memory Medium Scan 1784 B/event 1782 B/event -0.1%
Event Memory Large Scan 1768 B/event 1768 B/event +0.0%
Event Validation Full Scan Startup Small Batch 373.23ms 370.50ms -0.7%
Event Validation Full Scan Startup Large Batch 524.67ms 518.23ms -1.2%
Make Event Autodetection Small 25.24ms 24.70ms -2.1%
Make Event Autodetection Large 256.02ms 249.82ms -2.4%
Make Event Explicit Types 10.66ms 10.49ms -1.6%
Excavate Single Thread Small 3.451s 3.395s -1.6%
Excavate Single Thread Large 8.713s 8.643s -0.8%
Excavate Parallel Tasks Small 3.656s 3.606s -1.4%
Excavate Parallel Tasks Large 6.830s 6.735s -1.4%
Is Ip Performance 3.11ms 3.17ms +1.8%
Make Ip Type Performance 11.41ms 11.31ms -0.9%
Mixed Ip Operations 4.49ms 4.49ms -0.1%
Memory Use Web Crawl 49.5 MB 44.3 MB -10.6% 🟢🟢 🚀
Memory Use Subdomain Enum 19.4 MB 19.4 MB +0.0%
Scan Throughput 100 7.636s 7.166s -6.2%
Scan Throughput 1000 32.795s 33.915s +3.4%
Typical Queue Shuffle 63.27µs 59.87µs -5.4%
Priority Queue Shuffle 721.22µs 685.11µs -5.0%

🎯 Performance Summary

+ 1 improvement 🚀
  23 unchanged ✅

🔍 Significant Changes (>10%)

  • Memory Use Web Crawl: 10.6% 🚀 less memory

🐍 Python Version 3.11.15

@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

❌ Patch coverage is 38.46154% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 91%. Comparing base (5be4993) to head (a739037).
⚠️ Report is 2 commits behind head on dev.

Files with missing lines Patch % Lines
bbot/modules/output/stdout.py 39% 8 Missing ⚠️
Additional details and impacted files
@@          Coverage Diff          @@
##             dev   #3074   +/-   ##
=====================================
- Coverage     91%     91%   -0%     
=====================================
  Files        437     437           
  Lines      37509   37514    +5     
=====================================
- Hits       33925   33924    -1     
- Misses      3584    3590    +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant