PyFlakes, pycodestyle, McCabe를 하나의 명령으로 실행하고 서드파티 플러그인을 지원하는 Python 린터입니다.
dlint-py/dlint
`exec` 사용이나 안전하지 않은 역직렬화 같은 Python의 취약하거나 좋지 않은 코딩 패턴을 찾아내는 flake8 플러그인입니다.
- 스타
- 178
- 포크
- 18
- 열린 이슈
- 23
- 마지막 커밋
- 17일 전
어떤 프로젝트인가요?
Dlint는 Python 소스 코드에서 보안상 취약한 패턴과 버그나 보안 문제를 일으키기 쉬운 코딩 방식을 검사하는 린터입니다. flake8 플러그인으로 동작하므로 기존 flake8 워크플로, 옵션, 설정을 그대로 사용할 수 있습니다. 각 규칙에는 DUO 접두사가 붙은 ID가 있으며, 위반 사항은 파일, 줄 번호, 간단한 설명과 함께 보고됩니다. 예를 들어 `exec` 사용을 찾아냅니다.
Dlint는 pip로 PyPI에서 설치하며, 명령줄에서 `flake8 --select=DUO`를 실행하면 Dlint 규칙만 검사할 수 있습니다. Vim, Emacs, Sublime Text, PyCharm, Atom, VS Code 같은 편집기에서는 기존 flake8 플러그인을 통해 연동할 수 있습니다. 개발자는 문서에 안내된 명명 규칙에 따라 이름이 `dlint_plugin_`으로 시작하는 별도 모듈로 사용자 지정 규칙을 작성할 수도 있습니다.
핵심 기능
- 01DUO 규칙 접두사를 사용해 `exec` 사용과 같은 Python의 취약한 패턴을 탐지합니다.
- 02flake8을 기반으로 하므로 flake8 옵션과 설정을 그대로 사용할 수 있습니다.
- 03명령줄에서 개별 파일이나 디렉터리 전체를 검사할 수 있습니다.
- 04일반적인 편집기의 flake8 연동을 통해 코드에 검사 결과를 표시합니다.
- 05정해진 명명 규칙에 따라 로드되는 사용자 지정 규칙 플러그인을 지원합니다.
활용 사례
- Python 프로젝트의 CI 파이프라인에 보안 중심의 린트 검사를 추가합니다.
- `exec`와 같은 위험한 구문이 있는지 기존 Python 코드를 검토합니다.
- 사용자 지정 플러그인으로 팀별 보안 코딩 규칙을 적용합니다.
빠른 시작
- 1
PyPI에서 Dlint 설치하기
python -m pip install dlint - 2
파일이나 디렉터리에서 flake8을 통해 Dlint 규칙 실행하기
python -m flake8 --select=DUO /path/to/code
사용 전 알아둘 점
- Dlint는 flake8 플러그인으로 실행되므로 flake8과 Python이 설치되어 있어야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- dlint은(는) 무엇인가요?
- `exec` 사용이나 안전하지 않은 역직렬화 같은 Python의 취약하거나 좋지 않은 코딩 패턴을 찾아내는 flake8 플러그인입니다. Dlint는 Python 소스 코드에서 보안상 취약한 패턴과 버그나 보안 문제를 일으키기 쉬운 코딩 방식을 검사하는 린터입니다. flake8 플러그인으로 동작하므로 기존 flake8 워크플로, 옵션, 설정을 그대로 사용할 수 있습니다. 각 규칙에는 DUO 접두사가 붙은 ID가 있으며, 위반 사항은 파일, 줄 번호, 간단한 설명과 함께 보고됩니다. 예를 들어 `exec` 사용을 찾아냅니다.
- dlint은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- dlint은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- dlint은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. dlint의 마지막 커밋은 2026년 10월 20일입니다.
- dlint은(는) 어디에 사용할 수 있나요?
- Python 프로젝트의 CI 파이프라인에 보안 중심의 린트 검사를 추가합니다. `exec`와 같은 위험한 구문이 있는지 기존 Python 코드를 검토합니다. 사용자 지정 플러그인으로 팀별 보안 코딩 규칙을 적용합니다.
- dlint는 어떻게 설치하나요?
- PyPI에서 Dlint 설치하기: python -m pip install dlint 파일이나 디렉터리에서 flake8을 통해 Dlint 규칙 실행하기: python -m flake8 --select=DUO /path/to/code
- dlint은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dlint-py/dlint
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
일관되고 간결한 Python 스타일을 적용하고 복잡한 코드 패턴을 찾아내는 엄격하고 주관이 뚜렷한 flake8 플러그인입니다.
pyflakes와 pycodestyle에서 검사하지 않는 잠재적 버그와 의심스러운 설계 패턴을 찾아내는 Flake8 플러그인입니다.
함수의 McCabe 순환 복잡도를 계산하고, 지나치게 복잡한 코드를 표시하는 flake8 플러그인으로 실행되는 Python 도구입니다.
Rust 기반 멀티언어 CLI로, 하나의 도구와 설정 파일에서 린터, 자동 포매터, 보안 스캐너, 유지보수성 검사를 실행합니다.
불필요하거나 비효율적인 리스트·셋·딕셔너리·제너레이터 컴프리헨션 및 내장 함수 호출 패턴을 찾아내는 flake8 플러그인입니다.