Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SFPolDevChk — Salesforce 정책 편차 검사기 | Kitploit
도구/GitHubGitHub/nccgroup/sfpoldevchk
Cloud Infrastructure SecurityConfiguration AuditingCloud SecurityIdentity & Access Management (IAM)Misconfiguration
GitHubnccgroup/sfpoldevchk

SFPolDevChk

Salesforce 정책 편차 검사기

저장소 보기
3045년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Salesforce Policy Deviation Checker

NCC Group Plc가 오픈소스로 공개 - https://www.nccgroup.com/

Jerome Smith(@exploresecurity)가 개발 Stephen Tomkinson(@neonbunny9)에게 감사

https://www.github.com/nccgroup/SFPolDevChk

AGPL 라이선스로 배포됨 - 자세한 내용은 LICENSE를 참조하세요.

설명

Salesforce에서는 최상위 Organization 레벨에서 설정된 비밀번호 정책과 세션 설정이 Profile 레벨의 설정으로 재정의될 수 있습니다. 이는 의도된 설계이지만, Profile 내에서 이러한 영역을 변경하면(나중에 Organization 설정과 일치하도록 되돌리더라도) 해당 Profile이 Organization과 동기화되지 않는 상태가 됩니다. 즉, 이후 Organization 레벨에서 비밀번호 정책과 세션 설정이 변경되어도 더 이상 이러한 Profile에는 전파되지 않습니다. 시간이 지나면서 Profile이 추가되고 복사됨에 따라 특정 사용자 집합에 대해 의도하지 않은 잘못된 구성이 발생할 수 있습니다. SFPolDevChk는 이러한 방식으로 동기화가 해제된 Profile을 식별하고, 각 Profile의 비밀번호 정책과 세션 설정을 검토하여 Organization 레벨에서 설정된 값과의 차이점을 강조 표시합니다.

사용법

요구 사항:

  • Python 3
  • Python requests 모듈(requirements.txt에 포함됨)
  • 다음 최소 권한을 가진 사용자 계정:
    • API Enabled
    • View Setup and Configuration
    • Modify Metadata Through Metadata API Functions(아래 참고 사항 확인)
  • 이 계정의 비밀번호
  • 이 계정의 보안 토큰(정의된 네트워크 액세스 범위 밖의 IP 주소에서 접근하는 경우). 자세한 내용은 https://help.salesforce.com/articleView?id=user_security_token.htm&type=5를 참조하세요.

자격 증명이 콘솔 기록에 남지 않도록 JSON 구성 파일을 생성하세요:

root@kitploit:~
{
	"hostname": "somewhere.my.salesforce.com",
    "username": "",
	"password": "",
	"token": "<optional token>"
	"debug": <optional debug level (0, 1 or 2)>
}

그런 다음 실행하세요:

root@kitploit:~
git clone https://github.com/nccgroup/SFPolDevChk
pip install -r requirements.txt
python3 sfpoldevchk.py <config_file>

출력

샘플 출력 스니펫

위 예시에서 'Read Only' Profile의 행은 나머지 항목이 비어 있습니다. 이는 이 Profile의 비밀번호 정책이 당시 Organization에 설정된 정책과 동일했기 때문입니다. 그러나 Organization 설정이 변경되면 이 Profile에 할당된 사용자는 수정된 비밀번호 정책을 자동으로 적용받지 못합니다(도구를 다시 실행하면 그때 차이점이 표시됩니다).

참고 사항

  • 사용자 인터페이스를 통해 제어할 수 있는 설정만 확인됩니다.
  • Organization 설정과의 차이가 더 안전한지 또는 덜 안전한지에 대한 판단은 하지 않습니다. 모든 차이점이 보고됩니다.

계정 권한

이 도구는 읽기 전용 작업을 수행합니다. 따라서 이 도구를 실행하는 데 사용되는 계정의 요구 사항에 'Modify Metadata Through Metadata API Functions'가 포함된 것은 다소 의외일 수 있습니다. 하지만 이 글을 작성하는 시점에서는 Metadata API에 대해 읽기 전용 권한만 가진 계정을 구성하는 것이 가능하지 않은 것으로 보입니다. 다음은 https://developer.salesforce.com/docs/atlas.en-us.226.0.api_meta.meta/api_meta/meta_quickstart_prereqs.htm에서 가져온 내용입니다:

API Enabled 권한과 Modify Metadata Through Metadata API Functions 권한 또는 Modify All Data 권한을 보유한 사용자를 확인하십시오. 이러한 권한은 Metadata API 호출에 접근하는 데 필요합니다. 사용자가 데이터가 아닌 메타데이터에 대한 접근만 필요한 경우 Modify Metadata Through Metadata API Functions 권한을 활성화하십시오. 그렇지 않으면 Modify All Data 권한을 활성화하십시오.

따라서 'Modify All Data'보다 'Modify Metadata Through Metadata API Functions'를 최소 요구 사항으로 사용하는 것이 더 바람직해 보였습니다. (참고로, 'View All Data' 권한을 사용하여 테스트 케이스를 실행해 보았지만 실패했습니다.)

도구 다운로드