이미 잘 아시겠지만, Firefox 57은 Mozilla 애드온 생태계에 WebExtensions라는 새로운 시대를 열며 기존 환경에 큰 변화를 가져왔고, 수많은 애드온에 근본적인 개편을 강요했습니다. 그 영향을 받은 대표적인 애드온 중 하나가 바로 NoScript Security Suite(NSS)입니다. 솔직히 말해, Chrome보다 Firefox를 여전히 선호하고 사용할 만한 실질적인 이유는 이 애드온 하나라고 해도 과언이 아닙니다. NoScript의 창시자인 Giorgio Maone은 도구를 완전히 새롭게 다시 만들어야 했고, 많은 사용자에게는 급격한 변화로 다가왔습니다.
그래서 저는 새로운 용어와 개념, 새로운 권한 모델 등을 설명하는 NoScript 10 사용법 첫 번째 가이드를 작성했습니다. 반응도 나쁘지 않았고, NoScript 포럼의 공식 기본 사용법 문서에서도 인용되었습니다. 그리고 몇 주가 지나는 동안 NoScript는 추가적인 변화를 거쳤기에, 이 훌륭한 작은 도구와 그 기능에 대해 좀 더 깊이 있게 다뤄볼 때가 되었다고 생각합니다. 물론 기본기를 익히려면 첫 번째 가이드를 먼저 읽으신 뒤 이 글을 계속 읽어주시기 바랍니다.

새로워진 인터페이스
NoScript 10은 이전 버전보다 한층 세련된 모습입니다. 텍스트와 아이콘이 더 우아해졌고, 간격 배치도 개선되었습니다. 또한 현재 목록에 표시된 도메인들을 일괄 임시 허용할 수 있는 별도의 버튼이 추가되었으며, 마우스 버튼만 누르면 즉시 페이지가 새로 고침됩니다. 목록에 있는 각 도메인별로 권한을 개별적으로 변경할 수도 있습니다. 설정 페이지 역시 일부 재작업되었는데, 이 부분은 조금 뒤에 자세히 살펴보겠습니다.

새로운 기능
UI에는 몇 가지 중요한 변화가 있습니다. 가장 눈에 띄는 것은, 한동안 해당되는 경우 도메인이 여러 번 나열되었다는 점입니다. 하지만 이것에는 나름의 논리가 있었습니다. 전체 도메인에 대한 권한(와일드카드라고 생각하면 됩니다)을 허용하거나, 아주 구체적인 항목만 허용하는 선택지가 있었던 것입니다. 예를 들어 dedoimedo.com을 허용하면 http와 https 트래픽을 포함한 모든 변형과 서브도메인이 허용됩니다. 반면 https://www.dedoimedo.com만 허용하도록 선택하면 이 특정 URL만 매칭됩니다. 이를 통해 통제의 세밀함(granularity)을 한 단계 높일 수 있었습니다. 참고로 10.x 브랜치의 최신 버전에서는 모든 유형의 트래픽을 포괄하는 단일 항목 표시 방식으로 되돌아갔습니다.

권한 측면에서 보면 '임시 허용(temporarily allow)'이 이제 별도의 카테고리로 분리되었는데, 이 역시 합리적인 변화입니다. 예전처럼 신뢰 아이콘 옆의 작은 톱니바퀴를 누르는 것보다 임시 허용 아이콘을 클릭하는 것이 훨씬 편합니다. 또한 메인 인터페이스에서 사용 가능한 요소들의 목록이 더 이상 표시되지 않습니다. 이것도 매우 자연스러운 변화입니다. 실수로 범위 전체에 적용되는 변경을 클릭하지 않고, 설정 창을 통해 변경할 수 있기 때문입니다.
설정
설정 페이지는 여러 가지 방법으로 열 수 있습니다. 빈 탭에 있다면 그냥 아이콘을 클릭하면 됩니다(물음표가 표시됩니다). 실제로 탭을 사용 중이고 웹사이트가 로드된 상태라면, NoScript 팝업 메뉴 왼쪽 상단의 NoScript 아이콘을 클릭하세요. 정지 및 새로 고침 버튼 근처에 위치해 있습니다. 인터페이스는 여러 차례의 변화를 거쳤습니다.

패널은 더 깔끔하고 사용하기 쉬워졌습니다. 10.1.6.x 버전에서는 스크립트를 전역적으로 허용하거나, 최상위 도메인들을 임시 허용하거나(문제 해결 시 유용), XSS 검사를 활성화/비활성화하는 옵션을 사용할 수 있습니다. 이 기능은 중간 릴리스에서 다소 버그가 있었지만, 지금은 잘 작동합니다. XSS 선택 목록을 초기화할 수도 있는데, 이 역시 문제 해결에 유용합니다.

실제로는 가짜 경고이지만, XSS 경고가 어떤 모습인지 보여줍니다.
범위(scope) 프리셋은 이제 별도의 탭으로 표시됩니다. 기본(default), 신뢰(trusted), 비신뢰(untrusted) 세 가지입니다. 그 아래에는 사이트 권한 목록이 있는데, 기본값이 아닌 설정이 적용된 항목들이 목록에 표시됩니다. 검색창을 활용할 수도 있으며, 현재 작업 중인 도메인(예: 임시 허용된 도메인)에 대해서도 검색이 작동합니다.

디버그(Debug) 기능도 여전히 남아 있어, JSON을 읽는 것이 불편하지 않다면 현재 규칙 집합(ruleset)을 더 잘 이해할 수 있습니다. 마지막으로, 설정을 내보내기(단순한 텍스트 파일)하고 기존 설정을 가져오기 할 수 있습니다. 따라서 검증이 잘 된 설정을 여러 시스템이나 Firefox 프로필에서 재사용하고 싶을 때 유용하며, NSS 설정에 큰 변경을 가하기 전 백업용으로도 좋습니다.
10.1.7.x 브랜치에서는 레이아웃이 한 번 더 수정되었습니다. 탭 구조가 도입되어 더 깔끔한 화면과 함께 애드온의 다양한 기능에 쉽게 접근할 수 있게 되었습니다. 일반(General) 탭에서는 범위 프리셋을 편집하거나, 스크립트를 전역적으로 허용하거나, 모든 최상위(1차) 도메인을 임시 허용할 수 있습니다. 예를 들어 dedoimedo.com의 경우 이 도메인에서 오는 모든 것은 허용되지만, 제3자 스크립트는 허용되지 않습니다.

사이트별 권한은 이전과 동일합니다. 모양(Appearance) 탭에서는 각 페이지에 허용/차단된 스크립트 수 표시하기, 도메인 이름 확장하기 같은 사소한 시각적 조정이 가능합니다. 고급(Advanced) 탭에서는 첫 번째 가이드에서 보았던 것처럼 설정 파일의 JSON 뷰를 확인할 수 있으며, 설정을 가져오기, 내보내기 또는 초기화하는 옵션도 제공됩니다.
결론
NoScript는 잘 성숙해가고 있습니다. Firefox 57 출시 이전의 만능 도구는 아니지만, 대부분의 사람들에게 충분하고 적합하며 필요한 보호 기능, 그리고 더욱 중요하게는 웹 서핑 시 원하는 '고요함'을 제공합니다. 조용하고 정적인 페이지 덕분에 독서에 집중할 수 있고, Web 2.0이나 Web 3.0식 온갖 자극으로부터 감각을 지킬 수 있습니다. 물론 대부분의 사람들은 보안 측면에 더 관심을 두겠지만요.
저는 여러 프로필과 시스템에서 이 애드온을 사용하고 있지만, 큰 장애나 버그를 경험하지 못했습니다. 곳곳에서 사소한 문제가 종종 발생했다가 하루 뒤면 사라지곤 하는데, 기억나는 것은 XSS 관련 잠시의 일시적 문제 정도입니다. 그 외에는 구버전 NoScript와 매우 유사하게 작동하는 것으로 보입니다. 성능도 비슷한 수준입니다. 그리고 아직도 개선의 여지와 새로운 기능이 남아 있으며, 분명 앞으로도 계속 추가될 것입니다. 이 글이 즐거운 독서가 되었기를 바랍니다. 건강하세요.
감사합니다.