baseline-lock
-
개인 프로젝트 12개에 보안 스캔 훅 달기 — pip-audit·bandit·gitleaks 3중 방어IT 2026. 4. 28. 23:40
이번엔 또 보안이다내 홈 서버에는 개인 프로젝트 12개가 돌아간다. 지난 며칠 동안 차례로 네 가지 품질 축을 자동화해왔다.ruff로 린트 경고 0mypy로 타입 에러 0pytest-cov로 테스트 커버리지 baseline-lock그리고 지금: 보안 스캔처음엔 "개인 프로젝트에 보안 스캔까지 필요한가"라는 생각이 있었다. 공개 서비스도 아니고, 주로 홈 네트워크 안에서만 동작한다. 그런데 몇 가지가 마음에 걸렸다.의존성은 수시로 업데이트된다. 내가 1년 전에 `pip install`한 라이브러리 중 어떤 게 지금 CVE를 맞고 있는지 모른다.내 코드에 subprocess.run(..., shell=True) 같은 위험한 패턴이 섞여 들어갔는지도 모른다.시크릿이 실수로 코드에 하드코딩됐을 수도 있다.확인해..
-
테스트 커버리지 11개 프로젝트에 도입하기 — baseline-lock + 외부 wrapper 제외 전략IT 2026. 4. 28. 23:30
왜 또 이걸 하나내 홈 서버에는 개인 프로젝트 11~12개가 돌아간다. 지난 며칠간 차례로:ruff로 린트 경고를 0으로mypy로 타입 에러를 0으로둘 다 Stop/pre-commit hook에 걸어서 재발 방지그다음 자연스럽게 떠오른 질문이 있었다. "테스트는 얼마나 충실히 쓰고 있나?"지금까지 나는 프로젝트마다 pytest로 테스트를 쓰고 있었다. 총 500~600건. 각각 초록불이 떠야만 기능 개발을 이어갔다. 그런데 정작 어디까지 실제로 실행됐는지는 한 번도 측정하지 않았다. coverage 도구(pytest-cov, coverage.py)가 전부 설치조차 되어 있지 않았다.직관적으로는 "적당히 커버하고 있을 것 같다". 하지만 직관은 틀릴 때가 많다. 그래서 확인해보기로 했다.1단계 — 일단 수..