cyphar/filepath-securejoin
Proposed filepath.SecureJoin implementation
🔒 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.
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
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...
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Free domain registration and practical DNS learning resources for everyone.
Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥