
Directus CMS를 위한 키리스 능동 프로브 보안 감사 도구. 라이브 익명 프로브를 통해 공용 역할 데이터 노출, 사용자 열거, 인증되지 않은 버전/스키마 누출, GraphQL 인트로스펙션, 검색 매개변수 필드 열거를 입증합니다. 의존성 없음.
Directus 인스턴스를 감사하여 실제로 데이터가 유출되는 잘못된 구성 — 공개 역할 읽기 노출, 사용자 열거, 인증되지 않은 버전/스키마 유출, GraphQL 인트로스펙션, 그리고
search파라미터 필드 열거 오라클 — 을 찾아내고 각각을 익명 프로브로 실시간 증명합니다. 다른 체크리스트는 무엇이 잘못되었을 수 있는지 알려주지만, 이것은 실제 바이트를 가져와 무엇이 잘못되었는지 보여줍니다.
⚡ 한 줄로 실행하세요, 관리자 토큰 없이, 설치 없이:
npx directus-security --url https://your-directus.example.com
🤝 직접 처리해 드릴까요? 고정 범위 감사 — 24시간 $99: 각 발견 사항을 실시간으로 확인하고 정확한 정책 수정 사항이 포함된 서면 보고서를 보내드립니다.
$ npx directus-security --url https://directus.example.com
1개 치명적, 2개 높음, 1개 중간 — 익명 프로브로 4개 확인됨
CRITICAL /items/posts 공개 역할 읽기 활성화 — 익명으로 행 접근 가능
HIGH /items/posts?search=… search-param 필드 열거 (CVE-2025-30352 클래스)
HIGH /items/directus_users 사용자 목록 노출 (이름 + 이메일)
MEDIUM /server/specs/oas Directus 버전 인증 없이 유출 (CVE-2025-53887 클래스)
Directus는 Tripadvisor, Adobe, Mercedes의 헤드리스 백엔드를 구동하며, 기본 접근 모델은 한 가지 실수를 매우 쉽게 만듭니다: Public 정책에 대해 read를 활성화한 상태로 두는 것입니다. 결과는 누구나 읽을 수 있는 API가 됩니다. 2025년에는 익명 프로브와 정확히 일치하는 인증되지 않은 CVE들이 대거 발생했습니다:
search 쿼리 파라미터가 허용되지 않은 필드를 열거하여 이메일과 비밀번호 해시를 한 문자씩 유출합니다./server/specs/oas를 통해 인증 없이 노출되어 공격자가 빌드를 알려진 익스플로잇과 매칭할 수 있습니다.directus-security는 이러한 항목들을 확인하고 공격자가 보낼 정확한 익명 요청을 보내 실제로 존재하는 것들을 확인합니다 — 그래서 추측이 아닌 사실을 분류할 수 있습니다.
# Probe a live instance (guesses common collection names)
npx directus-security --url https://directus.example.com
# Probe specific collections
npx directus-security --url https://directus.example.com --collections posts,authors
# Learn your exact collection names from a Directus schema snapshot, then probe
npx directus-security --url https://directus.example.com --snapshot ./snapshot.json
# Write a shareable HTML report
npx directus-security --url https://directus.example.com --html report.html
# Static only (no requests sent)
npx directus-security --url https://directus.example.com --no-probe
출력은 JSON이 stdout으로 나오고 (CI에 파이프 가능) 한 줄 요약이 stderr로 나옵니다. 종료 코드는 사용법 오류에서만 0이 아닙니다 — JSON summary로 파이프라인을 제어하세요.
npm i -g directus-security
directus-security --url https://directus.example.com
종속성 제로. 데이터와 자격 증명은 절대 머신을 떠나지 않습니다 — 모든 요청은 도구에서 Directus 인스턴스로 직접 전송됩니다.
백엔드 스택의 나머지 부분에도 동일한 능동 프로브 철학을 적용, 모두 MIT 라이선스:
strapi-security · supabase-security · pocketbase-security · firebase-security · appwrite-security · nhost-security
MIT © Renzo Madueno
📚 Awesome Backend Security Auditors의 일부 — 키가 필요 없는 능동 프로브 감사 도구 전체 모음.
| 확인 항목 | 심각도 | 확인 방법 |
|---|
| 컬렉션에 대한 공개 역할 읽기 | 치명적 | 익명 GET /items/{collection}가 행을 반환함 |
search 파라미터 필드 열거 | 높음 | 익명 GET /items/{collection}?search=… 응답 (CVE-2025-30352 클래스) |
/items/directus_users 사용자 열거 | 높음 | 익명 읽기가 사용자 목록 반환 (이름 + 이메일) |
| 인증되지 않은 버전/스키마 유출 | 중간 | /server/info 또는 /server/specs/oas가 버전을 인증 없이 반환 (CVE-2025-53887 클래스) |
| 프로덕션에서 GraphQL 인트로스펙션 | 중간 | /graphql 또는 /graphql/system에서 __schema 쿼리 응답 |