Skip to content

Windows FMA - Burp Suite Community - #46423

Merged
allenhouchins merged 3 commits into
mainfrom
win-fma-burpsuite
May 29, 2026
Merged

Windows FMA - Burp Suite Community#46423
allenhouchins merged 3 commits into
mainfrom
win-fma-burpsuite

Conversation

@harrisonravazzolo

@harrisonravazzolo harrisonravazzolo commented May 29, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added support for Burp Suite Community Edition on Windows with automated installation and uninstallation capabilities.
    • Added application icon for Burp Suite Community Edition in the user interface.

Review Change Stack

@harrisonravazzolo harrisonravazzolo changed the title burp suite without icon for now Windows FMA - Burp Suite Community May 29, 2026
@codecov

codecov Bot commented May 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 66.88%. Comparing base (8ef2590) to head (4383cee).
⚠️ Report is 19 commits behind head on main.

Files with missing lines Patch % Lines
...ftwarePage/components/icons/BurpSuiteCommunity.tsx 50.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #46423   +/-   ##
=======================================
  Coverage   66.88%   66.88%           
=======================================
  Files        2791     2796    +5     
  Lines      222293   222323   +30     
  Branches    11469    11480   +11     
=======================================
+ Hits       148682   148707   +25     
- Misses      60161    60166    +5     
  Partials    13450    13450           
Flag Coverage Δ
frontend 56.33% <50.00%> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@harrisonravazzolo
harrisonravazzolo marked this pull request as ready for review May 29, 2026 06:35
@harrisonravazzolo
harrisonravazzolo requested a review from a team as a code owner May 29, 2026 06:35

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8083561c-9728-490e-96f3-5535f3b45181

📥 Commits

Reviewing files that changed from the base of the PR and between 5e8a13e and 4383cee.

📒 Files selected for processing (2)
  • ee/maintained-apps/inputs/winget/burp-suite-community.json
  • ee/maintained-apps/outputs/burp-suite-community/windows.json

Walkthrough

This PR adds complete Windows support for Burp Suite Community Edition to Fleet. It introduces Winget package metadata and PowerShell scripts to automate installation and uninstallation, generates aggregated output configuration with embedded script references and detection logic, adds an entry to the apps catalog for version 2026.3.3, and integrates a new SVG icon component into the frontend software page with registry mapping for display and matching.

Possibly related PRs

  • fleetdm/fleet#46264: Adds a new software icon component and extends the same SOFTWARE_NAME_TO_ICON_MAP constant with a different software icon (GoToMeeting).
  • fleetdm/fleet#46250: Extends the frontend icon registry and app listing by adding entries to frontend/pages/SoftwarePage/components/icons/index.ts and apps.json for a different software package (Genesys Cloud).
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description is missing entirely. Only the template was present without any author-provided content, context, or implementation details. Add a comprehensive pull request description that includes the related issue number, summary of changes (Burp Suite Community Edition Windows support), testing confirmation, and any relevant implementation notes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Windows FMA - Burp Suite Community' clearly identifies the main change: adding Burp Suite Community Edition support for Windows via the FMA (Fleet-Maintained Apps) system.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch win-fma-burpsuite

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ee/maintained-apps/inputs/winget/burp-suite-community.json`:
- Around line 5-6: The unique_identifier field is version-locked ("Burp Suite
Community Edition 2026.3.3") which causes generated winget detection queries to
only match that exact version; change the "unique_identifier" value to a stable
product identifier like "Burp Suite Community Edition" (remove the version) so
the ingester generates version-agnostic detection queries; update the JSON entry
for unique_identifier in burp-suite-community.json to the non-versioned name and
re-run the ingester/tests to confirm the outputs (e.g.,
ee/maintained-apps/outputs/burp-suite-community/windows.json) now contain
correct, non-version-locked query shapes.

In `@ee/maintained-apps/inputs/winget/scripts/burp_suite_community_install.ps1`:
- Around line 7-21: The installer wait is unbounded: change the
Start-Process/$process wait to be bounded by introducing a timeout (e.g.
$TimeoutSeconds) and use a timed wait (either Wait-Process -Id $process.Id
-Timeout $TimeoutSeconds or $process.WaitForExit($TimeoutMs)); after the timed
wait, detect timeout by checking if the process is still running (Get-Process
-Id $process.Id -ErrorAction SilentlyContinue), and if so call Stop-Process -Id
$process.Id -Force and set a non-zero exit code variable; otherwise read
$process.ExitCode as before and compare against $ExpectedExitCodes to decide
Exit 0 or Exit $exitCode. Ensure $processOptions, Start-Process, $process,
$exitCode and $ExpectedExitCodes are used as before but with the new timeout and
termination logic.

In `@ee/maintained-apps/inputs/winget/scripts/burp_suite_community_uninstall.ps1`:
- Around line 29-32: The guard incorrectly exits whenever UninstallString is
empty even if QuietUninstallString exists; update the conditional around
$selected to only exit when there is no uninstall command at all by checking
both UninstallString and QuietUninstallString (i.e., require that both are
missing to bail), so the later logic that prefers QuietUninstallString can run;
reference the $selected object and its UninstallString and QuietUninstallString
properties and keep the same exit/log behavior when no uninstall command is
present.
- Around line 68-73: The current split of $existingArgs using -split '\s+'
breaks quoted tokens; instead parse $existingArgs preserving quoted strings
(e.g. use a regex or CommandLineToArgvW via .NET to produce tokens) and populate
$argumentList with those intact tokens before checking/adding "-q" and
"-Dinstall4j.suppressUnattendedReboot=true"; ensure the parsing logic is used
where Start-Process is called so quoted paths/values remain a single
ArgumentList item (update references around $argumentList, $existingArgs and
Start-Process).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 7f9decb7-0654-4b65-a620-a75ee85510b8

📥 Commits

Reviewing files that changed from the base of the PR and between 8ef2590 and 5e8a13e.

⛔ Files ignored due to path filters (1)
  • website/assets/images/app-icon-burp-suite-community-60x60@2x.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • ee/maintained-apps/inputs/winget/burp-suite-community.json
  • ee/maintained-apps/inputs/winget/scripts/burp_suite_community_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/burp_suite_community_uninstall.ps1
  • ee/maintained-apps/outputs/apps.json
  • ee/maintained-apps/outputs/burp-suite-community/windows.json
  • frontend/pages/SoftwarePage/components/icons/BurpSuiteCommunity.tsx
  • frontend/pages/SoftwarePage/components/icons/index.ts

Comment thread ee/maintained-apps/inputs/winget/burp-suite-community.json Outdated
@allenhouchins

Copy link
Copy Markdown
Member

@harrisonravazzolo moving back to draft. The validation passed but there are quite a few issues to address. See comments.

@allenhouchins
allenhouchins marked this pull request as draft May 29, 2026 13:42
Stop embedding the specific release in identifiers and detection queries for Burp Suite Community Edition. Update input unique_identifier to a generic name and adjust output SQL queries to use a wildcard match (LIKE 'Burp Suite Community Edition %') so detection is not tied to a single version while still using version_compare to determine patched status.
@allenhouchins
allenhouchins marked this pull request as ready for review May 29, 2026 15:26
Copilot AI review requested due to automatic review settings May 29, 2026 15:26
@allenhouchins
allenhouchins merged commit 4504b11 into main May 29, 2026
29 checks passed
@allenhouchins
allenhouchins deleted the win-fma-burpsuite branch May 29, 2026 15:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Fleet-maintained app support for Burp Suite Community Edition (Windows) and wires up a corresponding software icon in the Software page UI.

Changes:

  • Add a new Burp Suite Community icon component and map it in SOFTWARE_NAME_TO_ICON_MAP.
  • Add Winget input metadata plus PowerShell install/uninstall scripts for Burp Suite Community (Windows).
  • Commit generated maintained-app outputs (windows.json manifest and apps.json catalog entry).

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
frontend/pages/SoftwarePage/components/icons/index.ts Imports and registers the Burp Suite Community icon in the name-to-icon map.
frontend/pages/SoftwarePage/components/icons/BurpSuiteCommunity.tsx Adds the Burp Suite Community icon asset (embedded image SVG).
ee/maintained-apps/outputs/burp-suite-community/windows.json Adds the generated Windows maintained-app manifest (queries, installer URL, script refs).
ee/maintained-apps/outputs/apps.json Adds the Burp Suite Community Edition entry to the maintained apps catalog.
ee/maintained-apps/inputs/winget/scripts/burp_suite_community_uninstall.ps1 Adds the uninstall script logic used by the maintained app.
ee/maintained-apps/inputs/winget/scripts/burp_suite_community_install.ps1 Adds the install script logic used by the maintained app.
ee/maintained-apps/inputs/winget/burp-suite-community.json Adds Winget input definition for generating the maintained app.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +29 to +32
if (-not $selected -or -not $selected.UninstallString) {
Write-Host "Uninstall entry not found for $softwareNameLike"
Exit 0
}
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.

4 participants