Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
c-sentinel — UNIX 시스템용 의미론적 관찰 가능성 - AI 기반 분석을 갖춘 경량 C 기반 시스템 프로버 | Kitploit
도구/GitHubGitHub/speytech/c-sentinel
Vulnerability AnalysisNetwork SecurityCloud SecurityDevSecOpsThreat IntelligenceAuthenticationIntrusion DetectionIncident ResponseAI SecurityAnomaly DetectionLog Analysis
7284개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
speytech/c-sentinel

c-sentinel

UNIX 시스템용 의미론적 관찰 가능성 - AI 기반 분석을 갖춘 경량 C 기반 시스템 프로버

저장소 보기웹사이트

C-Sentinel

UNIX 시스템을 위한 의미론적 관측 가능성

C로 작성된 가볍고 이식 가능한 시스템 프로버로, 명확하지 않은 위험에 대한 AI 기반 분석을 위해 '시스템 지문'을 캡처합니다. auditd 통합, 설명 가능한 위험 점수 매기기, 엔터프라이즈급 다중 사용자 인증을 갖춘 라이브 웹 대시보드를 제공합니다.

License: MIT Version

라이브 데모: sentinel.speytech.com

스크린샷

보안 대시보드

보안 대시보드

멀티 호스트 개요

호스트 대시보드

사용자 프로필 및 보안 설정

프로필 페이지

이중 인증

설정로그인
2FA 설정2FA 로그인

개인 API 키

API 키

관리자 기능

세션 관리

세션

감사 로그

감사 로그

안전한 로그인

로그인 페이지

v0.6.0의 새로운 기능

  • 👥 다중 사용자 인증 - 역할 기반 접근 제어 (관리자/운영자/뷰어)
  • 🔐 이중 인증 - Google Authenticator, Authy 등과 함께 TOTP 지원
  • 🔑 개인 API 키 - 자동화 및 CI/CD를 위한 사용자별 API 키
  • 📋 관리자 감사 로그 - 필터링으로 모든 사용자 작업 추적
  • 💻 세션 관리 - 활성 세션 보기, 접근 취소, 강제 로그아웃
  • 📧 이메일 및 Slack 알림 - 풍부한 형식의 사전 알림
  • 🎨 현대적인 토스트 알림 - 더 이상 1990년대 JavaScript 알림은 없습니다!
  • 👁️ 공개 데모 모드 - 대시보드 전시를 위한 읽기 전용 접근
  • 📱 모바일 반응형 - 휴대폰 및 태블릿에서 전체 기능 제공

이전 릴리스

v0.5.x: 보안 태세 요약, 위험 추세 스파크라인, 학습 지표, 설명 가능한 위험 요소, 이메일 알림, 이벤트 기록

v0.4.0: Auditd 통합, 무차별 대입 탐지, 개인 정보를 보호하는 사용자 이름 해싱, 프로세스 귀속, 위험 점수 매기기

v0.3.0: 웹 대시보드, SHA256 체크섬, systemd 서비스, 기준 학습, 네트워크 프로브, 감시 모드

문제점

Dynatrace, Datadog, Prometheus와 같은 현대적인 관측 가능성 도구는 메트릭 수집 및 임계값 경고에 뛰어납니다. 그러나 그들은 좁은 질문에 답변합니다: "이 메트릭이 예상 범위를 벗어났습니까?"

다음과 같은 점에 어려움을 겪습니다:

  • 인과 추론: 무언가가 왜 실패했는가?
  • 맥락 종합: 지난주의 구성 변경과 오늘의 지연 시간 스파이크 연결
  • 명확하지 않은 성능 저하: '고장난' 것은 아니지만 실패로 향하는 것들
  • 보안 맥락: 누가 무엇에 접근했으며 왜 중요한지 이해

C-Sentinel은 다른 접근 방식을 취합니다: 보안 이벤트를 포함한 포괄적인 시스템 지문을 캡처하고 LLM 추론을 사용하여 '기계 속의 유령'을 식별합니다.

빠른 시작```bash

Clone and build

git clone https://github.com/williamofai/c-sentinel.git cd c-sentinel make

Quick analysis

./bin/sentinel --quick --network

Quick analysis with security events (requires root for audit logs)

sudo ./bin/sentinel --quick --network --audit

Learn baselines (automatic with --audit flag)

./bin/sentinel --learn --network

Continuous monitoring with full context

sudo ./bin/sentinel --watch --interval 300 --network --audit

root@kitploit:~
## 대시보드 기능

웹 대시보드는 인프라 전반에 걸친 실시간 보안 모니터링을 제공합니다.

### 다중 사용자 인증

세 가지 역할을 지원하는 엔터프라이즈급 접근 제어:

| 역할 | 권한 |
|------|-------------|
| **관리자** | 전체 접근: 사용자 관리, 감사 로그 보기, 모든 작업 |
| **운영자** | 이벤트 확인, 카운터 재설정, 모든 데이터 보기 |
| **뷰어** | 대시보드 및 데이터 읽기 전용 접근 |

### 이중 인증 (TOTP)

업계 표준 TOTP로 계정을 보호하세요:
- Google Authenticator, Authy, Microsoft Authenticator와 호환
- 쉬운 구성을 위한 QR 코드 설정
- 활성화 시 모든 로그인에 필요
- 활성화/비활성화 시 이메일 알림

### 개인 API 키

각 사용자는 자동화를 위해 자신만의 API 키를 생성할 수 있습니다:
- 명명된 키 (예: "CI/CD 파이프라인", "모니터링 스크립트")
- 선택적 만료 날짜
- 삭제 없이 활성화/비활성화
- 마지막 사용 추적
- 키는 사용자의 역할 권한을 상속받음```bash
# Use your personal API key
curl -X POST https://sentinel.example.com/api/ingest \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_your_personal_key" \
  -d @fingerprint.json

관리자 감사 로그

규정 준수 및 보안을 위한 모든 사용자 작업 추적:

  • IP 주소가 포함된 로그인/로그아웃 이벤트
  • 사용자 관리 작업 (생성, 업데이트, 삭제)
  • 비밀번호 변경
  • 세션 취소
  • 사용자, 작업 유형, 시간 범위별 필터링 가능

세션 관리

활성 세션에 대한 전체 가시성:

  • 누가 어디서 로그인했는지 확인
  • 기기 및 브라우저 감지
  • 개별 세션 취소
  • 보안 사고 시 '다른 모든 세션 로그아웃'
  • 만료된 세션 자동 정리

보안 상태 요약

시스템의 보안 상태를 평이한 영어로 설명:

"이 시스템은 보안 문제를 보이지 않습니다. 인증 패턴이 정상이며 실패가 감지되지 않았습니다. 권한 상승 활동이 감지되지 않았습니다. 전반적인 상태: 건강함."

설명 가능한 위험 점수

모든 위험 점수에는 이유를 설명하는 요소가 포함됩니다:

FactorWeight
10회 인증 실패 (기준선 대비 200% 초과 - 높음)+30
무차별 대입 공격 패턴 감지+10
2개의 중요 파일 접근+4
합계44

학습/보정 지표

시스템이 환경의 '정상'을 학습합니다:

SamplesStatusMeaning
< 10🧠 Learning초기 기준선 구축
10-50🧠 Calibrating정상 패턴 정제
> 50(숨김)완전 보정됨

위험 추세 스파크라인

24시간 위험 점수 이력을 보여주는 미니 차트 - 상황이 좋아지고 있는지 나빠지고 있는지 즉시 확인 가능합니다.

이메일 및 Slack 알림

다음 상황에서 이메일 및/또는 Slack을 통한 자동 알림:

  • 위험 점수 ≥ 16 (높음/심각)
  • 무차별 대입 공격 감지
  • /tmp 또는 /dev/shm에서 실행
  • 새 IP에서 사용자 로그인
  • 비밀번호 또는 2FA 변경

Slack 알림에는 색상으로 구분된 심각도, 클릭 가능한 대시보드 링크, 구조화된 위험 요소 세부 정보가 포함된 서식이 포함됩니다.

Auditd 통합

C-Sentinel은 의미론적 보안 분석을 위해 auditd 로그를 요약합니다.

출력 예시```

C-Sentinel Quick Analysis

Hostname: axioma-validator Uptime: 14.5 days Load: 0.02 0.04 0.00 Memory: 49.2% used Processes: 120 total

Potential Issues: Zombie processes: 0 High FD processes: 1 Long-running (>7d): 95 Config permission issues: 0

Network: Listening ports: 26 Established connections: 14 Unusual ports: 12 ⚠

Security (audit): Auth failures: 6 ⚠ BRUTE FORCE PATTERN DETECTED Sudo commands: 81 Sensitive file access: 2 - /etc/passwd by touch - /etc/shadow by touch ⚠

Risk: high (score: 25)

root@kitploit:~
### JSON 출력```json
{
  "audit_summary": {
    "enabled": true,
    "period_seconds": 300,
    "authentication": {
      "failures": 6,
      "failure_users_hashed": ["user_c4c5", "user_b91b"],
      "brute_force_detected": true
    },
    "privilege_escalation": {
      "sudo_count": 81,
      "sudo_baseline_avg": 12.5,
      "sudo_deviation_pct": 548.0,
      "su_count": 5
    },
    "file_integrity": {
      "sensitive_file_access": [
        {
          "path": "/etc/shadow",
          "access": "write",
          "count": 2,
          "process": "touch",
          "process_chain": ["touch", "bash", "sshd"],
          "suspicious": true
        }
      ]
    },
    "learning": {
      "sample_count": 42,
      "confidence": "medium"
    },
    "risk_factors": [
      {"reason": "6 auth failures (200% above baseline - high)", "weight": 18},
      {"reason": "Brute force attack pattern detected", "weight": 10}
    ],
    "risk_score": 25,
    "risk_level": "high"
  }
}

감사 규칙 설정

최상의 결과를 얻으려면 민감한 파일에 대한 감사 규칙을 추가하세요:```bash

Add audit rules

sudo auditctl -w /etc/passwd -p wa -k identity sudo auditctl -w /etc/shadow -p wa -k identity sudo auditctl -w /etc/sudoers -p wa -k priv_esc sudo auditctl -w /var/log/lastlog -p wa -k auth

Make permanent (add to /etc/audit/rules.d/sentinel.rules)

root@kitploit:~
### 개인정보 보호 기능

- **사용자 이름 해싱**: 실패한 로그인 사용자 이름이 해싱됩니다 (예: `user_c4c5`) — 패턴 탐지를 유지하면서 신원을 노출하지 않습니다
- **비밀번호 없음**: 명령 인수 및 민감한 데이터는 캡처되지 않습니다
- **프로세스 이름만**: 전체 경로는 개인정보 보호를 위해 정리됩니다

## 웹 대시보드

C-Sentinel은 여러 호스트를 실시간으로 모니터링하기 위한 웹 대시보드를 포함합니다.

### 기능

- **다중 사용자 인증** - 역할 기반 접근 제어
- **이중 인증** - QR 코드 설정을 통한 TOTP
- **개인 API 키** - 사용자별 자동화 키
- **관리자 감사 로그** - 전체 작업 기록
- **세션 관리** - 활성 세션 제어
- **보안 상태 요약** - 평이한 영어 시스템 상태
- **위험 추세 스파크라인** - 24시간 시각적 이력
- **설명 가능한 위험 요소** - 점수가 왜 그런지 *이유*를 알 수 있음
- **학습 표시기** - 기준선 보정 진행 상황
- **이벤트 기록** - 확인 기능이 포함된 타임라인
- **이메일 알림** - 사전 알림
- **실시간 모니터링** - 모든 호스트를 한눈에
- **기록 차트** - 24시간 동안의 메모리 및 부하
- **네트워크 보기** - 모든 수신 포트 및 연결
- **구성 추적** - 모니터링되는 파일의 SHA256 체크섬

### 빠른 설정```bash
# Install dashboard
cd dashboard
sudo ./install-dashboard.sh

# Run database migration
sudo -u postgres psql -d sentinel -f migrate.sql

# Install 2FA dependencies (optional)
sudo /opt/sentinel-dashboard/venv/bin/pip install pyotp qrcode pillow

# Configure agent to report (with audit)
*/5 * * * * sudo /usr/local/bin/sentinel --json --network --audit | curl -s -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d @- https://your-dashboard.com/api/ingest

이메일 알림 설정

systemd 서비스 또는 환경 변수에 추가하세요:```bash ALERT_EMAIL_ENABLED=true ALERT_SMTP_HOST=smtp.gmail.com ALERT_SMTP_PORT=587 ALERT_SMTP_USER=[email protected] ALERT_SMTP_PASS=your-app-password ALERT_FROM=[email protected] ALERT_TO=[email protected] ALERT_COOLDOWN_MINS=60

root@kitploit:~
### Slack Webhook 구성```bash
ALERT_SLACK_ENABLED=true
ALERT_SLACK_WEBHOOK=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
ALERT_SLACK_CHANNEL=#security-alerts    # Optional - override default webhook channel
ALERT_SLACK_USERNAME=C-Sentinel         # Optional - bot display name
  1. api.slack.com/apps로 이동합니다.
  2. 새 앱 만들기 → "처음부터"
  3. "수신 웹후크" 활성화
  4. "새 웹후크를 워크스페이스에 추가" 클릭
  5. 채널을 선택하고 웹후크 URL을 복사합니다.

전체 설정 지침은 dashboard/README.md를 참조하세요.

공개 데모 모드

대시보드를 시연하기 위해 읽기 전용 공개 액세스를 활성화합니다:```bash Environment="DEMO_MODE=true"

root@kitploit:~
데모 모드에서는:
- 로그인 불필요 - 방문자는 대시보드로 바로 이동
- 읽기 전용 접근 (뷰어 역할)
- 관리자 기능 숨김
- 프로필/로그아웃 링크가 GitHub 링크로 대체됨
- 노란색 배너가 데모 모드임을 표시

LinkedIn 게시물, 블로그 기사 또는 배포 전에 잠재 고객이 탐색하도록 할 때 유용합니다.

## Systemd 서비스

프로덕션 배포의 경우:```bash
# Install
sudo ./install.sh

# Enable and start
sudo systemctl enable sentinel
sudo systemctl start sentinel

# Check status
sudo journalctl -u sentinel -f

모든 기능

색상 출력은 자동 감지되며 (TTY) NO_COLOR 표준을 따릅니다.

종료 코드 (CI/CD용)

코드의미
0문제 없음
1경고 (사소한 문제)
2심각 (좀비, 권한 문제, 비정상 포트, 고위험 보안 이벤트)
3오류 (프로브 실패)

캡처하는 항목

플래그 표시 항목

시스템 문제

  • 🧟 좀비 프로세스: 항상 문제
  • 📂 높은 FD 수: 잠재적 디스크립터 누수 (>100개 열림)
  • ⏰ 장기 실행 프로세스: 7일 이상 재시작 없음
  • 🔓 권한 문제: 전역 쓰기 가능 구성 파일

네트워크 문제

  • 🌐 비정상 포트: 일반 포트 목록에 없는 서비스
  • 📡 새 리스너: 기준에 없던 포트
  • ❌ 누락된 서비스: 수신을 중단한 예상 포트

보안 문제 (--audit 사용 시)

  • 🔐 무차별 대입: 인증 실패 급증 (기간 내 5회 초과)
  • 📊 기준 이탈: 정상보다 현저히 높은 활동
  • 📝 민감 파일 접근: /etc/shadow, /etc/sudoers 수정
  • ⚠️ 의심스러운 프로세스: 민감 파일에 접근하는 비정상 프로세스
  • 💀 악성코드 지표: /tmp 또는 /dev/shm에서 실행

아키텍처```

┌─────────────────────────────────────────────────────────────────┐ │ Web Dashboard │ │ • Multi-user auth (RBAC) • Two-factor authentication │ │ • Personal API keys • Session management │ │ • Admin audit log • Email & Slack alerts │ │ • Security posture summary • Risk trend sparkline │ │ • Explainable risk factors • Event history timeline │ │ • Multi-host view • Historical charts │ └─────────────────────────────────────────────────────────────────┘ ▲ │ JSON via HTTP POST │ ┌─────────────────────────────────────────────────────────────────┐ │ C Foundation (99KB) │ │ • /proc parsing • SHA256 checksums │ │ • Process analysis • Drift detection │ │ • Network probing • Baseline learning │ │ • Auditd parsing • Risk scoring │ │ • Process chains • Anomaly detection │ └─────────────────────────────────────────────────────────────────┘

root@kitploit:~
### 왜 C인가?

| 고려사항 | Python | C |
|---------|--------|---|
| **의존성** | Python 런타임 필요 (~100MB) | 정적 바이너리 (~99KB) |
| **시작 시간** | ~500ms 인터프리터 시작 | ~1ms |
| **메모리** | ~30MB 기본 사용량 | <2MB |
| **이식성** | 일치하는 Python 버전 필요 | 모든 POSIX 시스템에서 실행 가능 |

## 빌드```bash
make              # Release build
make DEBUG=1      # Debug build with symbols
make test         # Run all tests (unit + integration)
make install      # Install to /usr/local/bin

Testing

C-Sentinel은 cmocka 테스트 프레임워크를 사용하는 128개 이상의 단위 테스트를 포함한 포괄적인 테스트 스위트를 제공합니다.

cmocka 설치

Debian/Ubuntu:```bash sudo apt-get install libcmocka-dev

root@kitploit:~
**Fedora/RHEL/CentOS:**```bash
sudo dnf install libcmocka-devel

macOS (Homebrew):```bash brew install cmocka

root@kitploit:~
**FreeBSD:**```bash
sudo pkg install cmocka

OpenBSD:```bash doas pkg_add cmocka

root@kitploit:~
### 테스트 실행```bash
make test              # Run all tests (unit + integration)
make unit-test         # Run unit tests only (requires cmocka)
make integration-test  # Run integration/smoke tests only
make coverage          # Run tests with gcov coverage report
make check-cmocka      # Verify cmocka is installed correctly

테스트 커버리지

단위 테스트는 다음을 포함합니다:

새 테스트 작성

테스트는 tests/src/에 있으며 cmocka 규칙을 사용합니다:```c #include <stdarg.h> #include <stddef.h> #include <setjmp.h> #include <cmocka.h> #include "test_helpers.h"

static void test_example(void **state) { (void)state; assert_int_equal(1 + 1, 2); }

int main(void) { const struct CMUnitTest tests[] = { cmocka_unit_test(test_example), }; return cmocka_run_group_tests(tests, NULL, NULL); }

root@kitploit:~
Add new test files to the Makefile's `TEST_SOURCES` variable.

## 플랫폼 지원

| 플랫폼 | 빌드 | 프로세스 프로브 | 네트워크 프로브 | 감사 |
|----------|-------|---------------|---------------|-------|
| Linux | ✅ | ✅ /proc | ✅ /proc/net | ✅ auditd |
| macOS | ✅ | ✅ libproc | ✅ netstat | ❌ N/A |
| FreeBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| OpenBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| NetBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| DragonFlyBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |

### 요구 사항

- C99를 지원하는 GCC 또는 Clang
- GNU Make (BSD에서는 gmake)
- 지원 플랫폼:
  - Linux (커널 3.x+)
  - macOS (10.12+)
  - FreeBSD (12+)
  - OpenBSD (7.x)
  - NetBSD (9.x)
  - DragonFlyBSD (6.x)
- auditd (선택 사항, `--audit` 플래그는 Linux 전용)

## 프로젝트 구조```
c-sentinel/
├── include/
│   ├── sentinel.h        # Core data structures
│   └── audit.h           # Audit integration types
├── src/
│   ├── main.c            # CLI entry point
│   ├── prober.c          # System probing (/proc)
│   ├── net_probe.c       # Network probing
│   ├── audit.c           # Auditd log parsing
│   ├── audit_json.c      # Audit JSON serialisation
│   ├── process_chain.c   # Process ancestry walking
│   ├── baseline.c        # Baseline learning
│   ├── sha256.c          # Pure C SHA256
│   └── ...
├── dashboard/            # Flask web dashboard
├── deploy/               # Systemd service files
└── docs/
    ├── AUDIT_SPEC.md     # Audit integration design
    └── DESIGN_DECISIONS.md

로드맵

완료됨 ✅

  • 핵심 시스템 프로버
  • JSON 직렬화
  • 네트워크 프로빙
  • 감시 모드 및 기준 학습
  • SHA256 체크섬
  • Systemd 서비스
  • 웹 대시보드
  • Auditd 통합
  • 편차 분석을 통한 위험 점수 계산
  • 프로세스 귀속
  • 대시보드 인증
  • 이벤트 기록 타임라인
  • 설명 가능한 위험 요소
  • 보안 태세 요약
  • 위험 추세 스파크라인
  • 학습/보정 표시기
  • 이메일 알림

계획됨 📋

  • Microsoft Teams 웹훅 알림
  • 사용자 정의 알림 규칙
  • PDF 보안 보고서
  • 호스트 수준 권한

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE를 참조하십시오.

저자

윌리엄 머레이 - UNIX 시스템 엔지니어링 30년 경력

  • GitHub: @williamofai
  • LinkedIn: William Murray
  • 웹사이트: speytech.com

"목표는 모니터링 도구를 대체하는 것이 아니라 데이터에 지혜를 더하는 것입니다."

도구 다운로드
기능명령어설명
빠른 분석--quick사람이 읽기 쉬운 요약
네트워크 프로브--network수신 포트 및 연결
감사 프로브--audit보안 이벤트 (루트 권한 필요)
감시 모드--watch --interval 60지속적 모니터링
기준 학습--learn현재 상태를 '정상'으로 저장
감사 기준--audit-learn정상 보안 패턴 학습
기준 비교--baseline변경 사항 감지
JSON 출력--jsonLLM/대시보드용 전체 지문
색상 출력--color색상 터미널 출력
설정--config현재 설정 표시
카테고리데이터목적
시스템호스트명, 커널, 가동 시간, 부하, 메모리기본 상태 컨텍스트
프로세스메타데이터 포함 주요 프로세스좀비, 누수, 중단 감지
구성파일 메타데이터 + SHA256 체크섬암호화 드리프트 감지
네트워크리스너, 연결, 포트서비스 모니터링
보안인증 실패, sudo 사용, 파일 접근위협 감지
모듈테스트커버리지
SHA25610NIST 테스트 벡터, 경계 사례
Sanitize30입력 검증, 주입 방지
Policy36명령/경로 허용/거부 규칙
JSON Serialize11출력 형식 지정, 이스케이프
Baseline11학습 모드, 편차 탐지
Config9구성 파싱
Audit21위험 점수, 이벤트 분석
  • macOS 지원
  • FreeBSD 지원 (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD)
  • 역할 기반 다중 사용자 대시보드
  • 2단계 인증 (TOTP)
  • 개인 API 키
  • 관리자 감사 로그
  • 세션 관리
  • Slack 웹훅 알림
  • 공개 데모 모드
  • 컬러 터미널 출력