René's URL Explorer Experiment


Title: fix: repo-wide correctness, security & filesystem-safety hardening pass (v3.2.0) by mikolalysenko · Pull Request #92 · SocketDev/socket-patch · GitHub

Open Graph Title: fix: repo-wide correctness, security & filesystem-safety hardening pass (v3.2.0) by mikolalysenko · Pull Request #92 · SocketDev/socket-patch

X Title: fix: repo-wide correctness, security & filesystem-safety hardening pass (v3.2.0) by mikolalysenko · Pull Request #92 · SocketDev/socket-patch

Description: Summary A repo-wide review where every source file in both crates was read line by line, the bugs found were fixed, and regression tests were added throughout. The audit harness that drove it is included (scripts/study-crates.ts); per-file write-ups are in the (gitignored) study-output/SUMMARY.md. Net: 90 source files touched, ~10k lines added (mostly tests). Version bumped 3.1.0 → 3.2.0 (minor) across Cargo / npm / PyPI manifests. Security Path-traversal in archive extraction (patch/package.rs): validated the raw tar path but wrote the package/-stripped one, so package//etc/passwd escaped the package tree. Now validates the normalized path actually written. Unbounded preallocation from an untrusted delta header (patch/diff.rs): the bsdiff target-size field (never validated by qbsdiff) fed Vec::with_capacity; a tiny hostile delta could abort the process. Clamped to 64 MiB. Evidence-free VEX attestation (vex/verify.rs): zero-file patches reported applied; now omitted as no_files. Filesystem safety / atomicity / rollback apply: DirWriteGuard for read-only dirs (Go cache 0o555), chown-before-chmod to preserve setuid/setgid, parent-dir fsync after rename. cow: atomic rename-over-symlink (no destructive pre-unlink), stage cleanup on every error arm. rollback: now delegates to the hardened apply_file_patch; AlreadyOriginal checked before the blob lookup; read-only-dir new-file delete. file_hash/git_sha256: open-once + fstat (closes a TOCTOU), regular-file guard, streamed size/body mismatch detection. cargo/nuget sidecars: hardened atomic writes/deletes in read-only registry caches. cleanup_blobs: symlink-tolerant, accurate "checked" count. apply_lock: genuine flock errors surface as Io (not Held); sleep clamped to remaining budget. Crawlers (on-disk layout & metadata) Composer v-prefix + malformed-entry tolerance; Go cache-at-root / version case-encoding / GOPATH list / module directive; npm symlink following + nested-recursion guard; NuGet global-cache version casing; Python macOS framework layout + .dist-info dir-name fallback; Deno macOS cache path / XDG_CACHE_HOME / empty DENO_DIR; Maven XML-comment stripping + skip-section depth; Cargo TOML header tolerance + dir-name version split; shared utils/fs::entry_is_dir follows symlinks. API client, commands & misc Proxy-url override honored on binary downloads; deterministic org/title/batch-flag selection; case-insensitive hash compare. USER_AGENT + telemetry version now track CARGO_PKG_VERSION (were stale 1.0/1.0.0). apply release-variant NotFound spurious-failure fix; get/scan/remove char-safe truncation (UTF-8 panic); setup/repair honest non-zero exit codes + failure telemetry; rollback no-op miscount; unlock released-snapshot; vex qualified PyPI/Gem/Maven PURL resolution. package.json: non-object root/scripts no-panic, workspace dedup, bare/deep glob support, inline-comment stripping, top-level key-order preservation (preserve_order). Smaller: deterministic list ordering, case-insensitive fuzzy_match tie-break, json_envelope status invariant + oldUuid, lock_cli sub-second timeout, VEX schema/product fixes. Tests Hundreds of regression tests added across all reviewed modules. Updated two stale e2e expectations that codified pre-fix behavior: repair_with_blob_404_marks_failure_in_summary → now asserts exit 1 (repair correctly fails on partial download failure). crawler_python_e2e missing/malformed-METADATA cases → now assert the dir-name fallback recovers the package (and a genuinely unparseable name still skips). Full suite green with --features cargo. Notes The 33 MB generated study-output/ (raw session logs + SUMMARY) is not committed; added to .gitignore. The audit harness scripts are committed for reuse in future studies. 🤖 Generated with Claude Code

Open Graph Description: Summary A repo-wide review where every source file in both crates was read line by line, the bugs found were fixed, and regression tests were added throughout. The audit harness that drove it is in...

X Description: Summary A repo-wide review where every source file in both crates was read line by line, the bugs found were fixed, and regression tests were added throughout. The audit harness that drove it is in...

Opengraph URL: https://github.com/SocketDev/socket-patch/pull/92

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:36f8a1fa-3462-9975-2378-ccd067d7a80e
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idBAE4:1691AA:219FFD7:2E03D05:6A4F37EE
html-safe-noncee45fece29e47455d28ac8df6228aa9659bc5f1da0ff4dce2d1c4198ac86b993e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQUU0OjE2OTFBQToyMTlGRkQ3OjJFMDNEMDU6NkE0RjM3RUUiLCJ2aXNpdG9yX2lkIjoiNDMzOTYwMzI0MzYyMzQ2Mjg5NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacd821a1d11ba29d3b4ea9868fd4a9083176888be6a4768d335b4dcdaa9b123298
hovercard-subject-tagpull_request:3769143476
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/SocketDev/socket-patch/pull/92/files
twitter:imagehttps://avatars.githubusercontent.com/u/231686?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/231686?s=400&v=4
og:image:altSummary A repo-wide review where every source file in both crates was read line by line, the bugs found were fixed, and regression tests were added throughout. The audit harness that drove it is in...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/SocketDev/socket-patch git https://github.com/SocketDev/socket-patch.git
octolytics-dimension-user_id69326764
octolytics-dimension-user_loginSocketDev
octolytics-dimension-repository_id1093661456
octolytics-dimension-repository_nwoSocketDev/socket-patch
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1093661456
octolytics-dimension-repository_network_root_nwoSocketDev/socket-patch
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release4b249b445842943ed31549e027f57a8ade9881ed
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/SocketDev/socket-patch/pull/92/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FSocketDev%2Fsocket-patch%2Fpull%2F92%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FSocketDev%2Fsocket-patch%2Fpull%2F92%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=SocketDev%2Fsocket-patch
Reloadhttps://github.com/SocketDev/socket-patch/pull/92/files
Reloadhttps://github.com/SocketDev/socket-patch/pull/92/files
Reloadhttps://github.com/SocketDev/socket-patch/pull/92/files
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
SocketDev https://github.com/SocketDev
socket-patchhttps://github.com/SocketDev/socket-patch
Notifications https://github.com/login?return_to=%2FSocketDev%2Fsocket-patch
Fork 0 https://github.com/login?return_to=%2FSocketDev%2Fsocket-patch
Star 3 https://github.com/login?return_to=%2FSocketDev%2Fsocket-patch
Code https://github.com/SocketDev/socket-patch
Issues 1 https://github.com/SocketDev/socket-patch/issues
Pull requests 1 https://github.com/SocketDev/socket-patch/pulls
Actions https://github.com/SocketDev/socket-patch/actions
Models https://github.com/SocketDev/socket-patch/models
Security and quality 0 https://github.com/SocketDev/socket-patch/security
Insights https://github.com/SocketDev/socket-patch/pulse
Code https://github.com/SocketDev/socket-patch
Issues https://github.com/SocketDev/socket-patch/issues
Pull requests https://github.com/SocketDev/socket-patch/pulls
Actions https://github.com/SocketDev/socket-patch/actions
Models https://github.com/SocketDev/socket-patch/models
Security and quality https://github.com/SocketDev/socket-patch/security
Insights https://github.com/SocketDev/socket-patch/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FSocketDev%2Fsocket-patch%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FSocketDev%2Fsocket-patch%2Fissues%2Fnew%2Fchoose
Mikola Lysenko (mikolalysenko)https://github.com/mikolalysenko
mainhttps://github.com/SocketDev/socket-patch/tree/main
audit/hardening-pass-v3.2.0https://github.com/SocketDev/socket-patch/tree/audit/hardening-pass-v3.2.0
Conversation 0 https://github.com/SocketDev/socket-patch/pull/92
Commits 2 https://github.com/SocketDev/socket-patch/pull/92/commits
Checks 42 https://github.com/SocketDev/socket-patch/pull/92/checks
Files changed https://github.com/SocketDev/socket-patch/pull/92/files
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
fix: repo-wide correctness, security & filesystem-safety hardening pass (v3.2.0) https://github.com/SocketDev/socket-patch/pull/92/files#top
Show all changes 2 commits https://github.com/SocketDev/socket-patch/pull/92/files
c536ffb fix: repo-wide correctness, security & filesystem-safety hardening pa… mikolalysenko May 29, 2026 https://github.com/SocketDev/socket-patch/pull/92/commits/c536ffb6260891bf65719340f49f73bcfd88078f
eca1e7a test: fix Windows-only file_hash directory-rejection assertion mikolalysenko May 29, 2026 https://github.com/SocketDev/socket-patch/pull/92/commits/eca1e7a4e9a0803ca8b4f0d3c991ed40b6b0e09e
Clear filters https://github.com/SocketDev/socket-patch/pull/92/files
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
.gitignore https://github.com/SocketDev/socket-patch/pull/92/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
CHANGELOG.md https://github.com/SocketDev/socket-patch/pull/92/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
Cargo.lock https://github.com/SocketDev/socket-patch/pull/92/files#diff-13ee4b2252c9e516a0547f2891aa2105c3ca71c6d7a1e682c69be97998dfc87e
Cargo.toml https://github.com/SocketDev/socket-patch/pull/92/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
args.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-08d6a874e759ddf99e7b180428e440a94146a1e79933ef5024c867ef0551ba08
apply.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-613e6131c3d7005ade62351d4f879e7c817bafdc2f6d6fdd87e2b259bebfb9bf
get.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ab141f0dfc26b35a483b70780ec703f5f1047866eaf1d3ccf9182fc5cdea164f
list.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-808f74b0c8422b914537c7fbdc380059d5bf4a4a60fe317d2d850a43a6448a8f
lock_cli.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-dd2638eae86291eacfd6f9af8bed482af1a37873d41257c49b0c94b39ebc98d1
remove.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-37716ed3bf0ced8c6011d60b918d7bf9ab7b8a118ce8245507dfe9332e54b27c
repair.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-cc48894cd3c0ab1d1fbdaae98591be3e7ab527d344e47eeafb2f7c0783391c35
rollback.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-49bed4b7989d1153ce40e98f6686a0343d4aef1e9a8f241abfb0d6e006cda233
scan.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-1883639b2a07e6683c0c3a298c8a3883c627db76c610a78bfe7c235d6d5dc916
setup.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-b7839b8c6a3cb91aa9d682cba53ffde01f7462ecdb06b7da1fe7b216172416a3
unlock.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ecef10cf60e54d7e6301dd8700ecfe3c8b92021d053b7e8f67fcdd3f1c0182ab
vex.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ecab475feab61cf3742e213a4bd84cdb48997e4f92486a31306ffd908875694d
ecosystem_dispatch.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-b4621fd545be96d70879527496ba97342c59039dfb7683fbf42fdd3396dce794
json_envelope.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-68353e126471798e14b168b1dfeb941398f9b2e6988b0ddda75b61c0e43e3dd4
lib.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-d4989724ce35f9d98a4444f57ad1c5aa8e4d19c2e55380b6cb39cf1e3139ffc8
output.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-a8e9e4c57528b415d663dbbd39a189ef703761f0f065bca86978b5617280f110
api_client_errors_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-0b00e008a8947941699791f32b25c9ef0b066f71105e9efeef48ea17367c1530
cli_global_args.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-e88cb338fd770f44ed8b4622a2090e5198b28a9c259cb4d2fa9bc3075b3c79b9
cli_parse_main.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ba439fdf562ce2b404bb37fb7edc0e7e15ffd8aa778bcf546ceb83952ed1737d
e2e_safety_cargo_build.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-32c25508204983dfc696059e353955f1277b0f34b866a16274bfc2eb943f309f
e2e_safety_internals.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-fdd3136605d8fb3836f18f87d66bfb5da72c0a4532039d2d1e09574a4b05d495
e2e_safety_unlock.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-3daf69330024a86185de2d675e8aa3f7cf26bfde6e5f306d39fbf55f2ab28b18
e2e_vex.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-8906dabcada957eb488b378179fd6cd2952ac9bb2060d302c9b3f0ef3090fe1c
in_process_remove_repair_lifecycle.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-b0b6649d535956fd73980e26db76e2581b70a1cd1a2ca40f28631b1ac6efad03
remove_network.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-5f71229de75166b8f21b67e8380532ab2a1f4602afda568fac82fbb83ad70202
repair_invariants.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-b158c4b27a860f7cc6022200818c5c5bbb610f4efee2193ed684a8b32ac88f39
setup_invariants.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-8328057aa6fe2f38faff7f868d1714ee94bb0c56237713cca2a6c37e7f1c2215
blob_fetcher.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-00490d96a8b2f80de48f84a6d71170d2f0450b3ba6edc48c1b92daad1eeed538
client.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-652ed2c2a64b0ce6c9a28de4700183473d9a456a105a06c6e0e1ab5251dfad0c
types.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-71ff35a082370fff6342b23c35735cd64fe46eac5ec389154936e98e4ba22846
constants.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-2aae0100504ba46de40cd316d42c258e25d0e5a530da6d224c28b860f887b6f9
cargo_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-1a317504c32fe95cea02290af89169a34e9a79c664ce03b0a5d81aaf2fd4fe01
composer_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-d7f703023d5e51cb886f35e4dab6ad0ec64873ff176adaf04a0e88cd28f7f360
deno_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-b4685b84a828536009179b5f1ae43047e478c53419c7c20238d0c96e32a873ce
go_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-1a58273da7581c22961a473cab41daf27b97d824b64ace3330c9ffd1d76a4b08
maven_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-6f8bf895d8a7baeaf1913ea7fdb408274063fb7427a9d448cf5aa16a4993f706
mod.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-071b88c00b64309954affdcc1b58fd7f276e52649fe4c4a36683c5fb34e2c3e5
npm_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-8957f190b6cf737d6d893158711b8df1d2f75c27530dfb60ef1ce6c4aa30cef6
nuget_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-be30ff5ed3df7f9707a0a9bd220d794b1c4d09eb26b46e4c34f82d85f22969f4
pkg_managers.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-c578ff0ace64f94d099cb519f51a1f4d7abb7a6abc8e1a9cbfb001d82263b320
python_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-6c0fb8e446c6867e45cdef6f09ee0183bb32c472ba7e12f259a6bb99b30477a5
ruby_crawler.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-7bc7bac102e76bb7bfa54763158bc5a9e0e4e6ea96de36656a39d499a724cbf3
types.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-4c066db7874eab1bc3409140d19b2abdb8569c936d6819a6bc1a1b21c009b4fe
git_sha256.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-84d649f6205cadddff331a8b9a89fbe5448ee8901877e78384b5696d222148e5
operations.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-412872bbcaf0808c9201a327034774848091983c7a6995ca91dbff80b89d2917
schema.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-6db8433b1353901f24acd4177d3595cc854eb6eb44b9d96717dcebae5402d184
detect.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ae0a461f5a7e05fedb5cb5ca5b0f69aae01bfc874b092fee5b984649b30a037b
find.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-cdbfc08c533333c2025ec99adf72d3c8b280684e503850ec2d254e07430cc7d9
update.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-dd35e6ae0265856ef73f5c8424db68eb9e75b8c704a0089b26e10ee9f6c89ed2
apply.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-fb7cb956a53ea36114f8f20652934dd030bd001b5df3f530da11b60dd09062ac
apply_lock.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-866deddf33cd7bc5ad0e6be3b8c4cb2d9501a91b8fb8a1706fde8ad418964f3d
cow.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-20f01829dba6883ebc1b7237316b4ee2fe736711c8cd25dc0ddcd5ff83bdac38
diff.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-05c7a8c40952834af2ad91225a610e9549834e3bd8acadede010c692196a9c50
file_hash.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ae2f231ca9d2d770911fbe59e32b83ee4cba5b960f37004394b689329cf4416b
package.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ba8091efa0ef15ed7b531867f314339be01d365f32797bef73a3d2a02e7dbf9b
rollback.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-c1e7b5377b7d132e84bd166c66c950636159f4046ddf58ebe3d031b982aa5477
cargo.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-57f19c19dd6eeec5e1cd144b28bd6245b8b4a5b741a39834854fdd8897e0c626
mod.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ba23c1ef5eaa7ab91ff5b67ac2fa050d4be913aea7ad1006233dc14451759f5d
nuget.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-5008e8311593b538c0508755baf7d2e339146d76f4881f1a2ca65b61d21a1f6a
types.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ce6933d32cbfc8a01a50dcb51cd19a5d12dcd38aaf2a90cfb947576cc519ad85
cleanup_blobs.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-f8b140336400afbbbfac403cd4363062637f075f677ac1273e492813030fb9e8
env_compat.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-e366efa33f3748ea3fca1beb7cacbd9c30a2980d8cec040326f2d966d68f0e1a
fs.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-57860e37dbbcf431cf45bb6bec3399208a0adcbebad17bd6248a49de9f12daeb
fuzzy_match.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-60ebcc6bf5f3cd044cbe3336bf4f05db520591a49708b9e4bb4d878254b6da98
process.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-b86977473edd29cfd94da7d69760e774511351e5d8a19c14a4f6031e355b08bb
purl.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-5651fb9d401076a7024852d17da62e877b12d3db0a6fd2d31ca920a6eb3ad702
telemetry.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-ae93ad10cb6df2b6812e021c9170bf85fea1cad3e0940d1b47caccbe9508b22b
build.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-fbccc527b099c2dd8230de309b9fa9ad297c6a1dae95d2b6632c4b1fa0af9a4b
conformance_tests.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-125878be2082a9cf00ec6645106bebe56797ec79a493ff22c52f99b99652d3d7
mod.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-bc6856cd2bc7df699fb6938500ff7d18596e49b12a032b99dfbf075329763e49
product.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-2a81fcc6ae0b19fabc3cfe2590ec2f840e20827705e0640ba18f6d839726be25
schema.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-812c5e8f683af1217745945563baa47a0a2387b3b956597b4571dd198f7894a1
time.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-75cacd4ffe080c24303590b576874e3135efe51502ad469de5fe1278d2917432
verify.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-d4cb1e5db556f907647bba4c41412a2deb9f4c0ecfcd452b415f0c3f5f7468df
blob_fetcher_edges_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-993176979a5c4780849017c165403e3feb5678e4fa7655287d6c62a0752fffa1
mod.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-3751b07dd989810b657db9f4dd0453ee552f02fce89094e66493a367fee3eea6
crawler_cargo_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-05b473142f4ad0d819893f0066402137cb84a32a923340b498539b752f84adab
crawler_composer_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-f8807f72eb98768e55346ada845ca5421b3f16ef86b11f6b6a7363f60d7bf833
crawler_deno_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-cff85424f59c309cc049bb7b1813f2e8c2ddc74be35fc0e1252e09e5e036f2ff
crawler_go_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-2a618379726a0c87151166c667bb15d31c52e47dc99cd8a61155534f420dd6a6
crawler_maven_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-414b00e255149b29adb36e114a74ae35e01b93f94017a9f4d55cf57e3a49f4d4
crawler_npm_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-e5a5f8653ed5ea18f021e45124f55b27e41c08bd7f20483af7ab673a550442cf
crawler_nuget_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-5aed5977de4b813d10d8428c42f1df3a0e04059415dc012294820188b5e6d35d
crawler_python_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-e7ccb1c4c73edd333db60c82d909e6b37d6a1c32a8d726a1836b4c7eec77770e
crawler_ruby_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-9f38871923b2d512681f369e060f38929ed54b51d790211670a52892c753fea6
crawlers_empty_paths_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-61d58f31eb42a60c1cd38d4c498d9f9f035b52ba1c2a6c9967b4be3f27957df9
fuzzy_match_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-8e6b7875a83879738a1222409cdbac6abca76866256b744c5a26831f390d8b0d
package_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-0b897e126347177cb4ba618529e9869652caab4e4d4efe3b52a82c72fe75fbd3
rollback_new_file_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-0ed790fcfb22deb4a43a364d5ccb5a408df4843cca0a2032627e0dc49b9d6b43
telemetry_helpers_e2e.rs https://github.com/SocketDev/socket-patch/pull/92/files#diff-28c36a65d5cf708680295ce7fa68c2779685f5d8cfd170759525e9b0afd2086f
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-1cb760691855572d34e7acfcae3d2172362fd24e606e5e784978ffcff457a7e1
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-ac009a30804ac5f44392fcf5231119ad3a58624c5463692c65cd465ee40c2f5d
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-76389b180e98fd8f5e31f70290b67ef108fcc4c4ac84bca381d71ac74ac4be19
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-79f4e13ee7ab412e53f752c31aac58da49cb034803be463d28c74de56670d190
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-655249be2f586d496ebdd23535c62c7325387beb1a39a1ec021523855ebcf7e8
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-2465f3728e9b114f7c6b80d2455fcac326310ceb23b581af558797cd22ee727f
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-6d87f6bd5c32bb62f0ab65128ba99f9921a876801ec4342692a49f5981b9c11b
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-710591946c27d0929e6dec64eee13761a229cd1b0fb0f35dd1d67c13c0bf9b1d
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-177ea479df8127557283cedacf119ce30fa5ae7e1f4aeb3ab102d54805c24b41
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-226284efd0c8ac1aa7f0556f81d82694e5a46c0bded0a7170d84c8b483a8db91
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-272487506ef9d5ae857ac7b3ada3682842189fbd9dc7aa067d7e4cbef0a6c482
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-d73cfc02ed8c9388fb0fb39804e4d32352eb3aded451e0582cafe8d5dd26dd52
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-eea985f60a1ce1cd924a3e25b0480ff76eeec6379635ed2658b683f118e50a2a
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-ddab3fbc93620a892e37c50741c1a3d4b761a0a704a23cd96e270850838da86b
package-lock.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-ebf62622d1f239139c0069ddde05a5742c1ce6b5ea7c4e1cc242c65f9a671a76
package.json https://github.com/SocketDev/socket-patch/pull/92/files#diff-e303b4a25fd05c60a664eb6ea4180208292d4caea8c2622e07f236544e66e03a
pyproject.toml https://github.com/SocketDev/socket-patch/pull/92/files#diff-84bfdd7a683a531ddbc66313fc90931e202a4d9af7cabf629688119db43b6d58
fix-bugs.config.example.ts https://github.com/SocketDev/socket-patch/pull/92/files#diff-f48b43cfc1496aca999abae7d1368493f730ca6251dab58673cecfb564e68a74
fix-vuln.config.ts https://github.com/SocketDev/socket-patch/pull/92/files#diff-c2d5f4fb2d81a6416fecd807a01783b570a27dc31a6afa19bc50481b43fecb55
study-crates.ts https://github.com/SocketDev/socket-patch/pull/92/files#diff-6b517fd4a4d91ad19c6a1fbada7ed83b21a902a4a57cef5b8f0c015bc38c3db6
.gitignorehttps://github.com/SocketDev/socket-patch/pull/92/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://github.com/SocketDev/socket-patch/blob/eca1e7a4e9a0803ca8b4f0d3c991ed40b6b0e09e/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/SocketDev/socket-patch/pull/92/{{ revealButtonHref }}
https://github.com/SocketDev/socket-patch/pull/92/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
CHANGELOG.mdhttps://github.com/SocketDev/socket-patch/pull/92/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
View file https://github.com/SocketDev/socket-patch/blob/eca1e7a4e9a0803ca8b4f0d3c991ed40b6b0e09e/CHANGELOG.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/SocketDev/socket-patch/pull/92/{{ revealButtonHref }}
https://github.com/SocketDev/socket-patch/pull/92/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
https://github.com/SocketDev/socket-patch/pull/92/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
Cargo.lockhttps://github.com/SocketDev/socket-patch/pull/92/files#diff-13ee4b2252c9e516a0547f2891aa2105c3ca71c6d7a1e682c69be97998dfc87e
View file https://github.com/SocketDev/socket-patch/blob/eca1e7a4e9a0803ca8b4f0d3c991ed40b6b0e09e/Cargo.lock
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
Cargo.tomlhttps://github.com/SocketDev/socket-patch/pull/92/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
View file https://github.com/SocketDev/socket-patch/blob/eca1e7a4e9a0803ca8b4f0d3c991ed40b6b0e09e/Cargo.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/SocketDev/socket-patch/pull/92/{{ revealButtonHref }}
https://github.com/SocketDev/socket-patch/pull/92/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://github.com/SocketDev/socket-patch/pull/92/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
crates/socket-patch-cli/src/args.rshttps://github.com/SocketDev/socket-patch/pull/92/files#diff-08d6a874e759ddf99e7b180428e440a94146a1e79933ef5024c867ef0551ba08
View file https://github.com/SocketDev/socket-patch/blob/eca1e7a4e9a0803ca8b4f0d3c991ed40b6b0e09e/crates/socket-patch-cli/src/args.rs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/SocketDev/socket-patch/pull/92/{{ revealButtonHref }}
https://github.com/SocketDev/socket-patch/pull/92/files#diff-08d6a874e759ddf99e7b180428e440a94146a1e79933ef5024c867ef0551ba08
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/92/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.