Back to Trending
RepositoryGo
cyphar

cyphar/filepath-securejoin

Proposed filepath.SecureJoin implementation

113stars
23forks
3issues
0views

🔒 filepath-securejoin: Kết hợp đường dẫn an toàn trong Go, tránh symlink và TOCTOU

Một thư viện Go cung cấp SecureJoin an toàn, ngăn chặn các cuộc tấn công TOCTOU và hỗ trợ kernel APIs mới như openat2.

filepath-securejoin là một thư viện Go được đề xuất để triển khai filepath.SecureJoin – một phiên bản an toàn hơn của filepath.Join, giới hạn việc tìm kiếm đường dẫn trong một thư mục gốc. Dự án ban đầu dựa trên mã nguồn từ các runtime container, nhưng API cũ bị đánh giá là không an toàn trước các cuộc tấn công TOCTOU. Vì vậy, phiên bản mới đã được phát triển với sự hỗ trợ của kernel APIs như openat2, fsopen và open_tree.

✨ Điểm nổi bật

  • SecureJoin: Kết hợp đường dẫn an toàn trong thư mục gốc, mở rộng symlink.
  • TOCTOU-safe: Tránh các cuộc tấn công thời gian thực (TOCTOU) trên hệ thống tệ tin.
  • openat2: Sử dụng API mới của kernel để hạn chế duyệt qua magic-links và bind-mounts.
  • RESOLVE_IN_ROOT: Giải quyết symlink hiệu quả trong rootfs.
  • Chống /proc độc hại: Phòng chống lừa đảo từ /proc không hợp lệ.
  • OpenInRoot: Mở tệp an toàn trong thư mục gốc, tránh các cuộc tấn công chủ quyền.
  • MkdirAll: Tạo thư mục an toàn trong thư mục gốc với chế độ kiểm soát truy cập.

💡 Vì sao đáng chú ý

filepath-securejoin khác biệt từ các giải pháp truyền thống bằng cách sử dụng các API kernel mới như openat2, giúp tăng cường bảo mật chống lại các cuộc tấn công phức tạp. Đặc biệt, thư viện này hỗ trợ cả người dùng mới và người dùng kế thừa, đồng thời khuyến nghị chuyển sang libpathrs cho các tính năng nâng cao hơn. Phù hợp cho các ứng dụng yêu cầu bảo mật cao trong môi trường Linux.


#Go #Security #Filesystem #Symlink #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryGo
avelino/awesome-go

A curated list of awesome Go frameworks, libraries and software

190.6k
Oct 26, 2026
RepositoryGo
ollama/ollama

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

185.0k
Oct 27, 2026
RepositoryPython
practical-tutorials/project-based-learning

Curated list of project-based tutorials

288.2k
Oct 26, 2026
Modelsentence-similarity
sentence-transformers/all-MiniLM-L6-v2

all-MiniLM-L6-v2 This is a sentence-transformers(https://www.SBERT.net) model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search. Usage (Sentence-Transformers) Using t...

♥0
190.8M
Jun 1, 2026
RepositoryC++
tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

201.2k
Oct 24, 2026
RepositoryGo
golang/go

The Go programming language

139.5k
Oct 24, 2026
RepositoryTypeScript
nilbuild/developer-roadmap

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

370.5k
Oct 27, 2026
RepositoryMarkdown
DigitalPlatDev/FreeDomain

Free domain registration and practical DNS learning resources for everyone.

206.0k
Aug 12, 2026
RepositoryTypeScript
firecrawl/firecrawl

Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥

196.0k
Oct 27, 2026