Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the Issues tab by adding forms and auto-comment/close malware related issues #4046

Merged
merged 35 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
889dee8
Create issue-check.yml
ImSwordQueen Dec 16, 2024
02cec41
Update issue-check.yml
ImSwordQueen Dec 16, 2024
80dc996
Update issue-check.yml
ImSwordQueen Dec 16, 2024
130878a
Update issue-check.yml
ImSwordQueen Dec 16, 2024
392e5a5
Update issue-check.yml
ImSwordQueen Dec 16, 2024
ae1f447
Update issue-check.yml
ImSwordQueen Dec 16, 2024
2c9fee6
Update issue-check.yml
ImSwordQueen Dec 16, 2024
2cb5bfb
I hate case sensitivityyyyyyyyyyyyyyyyyyyyy
ImSwordQueen Dec 16, 2024
2c96dce
Update issue-check.yml
ImSwordQueen Dec 16, 2024
6764b16
Update issue-check.yml
ImSwordQueen Dec 16, 2024
bd17ec5
Update issue-check.yml
ImSwordQueen Dec 16, 2024
22d4658
Update issue-check.yml
ImSwordQueen Dec 16, 2024
9f0593e
Update issue-check.yml
ImSwordQueen Dec 16, 2024
c576b78
Update issue-check.yml
ImSwordQueen Dec 16, 2024
c63b3f3
Update issue-check.yml
ImSwordQueen Dec 16, 2024
aee1213
Update issue-check.yml
ImSwordQueen Dec 16, 2024
057af1c
Update issue-check.yml
ImSwordQueen Dec 16, 2024
f4ba702
Update issue-check.yml
ImSwordQueen Dec 16, 2024
1f01a72
Update issue-check.yml
ImSwordQueen Dec 16, 2024
ab0f1f0
Update issue-check.yml
ImSwordQueen Dec 16, 2024
49a4ffa
Add the thingies
ImSwordQueen Dec 16, 2024
162f724
Update bug_report.yml
ImSwordQueen Dec 16, 2024
a9d9e1c
Update bug_report.yml
ImSwordQueen Dec 16, 2024
b0d93a5
Update bug_report.yml
ImSwordQueen Dec 16, 2024
c3538b5
Update bug_report.yml
ImSwordQueen Dec 16, 2024
fc424f0
Update bug_report.yml
ImSwordQueen Dec 16, 2024
97df62f
Update bug_report.yml
ImSwordQueen Dec 16, 2024
b04d489
Update bug_report.yml
ImSwordQueen Dec 16, 2024
2c79c4f
Update bug_report.yml
ImSwordQueen Dec 16, 2024
b5a0782
Update issue-check.yml
ImSwordQueen Dec 16, 2024
53f6000
Fix
ImSwordQueen Dec 16, 2024
13d6c10
Update issue-check.yml
ImSwordQueen Dec 16, 2024
30ef870
Change name of the issues handler
ImSwordQueen Dec 16, 2024
d7517a1
Add more common keywords that were in the EP issues
ImSwordQueen Dec 16, 2024
e0622d8
Fix descriptions
ImSwordQueen Dec 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: Bug report
description: Report the issue you have with ExplorerPatcher here
labels:
- bug
body:
- type: markdown
attributes:
value: |
> [!WARNING]
> Issues regarding virus detections will be closed automatically. Discuss it in [Issue #3670](https://github.com/valinet/ExplorerPatcher/issues/3670) or [Issue #3228](https://github.com/valinet/ExplorerPatcher/issues/3228)

- type: checkboxes
attributes:
label: Before reporting your issue
description: Please ensure you meet the following criteria before reporting issues
options:
- label: I have confirmed that this issue does not happen when ExplorerPatcher is not installed
- label: I do not have "register as shell extension" enabled
- label: I have tried my best to check existing issues

- type: textarea
attributes:
label: Repro ExplorerPatcher versions
description: Provide the relevant versions of ExplorerPatcher for reproduction of the issue.
placeholder: |
Example:
ExplorerPatcher 67.1
validations:
required: true

- type: textarea
attributes:
label: Repro Windows Versions
description: Provide the relevant versions for reproduction of the issue. For example, Windows version, and architecture (e.g. x64 or ARM64).
placeholder: |
Example:
Windows 11 24H2 26100.1150 ARM64
Windows 11 24H2 26100.2314 ARM64
validations:
required: true

- type: textarea
attributes:
label: 3rd party tweak software installed
description: A list of 3rd Party software that may modify the shell in someway.
placeholder: |
Example:
TranslucentTB
Windhawk (with disable grouping and vertical taskbar mods)
OpenShell
Nilesoft Shell
Wallpaper Engine
validations:
required: true

- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is. Please try to isolate the issue to ExplorerPatcher by disabling other customization software.
placeholder: |
Example:
1. Install EP 67.1.
2. Enable Windows 10 (ExplorerPatcher) taskbar and restart Explorer.
3. Make sure Ethernet (if available) is disconnected, and then disconnect Wi-Fi.
4. Turn on Personal Hotspot (iPhone) or Mobile Hotspot (Android).
5. Connect to the Personal Hotspot.
6. Observe icon changing from No Internet to Wi-Fi signal bars.
7. Turn off Personal Hotspot.
8. Observe icon staying in Wi-Fi signal bars state instead of changing to No Internet (globe icon).
validations:
required: true

- type: textarea
attributes:
label: Expected outcome
description: Describe what you expected to happen when performing the steps above.
placeholder: |
Example:
The icon of the Network tray icon changes from Wi-Fi signal bars to globe (no Internet) icon like it was on 11 23H2, 11 22H2, and previous versions.
validations:
required: true

- type: textarea
attributes:
label: Actual outcome
description: Describe what actually happens after performing the steps above.
placeholder: |
Example:
The icon is stuck in the Wi-Fi icon state, giving false impressions that the device is still connected to Wi-Fi. The icon will stay this way until Wi-Fi/Airplane Mode is toggled, or until the device is reconnected to a Wi-Fi router.
validations:
required: true

- type: textarea
attributes:
label: Additional info
description: Provide any additional information that may help in diagnosing the issue, such as logs, error messages, or links to related issues.
placeholder: |
Example:
Windows 11 build 25236 removed pnidui.dll, leaving the restoration-from-22621 method being the only option to have this icon. However, there may be interface mismatches or API updates that caused the 22621 (22H2) pnidui.dll to behave this way on 24H2. Patches to pnidui.dll may be needed in order to fix this.
validations:
required: false

- type: textarea
id: crashdumps
attributes:
label: Crash Dumps
description: In case of crashes, if possible, please upload the latest crash dumps relating to explorer.exe. Crash dumps can be found in %LOCALAPPDATA%\CrashDumps.
placeholder: Drop or paste crash dumps to upload.
validations:
required: false

- type: textarea
id: screenshots
attributes:
label: Media
description: Add screenshots/videos to help illustrate the issue
placeholder: Drop or paste images or videos to upload.
validations:
required: false

14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Questions
about: Ask questions and receive support here
url: https://github.com/valinet/ExplorerPatcher/discussions/categories/q-a
- name: Feature requests
about: Suggestions for new features and enhancements here
url: https://github.com/valinet/ExplorerPatcher/discussions/categories/ideas
- name: Showcase
about: Show off your system or give tips and tricks here
url: https://github.com/valinet/ExplorerPatcher/discussions/categories/show-and-tell
- name: Wiki
about: Useful documentation on ExplorerPatcher
url: https://github.com/valinet/ExplorerPatcher/wiki
95 changes: 95 additions & 0 deletions .github/workflows/issue-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Duplicate malware/virus flags issues handler

on:
issues:
types: [opened]

jobs:
check_keywords:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Check for keywords in issue title and body
id: check_keywords
run: |
# Define the list of keywords
keywords=("Virus" "Malware" "trojan" "Windows Defender" "Antivirus" "bitdefender" "defender" "kaspersky" "unwanted" "harmful" "HackTool:Win64/ExplorerPatcher!MTB" "HackTool:Win64/Patcher!MSR" "HackTool" "Backdoor" "detection" "Norton" "Windows Security" "Win64:MalwareX-gen" "Microsoft Defender" "infected" "Potentially unwanted app found" "potentially unwanted software" "VIRUSTOTAL")

# Get the issue title and body from the event context
ISSUE_TITLE="${{ github.event.issue.title }}"

# Convert both title and body to lowercase for case-insensitive comparison
ISSUE_TITLE_LOWER=$(echo "$ISSUE_TITLE" | tr '[:upper:]' '[:lower:]')

# Check if any of the keywords are present in the title or body
for keyword in "${keywords[@]}"; do
# Convert the keyword to lowercase as well
KEYWORD_LOWER=$(echo "$keyword" | tr '[:upper:]' '[:lower:]')

if [[ "$ISSUE_TITLE_LOWER" == *"$KEYWORD_LOWER"* ]] || [[ "$ISSUE_BODY_LOWER" == *"$KEYWORD_LOWER"* ]]; then
echo "'$keyword' found"
echo "contains_keyword=true" >> $GITHUB_ENV
break
fi
done

- name: Comment, label, and close issue if keyword found
if: env.contains_keyword == 'true' # Only run if a keyword was found
run: |
ISSUE_NUMBER="${{ github.event.issue.number }}"
REPO="${{ github.repository }}"

# Define the body of the comment with Markdown formatting
COMMENT_BODY="> [!CAUTION]
><ins>**Microsoft and other major antivirus vendors have flagged ExplorerPatcher as \"malware\".**</ins> This is likely due to Microsoft's hatred against ExplorerPatcher, not because it contains a virus or such. Flags from Microsoft usually spread to other antivirus vendors.

Please include the following files and folders in your antivirus' exclusion list to prevent issues due to antivirus detections:

\`\`\`
C:\Program Files\ExplorerPatcher
%APPDATA%\ExplorerPatcher
C:\Windows\dxgi.dll
C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy
C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy
\`\`\`

For Defender, you can run the following script in PowerShell as an administrator:

\`\`\`
Add-MpPreference -ExclusionPath \"C:\Program Files\ExplorerPatcher\"
Add-MpPreference -ExclusionPath \"\$env:APPDATA\ExplorerPatcher\"
Add-MpPreference -ExclusionPath \"C:\Windows\dxgi.dll\"
Add-MpPreference -ExclusionPath \"C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\"
Add-MpPreference -ExclusionPath \"C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\"
\`\`\`

### **Failure to exclude ExplorerPatcher's files may result in inability to install/uninstall ExplorerPatcher and explorer.exe being unable to start.**

If you do not trust this process, please refrain from using ExplorerPatcher and look for alternatives instead.

Microsoft, if you are reading this, please reconsider the detections as [there are a lot of users who trust this program and that risks from future EP developers are a thing.](https://www.youtube.com/watch?v=R50myh-AAe0)

This issue was closed automatically. You want to discuss this in https://github.com/valinet/ExplorerPatcher/issues/3670."

# Escape the Markdown content for proper JSON formatting
COMMENT_BODY_ESCAPED=$(printf "%s" "$COMMENT_BODY" | jq -Rs .)

# Post a comment on the issue with formatted text
curl -X POST \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-d "{\"body\": $COMMENT_BODY_ESCAPED}" \
"https://api.github.com/repos/$REPO/issues/$ISSUE_NUMBER/comments"

# Add the "duplicate" label to the issue
curl -X POST \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-d '{"labels":["duplicate"]}' \
"https://api.github.com/repos/$REPO/issues/$ISSUE_NUMBER/labels"

# Close the issue
curl -X PATCH \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-d '{"state": "closed"}' \
"https://api.github.com/repos/$REPO/issues/$ISSUE_NUMBER"