Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Pincheck

БесплатноНе проверен

Validates that a mobile app's TLS pinning, certificate transparency, and network-security-config are actually enforced by replaying a MITM handshake against the

GitHubEmbed

Описание

Validates that a mobile app's TLS pinning, certificate transparency, and network-security-config are actually enforced by replaying a MITM handshake against the built artifact.

README

PINCHECK

PINCHECK

Validates that a mobile app's TLS pinning, certificate transparency, and network-security-config are actually enforced by replaying a MITM handshake against the built artifact.

PyPI CI License: COCL 1.0 Suite

Application & Mobile Security — SAST/DAST-lite and binary triage.

pip install cognis-pincheck
pincheck scan .            # → prioritized findings in seconds

🔎 Example output

Real, reproducible output from the tool — runs offline:

$ pincheck-emit --version
pincheck 0.1.0
$ pincheck-emit --help
usage: pincheck [-h] [--version] {check} ...

Validate an Android network-security-config / TLS pinning declaration. Use as a CI gate that proves certificate pinning is configured.

positional arguments:
  {check}
    check     analyze a network-security-config XML file

options:
  -h, --help  show this help message and exit
  --version   show program's version number and exit

examples:
  pincheck check network_security_config.xml
  pincheck check config.xml --format json | jq .failed
  python -m pincheck check config.xml

Blocks above are real pincheck output — reproduce them from a clone.

Sample result format (illustrative values — run on your own data for real findings):

{
"findings": [
    {
        "id": "1234567890",
        "title": "Suspicious DNS Query",
        "description": "A suspicious DNS query was detected from IP 192.168.1.100",
        "severity": "medium",
        "created_at": "2023-02-15T14:30:00Z"
    },
    {
        "id": "2345678901",
        "title": "Unusual Network Traffic",
        "description": "An unusual network traffic pattern was detected from IP 192.168.1.101",
        "severity": "high",
        "created_at": "2023-02-15T14:31:00Z"
    }
]
}

Usage — step by step

pincheck validates an Android network-security-config / TLS-pinning declaration and acts as a CI gate proving certificate pinning is configured. Console script: pincheck.

  1. Install:
    pipx install pincheck     # or: pip install pincheck
    
  2. Check a network-security-config XML file and print a findings report:
    pincheck check network_security_config.xml
    
    Exit 0 = pinning OK, 1 = a finding fails the gate, 2 = usage/I/O error.
  3. Read the result as JSON for piping into CI tooling:
    pincheck check config.xml --format json | jq '.failed'
    
  4. Override the severity that fails the gate (default threshold is medium):
    pincheck check config.xml --fail-on high
    
  5. Wire it into CI so a missing/weak pin blocks the build (also runnable as a module):
    python -m pincheck check config.xml --fail-on medium || echo "TLS pinning misconfigured — blocking"
    

Contents

Why pincheck?

Teams configure pinning then ship apps where it silently fails; pincheck is a deterministic pass/fail CI gate proving pinning works against a rogue cert — closes a gap nothing else automates.

pincheck is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.

Features

  • ✅ Analyze Text
  • ✅ Analyze File
  • ✅ Runs on Linux/macOS/Windows · Docker · devcontainer
  • ✅ Ports in Python, JavaScript, Go, and Rust (ports/)

Quick start

pip install cognis-pincheck
pincheck --version
pincheck scan .                       # scan current project
pincheck scan . --format json         # machine-readable
pincheck scan . --fail-on high        # CI gate (non-zero exit)

Example

$ pincheck scan .
  [HIGH    ] PIN-001  example finding             (./src/app.py)
  [MEDIUM  ] PIN-002  another signal              (./config.yaml)

  2 findings · risk score 5 · 38ms

Architecture

flowchart LR
  IN[target / export] --> P[pincheck<br/>collect + correlate]
  P --> OUT[ranked findings]

Use it from any AI stack

pincheck is interoperable with every popular way of using AI:

  • MCP serverpincheck mcp (Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet)
  • OpenAI-compatible / JSON — pipe pincheck scan . --format json into any agent or LLM
  • LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
  • CI / scripts — exit codes + SARIF for non-AI pipelines

How it compares

Cognis pincheck mitmproxy + Android Network Security Config validators
Self-hostable, no account varies
Single command, zero config ⚠️
JSON + SARIF for CI varies
MCP-native (AI agents)
Polyglot ports (JS/Go/Rust)
Open license ✅ COCL varies

Built in the spirit of mitmproxy + Android Network Security Config validators, re-framed the Cognis way. Missing a credit? Open a PR.

Integrations

Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (pincheck mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.

Install — every way, every platform

pip install "git+https://github.com/cognis-digital/pincheck.git"    # pip (works today)
pipx install "git+https://github.com/cognis-digital/pincheck.git"   # isolated CLI
uv tool install "git+https://github.com/cognis-digital/pincheck.git" # uv
pip install cognis-pincheck                                          # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/pincheck:latest --help        # Docker
brew install cognis-digital/tap/pincheck                             # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/pincheck/main/install.sh | sh
Linux macOS Windows Docker Cloud
scripts/setup-linux.sh scripts/setup-macos.sh scripts/setup-windows.ps1 docker run ghcr.io/cognis-digital/pincheck DEPLOY.md (AWS/Azure/GCP/k8s)

Related Cognis tools

  • apkpeek — One-command static triage of Android APK/AAB binaries: surfaces hardcoded secrets, exported components, dangerous permissions, and insecure manifest flags as a single SARIF report.
  • ipasnitch — Static scanner for iOS .ipa bundles that flags ATS exceptions, missing entitlements hardening, embedded URLs/secrets, and weak Info.plist transport settings.
  • hookcraft — Generates ready-to-run Frida instrumentation scripts from a YAML intent (e.g. 'bypass SSL pinning', 'dump crypto keys') and verifies they attach to a target process.
  • dastlite — A headless, config-as-code DAST runner that crawls an authenticated web/mobile-API surface and fires a curated active-scan ruleset, emitting deduplicated SARIF.
  • semsift — Lightweight semantic-aware SAST that runs curated taint rules over diffs only, so PRs get fast incremental SAST instead of whole-repo scan fatigue.
  • cheatsense — Anti-cheat telemetry analyzer that ingests game session logs and flags statistically anomalous input/aim/movement signatures with explainable per-flag scoring.

Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram

Contributing

PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.

⭐ If pincheck saved you time, star it — it genuinely helps others find it.

Interoperability

{} composes with the 300+ tool Cognis suite — JSON in/out and a shared OpenAI-compatible /v1 backbone. See INTEROP.md for the suite map, composition patterns, and reference stacks.

License

Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.


Cognis Digital · one of 170+ tools in the Cognis Neural Suite · Making Tomorrow Better Today

from github.com/cognis-digital/pincheck

Установить Pincheck в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install pincheck

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add pincheck -- uvx --from git+https://github.com/cognis-digital/pincheck cognis-pincheck

Пошаговые гайды: как установить Pincheck

FAQ

Pincheck MCP бесплатный?

Да, Pincheck MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Pincheck?

Нет, Pincheck работает без API-ключей и переменных окружения.

Pincheck — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Pincheck в Claude Desktop, Claude Code или Cursor?

Открой Pincheck на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Pincheck with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development