CCExtractor / CCExtractor/taskwarrior-flutter
Sensitive Credentials Stored in Plain Text Files Without Encryption
- Ngôn ngữ chính
- Dart
- Star
- 244
- Fork
- 179
- Merge trung bình
- 12 giờ 42 phút
- Pull request đã merge (30 ngày)
- 2
Mô tả
### Describe your issue
The application stores sensitive credentials such as clientId and encryptionSecret in plain text files inside the local file system (profiles/{profile}/). These files are not encrypted, making the data vulnerable if the device is compromised (e.g., rooted Android or jailbroken iOS).
Although SharedPreferences is used, it only stores the base directory path. The actual issue lies in insecure file storage of sensitive data.
This can lead to unauthorized access, credential leakage, and potential misuse of backend APIs.
### Steps to reproduce
Install and run the application
Login or initialize credentials storage
Navigate to the app’s local storage directory
**Open the path:**
/profiles/{profile}/taskc_client_id
/profiles/{profile}/taskc_client_secret
Observe that credentials are stored in plain text
### What was the expected result?
Sensitive credentials should be stored securely using encrypted storage mechanisms such as:
Secure Keychain (iOS)
Android Keystore
Or encrypted storage solutions
Credentials should not be directly readable from the file system.
### Put here any screenshots or videos (optional)
_No response_
### How can we contact you (optional)
_No response_
### Would you like to work on this issue?
Yes
### By submitting this issue, I have confirmed that:
- [x] I have starred the repo ⭐ and watched 👀 it on GitHub and followed the contribution guidelines.
Hướng dẫn đóng góp
Hướng nghiên cứu
Xác định mã lưu trữ thông tin xác thực ghi vào profiles/{profile}/taskc_client_id và profiles/{profile}/taskc_client_secret, sau đó theo dõi sự khác biệt trong cách lưu trữ trên Android và iOS. Xem xét việc sử dụng SharedPreferences hiện có và các tùy chọn lưu trữ an toàn của nền tảng; công việc được xem là hoàn tất khi thông tin xác thực được mã hóa hoặc được giữ trong bộ nhớ lưu trữ an toàn của nền tảng, thay vì có thể đọc trực tiếp từ hệ thống tệp cục bộ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- dart, flutter
- Lĩnh vực
- mobile-dev, security
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100