从安全分析中获取警告 "Remove the compiler option -rpath to remove @rpath"
Getting warning from security analysis "Remove the compiler option -rpath to remove @rpath"
我已经为我的 IOS 应用程序进行了质量扫描分析。我收到以下警告:
The binary has Runpath Search Path (@rpath) set. In certain cases an attacker can abuse this feature to run arbitrary executable for code execution and privilege escalation. Remove the compiler option -rpath to remove @rpath.
我搜索了 @rpath
并在我的 pod-framework.sh
和下面的代码中找到了:
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\/\(.+dylib\).*/\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
我可以删除这段代码吗?它会影响我的项目吗?
提前致谢。
鉴于 Xcode 7 已超过五年,并且至少 Xcode 11 是应用商店提交所必需的,删除该代码似乎是安全的。
但是,鉴于脚本代码不应该是 运行,二进制文件中的 @rpath
可能来自其他地方。
你可以使用 this tool 来分析你的 apk 或 ipa 文件或通过 cli 进行检查:
unzip MyApp.ipa
cd Payload/
cd MyApp.app/
otool -L MyApp | head -n 30
~unzip MyApp.ipa
~ cd Payload/
~ cd MyApp.app/
~ otool -L MyApp | head -n 30
browser
cli
我已经为我的 IOS 应用程序进行了质量扫描分析。我收到以下警告:
The binary has Runpath Search Path (@rpath) set. In certain cases an attacker can abuse this feature to run arbitrary executable for code execution and privilege escalation. Remove the compiler option -rpath to remove @rpath.
我搜索了 @rpath
并在我的 pod-framework.sh
和下面的代码中找到了:
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\/\(.+dylib\).*/\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
我可以删除这段代码吗?它会影响我的项目吗?
提前致谢。
鉴于 Xcode 7 已超过五年,并且至少 Xcode 11 是应用商店提交所必需的,删除该代码似乎是安全的。
但是,鉴于脚本代码不应该是 运行,二进制文件中的 @rpath
可能来自其他地方。
你可以使用 this tool 来分析你的 apk 或 ipa 文件或通过 cli 进行检查:
unzip MyApp.ipa
cd Payload/
cd MyApp.app/
otool -L MyApp | head -n 30
~unzip MyApp.ipa
~ cd Payload/
~ cd MyApp.app/
~ otool -L MyApp | head -n 30
browser cli