neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your AI engineering team for every codebase.
Paste a GitHub repository. Nine specialised agents read it alongside
deterministic security tooling, argue with each other about what they find,
and return a report where every claim names a file, a line and a confidence.
No sign-up. No install. No API key.README 전문 보기 ↗Your AI engineering team for every codebase.
Paste a GitHub repository. Nine specialised agents read it alongside deterministic security tooling, argue with each other about what they find, and return a report where every claim names a file, a line and a confidence.
No sign-up. No install. No API key.
GitHub URL
↓ in-memory ingestion, nothing written to disk, nothing executed
Indexing module graph · structural metrics · dependency manifests
↓
Eight agents security · reliability · architecture · testing
in parallel dependencies · performance · AI-code · maintainability
↓
Aggregation findings describing the same issue are merged, and
corroboration raises confidence instead of the count
↓
Validator looks for reasons each finding is wrong, and records
the exchange as a debate transcript
↓
Report score · root causes · ordered plan · architecture map
· SARIF
Deterministic first, AI second. Static analysis finds what is provably there; a model is good at judging whether it matters. With no AI provider configured Sentinel still runs a real analysis — the agents fall back to their static paths, and the report's "What ran" panel says exactly which analyzers produced the findings and which were unavailable.
Nothing to install — the live app is at https://ai-software-health-audit.vercel.app/.
To run it yourself:
npm install
npm run dev
Open http://localhost:3000. No database, no API key, no Redis. Paste a public repository, or run the bundled demo.
npm run audit -- . # this checkout
npm run audit -- . --sarif out.sarif # for code scanning
npm run audit -- . --fail-on critical # exit 1 on a critical finding
The CLI runs the exact same pipeline as the web product — same rules, same
validator, same score — so a green CI run and a green report mean the same
thing. .github/workflows/sentinel.yml is Sentinel auditing itself and
publishing to GitHub code scanning; copy it into your own repository.
Every finding answers five questions, and refuses to be reported without them:
| What | A concrete statement about a specific line |
| Why it matters | The consequence, not a severity label |
| Evidence | What the analyzer saw, including what argued against it |
| Impact path | Where the control breaks down, step by step |
| How to fix it | Specific to this code, with a patch where one can be generated safely |
Plus a confidence and a validation status — confirmed, likely,
potential or dismissed — and the debate that produced them.
The validator's job is not to agree. It looks for the reason each finding is wrong and downgrades it when it holds:
Findings that survive carry a higher confidence. Findings that do not are kept in the report, marked dismissed, so you can see what was ruled out and disagree.
| Analyzer | What it does |
|---|---|
| Secret scanner | Vendor-format patterns plus a Shannon-entropy pass; placeholder-aware, so AKIAIOSFODNN7EXAMPLE is not reported as a live key |
| Pattern rules | ~40 rules across injection, configuration, reliability, performance and integration quality, with multi-line matching for calls that wrap |
| Module graph | Import resolution, cycle detection (Tarjan), reachability, dead exports, layering violations |
| Structural metrics | Cyclomatic-style complexity, nesting depth, function length, cross-file duplication fingerprinting |
| Dependency advisories | Live OSV.dev lookup, with a bundled snapshot so the analysis still works offline |
| AI reasoning | Optional. Enriches findings the static pass already located, and adjudicates the validator's hardest calls |
Sentinel does not claim to detect AI-generated code — no tool can do that reliably, and pretending otherwise would undermine everything else in the report. What this agent measures is a cluster of patterns that appear when code is produced faster than it is integrated: imports that resolve to nothing, duplicated blocks, placeholder implementations, exports nobody consumes. Every string it emits says pattern, never generated.
Security 25% · Reliability 15% · Architecture 15% · Testing 10%
Dependencies 10% · Performance 10% · Maintainability 10% · AI code 5%
Each category starts at 100 and loses points per finding, weighted by severity and by how confident the validator was — a dismissed finding costs nothing. Two properties matter:
It is Sentinel's own model, not an industry standard, and the interface says so wherever the number appears. The weights are configurable.
Static analysis is only usable if you can tell it about your fixtures. Two mechanisms, both conventional:
# .sentinelignore — gitignore-style globs, optionally scoped to rules
tests/fixtures/**
src/demo/*.ts sec.secret.*
!tests/fixtures/real-config.ts
// sentinel-disable-next-line sec.sql-injection
await db.query(`SELECT * FROM ${table}`);
Suppressed findings are counted and reported, never silently dropped. A report that hides how much it was told to ignore is not an honest report.
The public instance runs on Vercel at https://ai-software-health-audit.vercel.app/.
A serverless host runs each route as its own function with its own memory, so
a scan written by POST /api/scans is invisible to the request that renders
/scan/<id> a moment later. Rather than 404, Sentinel detects this and
switches how a scan is carried:
What that mode honestly cannot do is outlive the request: no history, no share
links, and a dropped connection means running the analysis again. All three
say so in the interface rather than failing quietly. GET /api/health reports
"ephemeral": true when this is in effect. Set DATABASE_URL to turn it off.
Everything is optional; GET /api/health reports what is on.
| Variable | Unset | Set |
|---|---|---|
DATABASE_URL | In-process store, mirrored to .sentinel/ in dev | PostgreSQL (npm i pg; schema in db/migrations, model in prisma/schema.prisma) |
REDIS_URL | Scans run in the web process | Dispatched to npm run worker (npm i bullmq ioredis) |
AI_PROVIDER + AI_API_KEY + AI_MODEL | Deterministic analysis only | Model enrichment and validator adjudication |
GITHUB_TOKEN | 60 API requests/hour | 5,000/hour |
SENTINEL_SECRET | Sessions reset on restart | Sessions persist |
SENTINEL_DEMO_ONLY | Live repositories allowed | Demo only — useful for a public instance |
See .env.example for the full list, and SECURITY.md for
the threat model. Read that one before deploying this publicly.
src/
agents/ one module per agent, all behind a single interface
orchestrator/ ingests, wires the pipeline to the event stream, persists
validator/ challenges findings and records the debate
lib/
analysis/ pipeline · index · rules · graph · metrics · scoring · roadmap
security/ secrets · dependency advisories
ai/ provider abstraction (Anthropic / OpenAI / Google / compatible)
db/ Store port with in-process and PostgreSQL adapters
events/ sequenced event log behind SSE
queue/ in-process and Redis drivers
app/ routes, API, pages
components/ landing · scan · report · charts · ui
scripts/audit.ts CLI over the same pipeline
Adding an agent means implementing one interface and adding it to the registry. Adding a rule means adding an object to a table. Neither touches the orchestrator.
Progress is a sequenced, durable event log streamed over SSE. A client that
reconnects sends Last-Event-ID and replays from where it left off, so a
dropped connection loses nothing — and a client that connects mid-scan gets
the whole run, including events still buffered in memory. There is a polling
fallback for environments that buffer streams.
npm run dev # development server
npm run verify # typecheck + lint + test + build
npm test # 183 tests
npm run audit -- . # audit this repository
Tests cover URL parsing, archive safety against hostile inputs, secret detection and redaction, deduplication and confidence combination, the scoring model, suppressions, the live-stream reducer, API route handlers, SARIF export and an end-to-end scan of the bundled sample repository.
The bundled sample repository (acme-commerce) is a real, small TypeScript
codebase with deliberate defects, and the demo runs the same pipeline over
it rather than replaying canned results. Every finding, score, root cause
and architecture node in demo mode is derived, which is the only way the demo
stays consistent as the engine changes. It is labelled DEMO DATA everywhere
it appears.
Sentinel is an analysis aid, not a substitute for a security review. It will never tell you your code is safe — when nothing turns up, it says no high-confidence vulnerabilities were identified by the current analysis, because that is a different statement and the difference matters.
MIT.