Lantunnel
Lantunnel P2P 저지연·암호화·릴레이 폴백으로 포트포워딩 없이 LAN 원격 접근
NiteWatch는 Windows용 소비자 엔드포인트 모니터로, 모든 외부 연결을 기록
NiteWatch is a consumer endpoint monitor for Windows that logs every outbound connection, reconstructs the causal chain that caused it, and explains what happened in plain English. Local-only analysis
보안Go · HTMLGitHub @GrimthornRedbeard온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Consumer endpoint monitor for Windows: logs every outbound connection, reconstructs the causal chain that caused it, explains it in plain English. Local-only, no kernel driver, no automatic response.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Somebody's knocking on your door at 3am. Here's who.
Pre-release, unsigned, and the false-positive rate is unmeasured. Windows will call it an unrecognised app; on Windows 11 with Smart App Control enabled it will not run at all. A build is downloadable from threattape.com with the caveats stated in full. Everything it cannot do is compiled into the binary and one click from the dashboard.
NiteWatch is a lightweight personal security agent for Windows. It watches what your computer is actually doing — which programs are running, who they're talking to, what files they're touching — and when something is wrong, it tells you the story in plain English with a one-click fix.
| Area | Examples |
|---|---|
| Command & control | connections to known malware infrastructure, programs dialling bare addresses they never looked up, unsigned software reaching new destinations, first contact with watched jurisdictions |
| Persistence | autostart entries added from temporary folders, an existing startup entry silently repointed, launch hijacking (IFEO/AppInit) |
| Ransomware | one program rewriting many documents across folders, encryption-style renames, ransom notes, backup destruction |
| Credential theft | a program that isn't the owner reading saved passwords, SSH keys, cloud credentials or wallet files |
Noise control is treated as a feature, not a detail: verified-publisher suppression, a post-install learning window, per-program/destination "always allow", and severity gating so only serious findings interrupt you.
Feature complete against the original design; not yet validated on real hardware over time. The false-positive rate during ordinary use is the open question.
Build (pure-Go, single static exe, no CGO):
cd agent && CGO_ENABLED=0 go build -o nitewatch ./cmd/nitewatch
Cross-compile for Windows:
cd agent && GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o ../dist/nitewatch.exe ./cmd/nitewatch
-trimpath matters: builds are reproducible, and released binaries have their
SHA-256 published, so a build made without it will not match the hash on the
download page even when the source is identical.
dist/ is git-ignored build output. To hand someone a working copy, ship the
exe together with agent/scripts/run-nitewatch.bat — that launcher is the
source of truth, and it must sit in the same directory as the exe because it
self-elevates and then runs nitewatch.exe from its own location.
dist/ is where a build is picked up from, so rebuild it whenever the thing
being handed over changes. A stale exe there is indistinguishable from a
current one at a glance, and the file's timestamp does not help: Go stamps the
commit time into the binary, not the build time, so a fresh build of old code
and an old build of old code look the same. To check what a binary actually is:
go version -m dist/nitewatch.exe | grep vcs
Build releases from the main checkout, not a git worktree. Go recognises a
git repository only by a .git directory; a worktree has a .git file, so
Go walks past it and stamps whatever repository encloses it — on the dev box,
the unrelated parent repo. The build still works; its vcs.revision is simply
wrong, and so is the "quote this in any bug report" line.
The running agent reports the same identity in its About panel, which is the only way to check on a machine without Go.
Windows (live) — must run elevated; ETW requires Administrator:
nitewatch.exe --serve
Or double-click run-nitewatch.bat, which requests elevation for you. Then
open http://127.0.0.1:8973.
Dev/demo (any OS) — replay a recorded trace, no elevation needed:
./nitewatch --replay testdata/traces/basic.jsonl
Useful flags: --no-feeds (skip threat-intel downloads), --no-recon (skip the
address-ownership dataset), --rules <dir> (load rule packs from disk during
development). Everything else is configured from the dashboard's Settings panel.
Export for Keystone — write the ledger as a file Keystone (the Threat Tape correlation tier) can ingest, then exit. Nothing is sent anywhere:
./nitewatch -db nitewatch.db -export-keystone export.json
The format, the versioned causal-chain ("Story") contract it carries, and the contract test against Keystone's parser are in docs/story-format.md.
agent/
cmd/nitewatch/ entrypoint and run modes
internal/
source/ telemetry: Windows ETW, and a JSONL replay source for tests
event/ the source-agnostic event vocabulary
graph/ causal event graph (GoRapide poset) + rolling window + Story
keystone/ ledger -> Keystone ingest file (docs/story-format.md)
ledger/ SQLite flight recorder: connections, alerts, actions
detect/ detection engine, detectors, suppression gates
filewatch/ file classification and encryption-burst tracking
autostart/ autostart snapshot + diff
intel/ threat-intel feeds, matched offline
recon/ offline address ownership (ASN, country)
respond/ remediation actions and undo
notify/ notification gating and Windows toasts
api/ loopback HTTP + embedded dashboard
rules/ shipped detection rule packs (YAML), embedded in the binary
testdata/traces/ replay fixtures
See NOTICE for required attributions.
Copyright © 2026 Threat Tape LLC.
NiteWatch is free software, licensed under the GNU General Public License
version 3 or later. See LICENSE for the full text.
The licence is not a preference so much as an inheritance: the Windows
event-tracing consumer this agent depends on (github.com/0xrawsec/golang-etw)
is GPL-3.0, and linking it makes the whole program GPL-3.0. Check a
dependency's licence before you ship a binary, not after.
Every source file carries an SPDX header. agent/internal/help/licenses.md is
compiled into the binary and shown in the dashboard's Limits & roadmap
panel, which is where the GPL wants an interactive program's legal notices to
be, and where the threat-intel feeds require their attributions to appear.
Third-party components and their licences are listed in that document. The short version: golang-etw and golang-utils are GPL-3.0, gorapide is MIT, golang.org/x/sys and the modernc.org SQLite stack are BSD-3-Clause.