Chrome 확장 프로그램에서 chrome.userScripts 사용 설정 변경사항

Justin Lulejian
Justin Lulejian

게시일: 2025년 5월 29일

Chrome 138부터 Chrome 확장 프로그램의 사용자 스크립트(chrome.userScripts API)에 보안 강화 및 사용자에게 더 세분화된 제어 기능 제공에 중점을 둔 일련의 변경사항이 적용됩니다. 이 업데이트는 개발자 커뮤니티 및 사용자로부터 받은 소중한 의견을 반영합니다.

이전에는 사용자 스크립트를 사용 설정하려면 Chrome 내에서 전역 개발자 모드 전환 버튼을 사용 설정해야 했습니다. 이 접근 방식에는 보안, 기능, 기업과 관련된 몇 가지 주요 제한사항이 있다는 의견이 있었습니다.

특히 전역 개발자 모드 전환 버튼을 사용하면 다음과 같은 문제가 발생했습니다.

  • 보안 위험: 개발자 모드가 사용 설정되면 userScripts 권한을 요청한 새 확장 프로그램은 각 새 확장 프로그램과 관련된 위험에 대한 명시적인 사용자 동의나 인식 없이도 사용자 스크립트를 실행할 수 있는 기능을 자동으로 획득했습니다.
  • 기능 오버로드: 개발자 모드 전환 버튼은 다른 여러 개발자 중심 권한을 제어하므로 사용자 스크립트를 실행하는 특정 권한을 관리하는 데 정확성이 떨어집니다.
  • 엔터프라이즈 문제: 많은 기업에서는 관리 기기에서 개발자 모드를 사용 설정하지 않으며, 이로 인해 chrome.userScripts API를 사용하는 확장 프로그램을 배포하거나 사용할 수 없습니다.

이러한 문제를 해결하고 Chrome 확장 프로그램의 보안과 사용성을 개선하기 위해 전역 개발자 모드 전환 버튼을 새로운 확장 프로그램별 사용자 스크립트 허용 전환 버튼으로 전환하고 있습니다.

Chrome 138(chrome://extensions/?id=<your_extension_id>)의 확장 프로그램 세부정보 페이지에서 액세스할 수 있는 이 새로운 전환 버튼을 사용하면 사용자가 개별 확장 프로그램별로 사용자 스크립트를 실행하는 확장 프로그램의 기능을 명시적으로 제어할 수 있습니다. 이렇게 하면 보다 세부적인 제어가 가능해지고 잠재적인 보안 위험이 줄어듭니다.

사용자 스크립트 허용 대화상자

전환 기간 동안 Chrome 138 미만 버전에서는 계속 개발자 모드 전환 버튼을 사용하고, Chrome 138 이상 버전에서는 새로운 확장 프로그램별 사용자 스크립트 허용 전환 버튼을 사용합니다. 138 이상 버전을 처음 실행하면 개발자 모드 전환 버튼이 사용 설정된 경우 userScripts 권한이 부여된 기존 확장 프로그램에 대한 새 전환 버튼이 일회성 이전을 통해 자동으로 사용 설정됩니다. 이전 후 설치된 모든 새 확장 프로그램은 기본적으로 사용자 스크립트 허용 전환 버튼이 사용 중지된 상태로 설정됩니다.

또한 이전에는 User Scripts API의 사용 가능 여부를 확인하기 위해 확장 프로그램에서 chrome.userScripts에 액세스하려고 시도해야 했습니다. 개발자 모드가 사용 중지된 경우 오류가 발생했습니다. Chrome 138부터 이 동작은 다른 API와 일치하며 사용할 수 없는 경우 API가 정의되지 않습니다. 하지만 모든 Chrome 버전을 다루므로 API를 사용할 수 있는지 확인하려면 다음을 사용하는 것이 좋습니다.

function isUserScriptsAvailable() {
  try {
    // Method call which throws if API permission or toggle is not enabled.
    chrome.userScripts.getScripts();
    return true;
  } catch {
    // Not available.
    return false;
  }
}

이전에 개발자 모드를 사용 중지하여 사용자 스크립트를 관리하던 관리자는 이제 blocked_permissions 정책 또는 Google 관리 콘솔을 사용하여 chrome.userScripts API를 사용하는 확장 프로그램을 제어해야 합니다. 강제로 설치된 확장 프로그램의 chrome.userScripts 액세스를 제어하는 방법을 추가로 변경하는 방안을 검토하고 있으므로 업데이트 사항은 관리자 출시 노트를 참고하세요.

이번 변경을 통해 사용자는 확장 프로그램 기능을 더 정확하게 제어할 수 있게 되어 보안이 강화되고 더 투명한 환경을 제공할 수 있을 것으로 기대합니다. 확장 프로그램 개발자는 이 변경사항을 반영하고 사용자가 원활하게 전환할 수 있도록 문서를 업데이트하는 것이 좋습니다.

변경사항 및 새로운 동작에 관한 자세한 내용은 문서를 참고하세요.

이번 개선을 이끌어 준 개발자 커뮤니티의 의견에 감사드리며, 모든 사용자에게 안전하고 사용자 친화적인 환경을 제공하기 위해 최선을 다하겠습니다.