Skip to content

[SWE-Paddle] Add task PaddlePaddle__Paddle-79057#1410

Open
Echo-Nie wants to merge 3 commits into
PaddlePaddle:masterfrom
Echo-Nie:PR79057
Open

[SWE-Paddle] Add task PaddlePaddle__Paddle-79057#1410
Echo-Nie wants to merge 3 commits into
PaddlePaddle:masterfrom
Echo-Nie:PR79057

Conversation

@Echo-Nie

@Echo-Nie Echo-Nie commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

关联

@sunzhongkai588

说明

新增 SWE-Paddle 任务 PaddlePaddle__Paddle-79057

该任务覆盖 RestrictedUnpickler 的 MRO 安全校验问题:user-defined class 可能继承 unsafe pickle hooks,并绕过原有的 safe-class check。

验证矩阵

状态 现有安全策略 P2P 继承类 F2P 受限加载 F2P tests/test.sh
Base + tests/test.patch PASS FAIL,符合预期 FAIL,符合预期 FAIL,符合预期
Base + test patch + solution/code.patch PASS PASS PASS PASS

Base 验证

P2P:现有安全策略

.                                                                        [100%]
1 passed in 0.26s

F2P:继承类安全判定

E   AssertionError: True is not false

SUBFAILED(method='__reduce__')
SUBFAILED(method='__reduce_ex__')
SUBFAILED(method='__getstate__')
SUBFAILED(method='__setstate__')

4 failed, 1 passed in 0.43s

F2P:受限反序列化入口

>       with self.assertRaises(pickle.UnpicklingError):
E       AssertionError: UnpicklingError not raised

FAILED test/legacy_test/test_restricted_unpickler_mro.py::TestRestrictedUnpicklerMRO::test_inherited_setstate_payload_is_blocked
1 failed in 0.43s

Base 完整任务脚本

5 failed, 2 passed in 0.35s
Base tests/test.sh exit code: 1

Solution 验证

应用 solution/code.patch 后,目标生产文件的 Git blob 与上游 Gold commit 完全一致:

Expected Solution blob: b8e3eeb659b6c15b3275a3a790d83b81491c31b9
Actual Solution blob  : b8e3eeb659b6c15b3275a3a790d83b81491c31b9
Solution blob match   : 0

独立测试

Solution P2P:
1 passed in 0.24s

Solution inherited-class:
1 passed, 4 subtests passed in 0.25s

Solution restricted-load:
1 passed in 0.27s

Solution 完整测试

...                                                                  [100%]
3 passed, 4 subtests passed in 0.29s

@paddle-bot

paddle-bot Bot commented Jul 16, 2026

Copy link
Copy Markdown

你的PR提交成功,感谢你对开源项目的贡献!
请检查PR提交格式和内容是否完备,具体请参考示例模版
Your PR has been submitted. Thanks for your contribution!
Please check its format and content. For this, you can refer to Template and Demo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant