CCExtractor / CCExtractor/taskwarrior-flutter

Sensitive Credentials Stored in Plain Text Files Without Encryption

Đang mở
#645 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.