Autoruns 1.0, 리눅스 판 공개… 시작 항목을 한 표에

요약

마이크로소프트가 Autoruns의 리눅스 판을 1.0으로 내놓았다. Rust로 작성되었고, systemd unit과 cron 작업, 데스크톱 자동 실행, 브라우저 확장을 한 번에 나열하며 검사 대상 시스템은 건드리지 않는다.

추천
이름
Autoruns
버전
1
요금
무료
오픈소스
오픈소스
운영체제
WindowsLinux
업데이트
2026-11-06 23:00
윈도우에서 부팅할 때 무엇이 실행되는지 확인할 때 가장 먼저 떠오르는 이름이 Autoruns 다. 11월 5일 마이크로소프트가 이 도구를 리눅스로 옮겼고, 버전 번호는 처음부터 다시 시작했다. 14.x까지 올라갔던 번호가 1.0이 되었다.

리눅스에서는 시작 지점이 처음부터 흩어져 있다

윈도우는 자동 실행 지점이 많아도 레지스트리와 정해진 폴더 몇 곳에 모여 있어 도구 하나로 한 번에 훑을 수 있다. 리눅스는 다르다. 서비스는 systemd가 맡고, 오래된 시스템에는 SysV 스크립트가 남아 있고, 정기 작업은 cron과 anacron에 나뉘어 있고, 그래픽 세션은 XDG의 autostart 디렉터리를 읽고, 로그인 셸은 .profile 같은 파일을 불러온다. 여기에 브라우저 확장과 udev 규칙, fstab의 마운트 옵션이 각각 따로 붙는다. 전체를 쥐고 있는 부품이 하나도 없으니, 부팅할 때 무엇이 실제로 도는지 알아내려면 예전에는 한 곳씩 찾아다니는 수밖에 없었다.

흩어진 위치를 한 장의 표로 모은다

Autoruns for Linux는 Rust로 작성된 명령줄 도구이며 MIT 라이선스로 공개되었다. 위의 모든 지점에 걸린 설정을 읽어 사건, 작동 방식, 대상, 주체, 유효 상태, 근거의 출처를 한 줄씩 정리한다. 범위는 XDG 데스크톱 자동 실행과 시스템 전역 및 사용자별 셸 시작 파일, systemd의 시스템 및 사용자 서비스와 timer, socket, path, device, mount, automount를 포함하며 우선순위, mask, drop-in, 의존 관계, 템플릿 인스턴스, 단계별 조건까지 들어간다. 두 계층의 cron, anacron, run-parts 작업, modules-load 설정, boot 및 SysV 훅, 동적 로더의 preload와 검색 경로, alternatives, 지원되는 네트워크 훅 디렉터리도 대상이다.

브라우저는 따로 다룬다. Chromium 계열과 Firefox의 확장은 설치, 사용자, profile을 가로질러 나열되며 기업 정책, 외부 등록, 상주하는 load-extension 실행기, 네이티브 메시지 호스트도 포함된다. 장치와 미디어 쪽에서는 udev의 실행 가능한 동작과 unit, fstab에 적힌 x-systemd 관계, autofs 프로그램 매핑, 마운트된 미디어의 autorun 우선순위를 다룬다. 오피스 쪽도 빠지지 않는다. LibreOffice와 OpenOffice의 확장 패키지, UNO 구성 요소, 그리고 그 사건과 작업 설정이 함께 나온다.

인수 없이 실행하면 로그인 항목만 본다

그냥 실행하는 것은 로그인 시작 항목을 보는 것과 같고, 윈도우 판의 기본 동작에 맞춰 두었다. 구현된 리눅스 분류를 한 번에 보려면 -a와 와일드카드를 붙인다. b, h, i, k, l, n, o, s, t로 하나씩 고를 수도 있으며 각각 boot 훅, 이미지 가로채기와 preload, 브라우저 통합, 동적 로더, 로그인 항목, 네트워크 훅, 응용 프로그램 통합, 서비스와 모듈, 정기 작업에 해당한다. 장치와 마운트에는 device, mount, device-mount 같은 이름 선택자가 따로 있다.

출력 형식은 CSV, TSV, JSON, XML, 그리고 정렬된 표까지 다섯 가지이며 항목은 모두 같다. 맨 앞에 기계가 읽는 12개 열이 있고, 이어서 사건, 방식, 주체, profile, 작동자, 대상, 완전성 설명이 붙고, 그다음 대상 상태, 대상 존재 여부, 실행 가능 여부가 온다. 절대 경로 대상은 선택한 루트 안에서 검사되어 존재, 누락, 접근 불가로 나뉘고, 상대 명령은 미해결로 표시된다. 눈여겨볼 점이 있다. 등록 상태와 대상 상태는 따로 기록되므로, 사용으로 되어 있지만 파일이 이미 사라진 항목은 여전히 사용으로 보이면서 동시에 대상 누락이 표시된다.

읽기만 하고 손대지 않는다

이런 도구가 망가지는 이유는 대개 손이 무거워서다. Autoruns for Linux는 정적 파일 검사만 한다고 분명히 정해 두었다. 찾은 명령을 실행하지 않고, unit을 시작하지 않고, 장치 사건을 만들지 않고, 미디어를 마운트하지 않고, 확장도 적재하지 않는다. 텍스트 원본과 XPI, OXT 메타데이터는 파일 하나의 크기, 구성 요소 수, 구성 요소 하나의 크기, 누적 해제량에 상한을 두고 읽으며, 대상 파일의 메타데이터는 보기만 한다. 실행 중 서비스 상태는 조회하지 않으며 오프라인 루트에서는 조회할 수도 없는데, 이 점은 출력에 적혀 있다.

상대 시스템을 켜지 않고도 검사한다

root 인수는 다른 루트를 향하게 하는 것으로, 시험 환경과 이미 마운트된 시스템, 컨테이너, 오프라인 이미지에 모두 쓸 수 있다. 이 경로는 검사 전에 확인과 정규화를 거치고, 리눅스에서는 openat2의 RESOLVE_IN_ROOT와 RESOLVE_NO_MAGICLINKS를 지난다. 커널이 이 설비를 지원하지 않으면 일부만 검사했다는 진단을 내고, 대체 경로가 도는 동안 마운트된 이미지를 읽기 전용으로 유지하라고 요구한다. 종료 코드도 구분되어 있다. 0은 선택한 정적 어댑터가 끝까지 돌았다는 뜻이고, 1은 출력 실패, 2는 인수나 루트 오류, 3은 결과가 일부라는 뜻이다.

범위 밖은 어떻게 처리하는가

윈도우 판의 신뢰 옵션과 VirusTotal 조회에는 여기에 대응하는 것이 없다. 지원하는 척하지 않고 종료 코드 2로 거절한다. 윈도우에만 있는 분류와 정적 어댑터가 닿지 못하는 부분은 그럴듯한 분류로 밀어 넣지 않고 unsupported-scope 줄로 분명히 알린다. d 선택자는 윈도우 판에서의 호환 의미를 그대로 지키며, 조용히 장치 쪽으로 돌려지지 않는다.

할 수 없는 일은 할 수 없다고 말하는 편이, 분류를 몇 개 더 늘리는 것보다 진단 도구에 무겁게 작용한다. 시작 지점 조사에서 가장 흔한 잘못이 찾지 못한 것을 없는 것으로 넘겨 버리는 일이기 때문이다.

누가 쓸까

가장 직접적인 쪽은 운영이다. 부팅이 점점 느려지거나 뭔가가 몰래 상주하는 것 같을 때, systemd와 cron, 데스크톱 자동 실행, 브라우저 확장을 나란히 놓은 목록은 폴더를 하나씩 뒤지는 것보다 빠르다. 보안과 포렌식 현장에도 맞는다. root 인수로 마운트된 이미지나 컨테이너 루트 파일 체계를 바로 검사할 수 있어 그 시스템을 먼저 띄울 필요가 없다. 배포판을 줄이거나 이미지를 다이어트하는 사람도 기준선으로 삼아, 자기 이미지에 처음부터 자동으로 도는 것이 얼마나 설정되어 있는지 볼 수 있다.

윈도우 판에서 십수 년 쌓은 것은 리눅스로 그대로 옮겨지지 않는다. 방식이 원래 다르다. 그래도 자동 실행을 한자리에서 본다는 발상은 통하고, 이 1.0의 폭은 마이크로소프트가 급하게 포팅한 것이 아니라는 점을 보여 준다.

리눅스에서 Autoruns의 값어치는 자동 실행 지점을 몇 종류 알아보느냐가 아니라, 읽기 전용을 지키고 확실하지 않은 곳을 분명히 밝힌다는 데 있다. 조사 도구의 신뢰는 스스로 인정한 경계만큼 쌓인다.
Autoruns다운로드
지원 운영체제: Windows Linux