Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
Accelerator
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
mitre
/
saf
Public
Notifications
You must be signed in to change notification settings
Fork
41
Star
183
Code
Issues
124
Pull requests
52
Discussions
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Wiki
Security and quality
Insights
Safe filenames
- #8480
#8480
Open
Amndeep7
wants to merge 24 commits into
main
mitre/saf:main
from
safe_filenames
mitre/saf:safe_filenames
Copy head branch name to clipboard
Conversation
Commits
24
(24)
Checks
Files changed
Open
Safe filenames
#8480
Amndeep7
wants to merge 24 commits into
main
mitre/saf:main
from
safe_filenames
mitre/saf:safe_filenames
Copy head branch name to clipboard
Commits
Commits on Jun 24, 2026
simplified basename implementation
Show description for eb563f2
Amndeep7
committed
eb563f2
View commit details
Copy full SHA for eb563f2
Browse repository at this point
added more tests to handle more edge cases for basename functionality
Show description for abec723
Amndeep7
committed
abec723
View commit details
Copy full SHA for abec723
Browse repository at this point
Commits on Jun 25, 2026
modified tests to handle being concurrent better by making them independently create their tempdirs instead of generating them one at a time which could lead to race conditions when run in parallel…
Show description for 94b153d
Amndeep7
committed
94b153d
View commit details
Copy full SHA for 94b153d
Browse repository at this point
add a test for if the target file is a symlink since resolvesafechild only checks if the intermediate directories are symlinks not the final path - this test is currently failing
Show description for b984b40
Amndeep7
committed
b984b40
View commit details
Copy full SHA for b984b40
Browse repository at this point
add an additional check for if the target file is a symlink
Show description for 62165af
Amndeep7
committed
62165af
View commit details
Copy full SHA for 62165af
Browse repository at this point
converted as many locations as possible to use basename and/or resolvesafechild
Show description for 59932ab
Amndeep7
committed
59932ab
View commit details
Copy full SHA for 59932ab
Browse repository at this point
added filename sanitization
Show description for df0c808
Amndeep7
committed
df0c808
View commit details
Copy full SHA for df0c808
Browse repository at this point
add failing test for windows shell metacharacters - might need to add more characters to handle all of powershell + cmd.exe
Show description for ec64170
Amndeep7
committed
ec64170
View commit details
Copy full SHA for ec64170
Browse repository at this point
Clarifies docstring for safeFilename
Show description for dab3f99
Amndeep7
and
Copilot
authored
dab3f99
View commit details
Copy full SHA for dab3f99
Browse repository at this point
rename variable to make it clearer that it's a file as opposed to a directory where the results will be saved
Show description for 0185c2d
Amndeep7
committed
0185c2d
View commit details
Copy full SHA for 0185c2d
Browse repository at this point
make the shell injection work properly
Show description for 9d04107
Amndeep7
committed
9d04107
View commit details
Copy full SHA for 9d04107
Browse repository at this point
Commits on Jun 26, 2026
fix the test to catch the error properly and validate against that
Show description for 307ad7d
Amndeep7
committed
307ad7d
View commit details
Copy full SHA for 307ad7d
Browse repository at this point
add safeexecfilesync command to handle the possibility of shell injection
Show description for e30e8c3
Amndeep7
committed
e30e8c3
View commit details
Copy full SHA for e30e8c3
Browse repository at this point
Commits on Jul 6, 2026
modify execfilesync function slightly and add more tests
Show description for a158354
Amndeep7
committed
a158354
View commit details
Copy full SHA for a158354
Browse repository at this point
get rid of node: prefix
Show description for 1cb67a8
Amndeep7
committed
1cb67a8
View commit details
Copy full SHA for 1cb67a8
Browse repository at this point
Commits on Aug 13, 2026
might be a race condition
Show description for 9e06e0f
Amndeep7
committed
9e06e0f
View commit details
Copy full SHA for 9e06e0f
Browse repository at this point
maybe it wasn't the race condition. trying to do more debugging now
Show description for 85b8488
Amndeep7
committed
85b8488
View commit details
Copy full SHA for 85b8488
Browse repository at this point
more debugging
Show description for c82a6ed
Amndeep7
committed
c82a6ed
View commit details
Copy full SHA for c82a6ed
Browse repository at this point
github actions apparently has a tilda in the path which we are very strictly blocking so let's try going to a different dir that might not have a tilda inside
Show description for 6947694
Amndeep7
committed
6947694
View commit details
Copy full SHA for 6947694
Browse repository at this point
sequential probably isn't necessary then
Show description for 2578bc4
Amndeep7
committed
2578bc4
View commit details
Copy full SHA for 2578bc4
Browse repository at this point
sonarqube says to cosolidate tests
Show description for d8f8bde
Amndeep7
committed
d8f8bde
View commit details
Copy full SHA for d8f8bde
Browse repository at this point
Merge branch 'main' into safe_filenames
Amndeep7
authored
02d0ffa
View commit details
Copy full SHA for 02d0ffa
Browse repository at this point
Commits on Aug 14, 2026
added text to the readme to clarify the security risks
Show description for f686e8e
Amndeep7
committed
f686e8e
View commit details
Copy full SHA for f686e8e
Browse repository at this point
Commits on Aug 15, 2026
Merge branch 'main' into safe_filenames
Amndeep7
authored
650cdb2
View commit details
Copy full SHA for 650cdb2
Browse repository at this point
You can’t perform that action at this time.