
Xcode 프로젝트 파일에서 발생할 수 있는 보안 문제를 스캔하는 macOS 앱입니다.
XcInspector는 Xcode 프로젝트 파일에서 발생할 수 있는 보안 문제를 스캔하기 위한 macOS 앱이자 명령줄 도구입니다.
Xcode 프로젝트가 보안과 프라이버시를 침해하는 데 악용될 수 있는 몇 가지 방법이 있습니다.
이 도구는 Xcode 프로젝트와 관련된 몇 가지 알려진 위험을 포착하려는(보장하지는 않는) 노력의 일환입니다.
참고: XcInspector는 소스 파일(Swift, Objective-C 등)의 코드에서 발생하는 보안 문제를 스캔하지 않습니다. 이는 이 프로젝트의 범위를 벗어나는 별개의 문제입니다.
XcInspector는 macOS용 앱과 명령줄 도구로 모두 제공됩니다. 둘 다 “알파” 상태로, 사용은 가능하지만 여전히 다소 투박하고 불완전합니다.
아직 다운로드 가능한 패키지가 없으므로, 이 프로젝트의 소스에서 Xcode를 사용하여 도구를 컴파일하고 빌드해야 합니다.
프로젝트와 소스는 XcInspector 디렉터리에 있습니다.
단위 테스트와 UI 테스트에서 사용하는 샘플 파일(
TestSamples디렉터리)에 Xcode 프로젝트 파일—의도적으로 잘못된 형식의 파일도 포함—이 들어 있기 때문에 여기에 하위 디렉터리를 사용합니다. 이러한 파일을 프로젝트 디렉터리에 두면 Xcode가 혼란스러워집니다 (직접 겪으면서 알게 되었습니다).
~/Library/Developer/Xcode/DerivedData)XcodeProjectSecurity로 시작하고, 뒤에 무작위로 보이는 문자가 잔뜩 붙은 디렉터리가 있을 것입니다.Build/Products/Debug로 이동합니다.XcInspectorApp.app을 찾을 수 있습니다.~/Library/Developer/Xcode/DerivedData)XcodeProjectSecurity로 시작하고, 뒤에 무작위로 보이는 문자가 잔뜩 붙은 디렉터리가 있을 것입니다.Build/Products/Release로 이동합니다.xcinspector 파일을 찾을 수 있습니다./usr/local/bin).Xcode 프로젝트를 스캔하려면 앱의 “File” 메뉴에서 “Open…” 명령(⌘-O)을 선택합니다. 그런 다음 Xcode 프로젝트 파일(.xcodeproj)이 들어 있는 디렉터리를 선택하고 “Open” 버튼을 누릅니다.
가능한 문제가 몇 개 발견되었는지 알려주는 보고서 창이 나타납니다. 보고서 창에는 식별된 각 문제가 나열되며, 특정 파일과 (해당되는 경우) 문제가 발생한 줄 번호도 포함됩니다.
명령줄 도구가 접근 가능한 위치(예: /usr/local/bin)에 있는지 확인합니다.
도구 실행 시 사용할 수 있는 옵션에 대한 안내를 보려면 다음 명령을 사용합니다: xcinspector --help
일반적으로 프로젝트 디렉터리 경로 또는 프로젝트 파일(.xcodeproj) 자체를 전달하여 주어진 Xcode 프로젝트에 대한 보고서를 얻을 수 있습니다.
예: xcinspector /User/me/Projects/MyApp
결과 보고서는 터미널(stdout)로 출력되며, Xcode 경고 형식(filepath:linenumber:(error|warning|note):message)입니다.
문제가 발견되지 않으면 보고서는 비어 있습니다(빈 줄만 출력됩니다).
선택적으로 보고서 끝에 요약을 포함할 수 있습니다(문제가 발견되지 않아도 표시됩니다).
xcinspector --stats path/to/project 또는 xcinspector -s path/to/project
발견된 문제에 대한 확장 세부 정보를 선택적으로 포함할 수도 있습니다.
(현재는 내장 스크립트가 발견되었을 때 해당 스크립트의 텍스트만 표시합니다.)
xcinspector --details path/to/project 또는 xcinspector -d path/to/project
이 도구가 몇 가지 가능한 보안 위험을 식별하는 데 도움이 될 수 있지만, 특정 Xcode 프로젝트나 그 파생 제품의 안전성을 어떠한 방식으로도 보장할 수 없습니다.
이 소프트웨어를 사용함으로써, 귀하는 사용하거나 공유하는 모든 Xcode 프로젝트의 보안을 보장할 전적인 책임이 귀하에게 있음에 동의하며, XcInspector의 모든 저자, 기여자 또는 배포자를 어떠한 책임이나 의무로부터 면제합니다.
Copyright ©2023-2024 Grant Neufeld, et.al.
이 프로젝트의 소스 코드는 Mozilla Public License, v. 2.0의 조건에 따라 제공됩니다.
라이선스 파일은 프로젝트 파일에 포함되어 있습니다.