BUG UnicodeReplacementConverter writes characters outside the BMP as invalid five-digit \u escapes
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Đọc UnicodeReplacementConverter và so sánh đầu ra của nó với JsonStringConverter, vốn đã xuất ra cặp surrogate như mong đợi theo issue. Tái hiện bằng đoạn mã Python được cung cấp, sử dụng một emoji, và xác nhận các ký tự BMP vẫn giữ đầu ra hiện tại. Hoàn tất khi các ký tự ngoài BMP được biểu diễn dưới dạng các cặp surrogate UTF-16 hợp lệ và kết quả tái hiện được giải mã thành văn bản ban đầu.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
UnicodeReplacementConverter formats each character as \u{ord(ch):04x}. :04x is a minimum width, so a character outside the Basic Multilingual Plane (emoji, many CJK extension characters, math alphanumerics) gets five or six hex digits. A \u escape holds exactly four in JSON, JavaScript, Java and Python, so the output decodes to a different character followed by a stray digit.
To Reproduce
import asyncio, json
from pyrit.converter import UnicodeReplacementConverter
out = asyncio.run(UnicodeReplacementConverter().convert_async(prompt="hi 😀")).output_text
print(out) # hi ὠ0
print(json.loads(f'"{out}"')) # hi ὠ0
Expected behavior
😀 is written as its UTF-16 surrogate pair, 😀, which is what JsonStringConverter already emits for the same character. BMP characters keep their current output.
Version
main at 60c3386a, Python 3.11, Windows.
- Ngôn ngữ chính
- Python
- Star
- 4.6k
- Fork
- 944
- Merge trung bình
- 2 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 358
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/PyRIT
-
BUG: label queries only return the final conversation of an attackCó thể đã có người làm @u7k4rs6 đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
microsoft/PyRIT#3095 · 4 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
BUG Configuration keeps runtime-status errors after polling recoversCó thể đã có người làm @joeyvictorino đã nhận 6 ngày trước. Đang mởBug: triage GUI help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
microsoft/PyRIT#2868 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
FEAT: Support PDF and file inputs via `binary_path` in OpenAI chat and response targetsCó thể đã có người làm @PranavD2905 đã nhận hôm nay. Đang mởfeature-request help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
microsoft/PyRIT#3274 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
feature-request
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của microsoft/PyRIT
Issue tương tự
-
bot-triaged module: LrScheduler module: optimizer triaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation glm5 llm-model
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
vllm-project/vllm-ascend#19062 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Author Page: shuai-zhao-llmĐang mởauthor-page correction
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
acl-org/acl-anthology#10496 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Issue Type: Bug Report
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
celery/celery#10875 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
SasanLabs/VulnerableApp#836 ·
Maintainer thường phản hồi trong vòng 1 ngày