chore: Update compiler flags for security enhancements#243
chore: Update compiler flags for security enhancements#243deepin-bot[bot] merged 1 commit intolinuxdeepin:masterfrom
Conversation
As title Log: Update compiler flags for security enhancements Bug: https://pms.uniontech.com/bug-view-342665.html
deepin pr auto review这份代码修改主要针对编译构建系统(CMake 和 qmake)进行了安全加固(Hardening)的配置。以下是对这两处修改的详细审查意见,包括语法逻辑、代码质量、代码性能和代码安全方面的分析。 1. CMakeLists.txt 修改审查修改内容概述: 1.1 语法逻辑
1.2 代码质量
1.3 代码性能
1.4 代码安全
改进建议:
2. reader/reader.pro 修改审查修改内容概述: 2.1 语法逻辑
2.2 代码质量
2.3 代码性能
2.4 代码安全
改进建议:
3. 综合总结与建议这份 diff 的主要目的是引入编译时和链接时的安全加固选项,整体方向非常正确且必要。 主要优点:
需要改进的点:
推荐的 CMakeLists.txt 片段优化: if(CMAKE_BUILD_TYPE STREQUAL "Release")
message(STATUS "Enable build hardening.")
# set(CMAKE_VERBOSE_MAKEFILE ON) # 建议根据需要单独开启
set(HARDENING_FLAGS "-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=${CMAKE_SOURCE_DIR}=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIE")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${HARDENING_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${HARDENING_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro -Wl,-z,now -pie")
endif()推荐的 reader.pro 片段优化: # 安全编译参数 - 仅保留编译器相关的
QMAKE_CFLAGS += -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIC -fPIE -O2
QMAKE_CXXFLAGS += -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIC -fPIE -O2
# 安全链接参数 - 将所有 -z 参数移至此处
QMAKE_LFLAGS += -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lzwind, wangrong1069 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/merge |
| QMAKE_CFLAGS += -fstack-protector-strong -D_FORTITY_SOURCE=1 -z noexecstack -pie -fPIC -z lazy | ||
| QMAKE_CXXFLAGS += -fstack-protector-strong -D_FORTITY_SOURCE=1 -z noexecstack -pie -fPIC -z lazy | ||
| QMAKE_CFLAGS += -fstack-protector-strong -D_FORTITY_SOURCE=1 -z noexecstack -pie -fPIC -z lazy -D_FORTIFY_SOURCE=2 -O2 | ||
| QMAKE_CXXFLAGS += -fstack-protector-strong -D_FORTITY_SOURCE=1 -z noexecstack -pie -fPIC -z lazy -D_FORTIFY_SOURCE=2 -O2 |
There was a problem hiding this comment.
@wangrong1069 把 -D_FORTITY_SOURCE=1 删了吧, 这个本来就是拼写错误 linuxdeepin/developer-center#4292
As title
Log: Update compiler flags for security enhancements
Bug: https://pms.uniontech.com/bug-view-342665.html