AppLedger

net.appledger由 appledger.net 發布v0.2.5更新於 Oct 24, 2026

Plain-English security checks for AI-built apps (Trivy + Opengrep), with fix requests for agents

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

AppLedger 對 AI 打造的应用資料夾做白話文安全檢查,並產出可直接交給編碼代理的修正請求。

可以做什麼
用 Trivy 和 Opengrep 掃描應用資料夾,檢查外洩的金鑰、過期相依套件、有風險的容器設定和危險程式碼模式,並用日常用語說明問題、評分以及目前誰可以使用這個應用。產出可直接交給編碼代理的修正請求,修正後再檢查一次。在應用的 .appledger 資料夾中輸出報告、修正提示和發現結果檔案。在上傳前預覽哪些檔案會被送出、哪些被排除。可選擇把每次檢查的摘要存到公司儀表板,並安排每日或每週檢查。
適用情境
適合用 AI 編碼工具做出應用、想知道能否安全分享,或想取得具體修正清單回饋給該工具的人。也適合想集中記錄團隊所檢查應用的團隊。
執行需求
以 Python 套件形式透過 uvx 在本機執行(需要 uv)。預設的託管模式需要連線到掃描服務的網路;本機模式還需安裝 Trivy、Opengrep 及其規則。選用的連線金鑰透過 APPLEDGER_KEY 提供,或用連線指令儲存;APPLEDGER_MODE 選擇託管或本機模式。
安裝前請注意
託管模式下,Git 會提交的檔案會上傳到第三方服務,屬於僱主或客戶的程式碼可能需要先取得許可;機密類檔案會被排除,每個資料夾首次上傳前會要求確認。連線金鑰(APPLEDGER_KEY)會存在磁碟上並可存取儀表板。沒有金鑰時,託管檢查會回傳儲存連結,摘要最多保留 24 小時。排程檢查需要一次性的同意參數。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 AppLedger,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

AppLedger honest check

Honest security feedback, in plain language, for apps people build with AI tools such as Claude Code, Codex, Cursor and Lovable.

AppLedger checks your app folder with independent scanners and explains what they find in everyday words: what is wrong, why it matters, and what to do. It also writes a fix request you can hand straight to the AI tool that built the app, then checks again.

What it checks

ScannerFinds
TrivyLeaked passwords and keys, outdated libraries with known security problems, risky container setup
OpengrepDangerous code patterns: SQL injection, command injection, unsafe data loading, debug mode left on
SonarQube (optional, local mode)Code quality and more security hotspots, if you already run a SonarQube server

Each run produces, in <your-app>/.appledger/:

  • report.html: a score, who may use the app right now (only you, your team, the whole company), and every problem in plain words
  • fix-prompt.md: a ready-made fix request for your coding agent
  • findings.json: the same findings for tools and dashboards

Two ways to run

ModeWhat you installWhere your code goes
Hosted (default)Only this packageSource files Git would commit are zipped, sent over HTTPS to appledger.net, scanned and deleted right after. Secret files are never sent. You confirm before the first upload of each folder
Local (--local or APPLEDGER_MODE=local)Also Trivy, Opengrep and the Opengrep rulesStays on your computer. With a connection key, only a summary goes to your dashboard (see below); --no-dashboard skips even that

What gets uploaded in hosted mode

  • Sent: files Git would commit (git ls-files, including new files that aren't ignored). Outside a Git repository, .gitignore is still honoured.
  • Never sent: .env and .env.* (except .env.example, .env.sample, .env.template), *.pem, *.key, *.p12, *.pfx, SSH keys, .npmrc, .pypirc, .netrc, *credentials*.json, service-account*.json, secrets.*, the folders cert, certs, secrets, .ssh and .aws, .claude/settings.local.json, Terraform state, password files, Ansible Vault files, Kubernetes/Helm secret manifests, certificates and similar (full list in src/appledger/uploadpolicy.py). The server drops such files again as a second safety net.
  • Skipped: dependencies, build output, media, documents and data files (CSV, spreadsheets, slides, SQL, logs, data dumps) and files over 1 MB.

If a secret file is committed to Git or not ignored, the check reports it as a problem by file name. Its content is never read or sent.

See exactly what would be sent, and what is left out and why, without uploading anything:

python -m appledger path/to/your-app --list-files

The first hosted check of a folder asks you to confirm. In scripts and scheduled runs, pass --yes. If the code belongs to your employer or a client, make sure you're allowed to upload it, or use local mode.

Install

Claude Code plugin (recommended: adds the guided check-my-app skill):

claude plugin marketplace add contentasoftware/appledgerclaude plugin install appledger@appledger

In the Claude Code desktop app, add the marketplace contentasoftware/appledger in the plugin settings instead. Start a new session, then ask: "Is my app safe to share?" or "Add this app to AppLedger".

MCP server only (needs uv):

claude mcp add appledger -- uvx --from appledger appledger-mcp

Command line:

pip install appledgerpython -m appledger path/to/your-app

Step-by-step guide with troubleshooting: https://appledger.net/docs/

Version 0.2.0 (upload preview, consent, secret-file exclusion, scheduling) is being released to PyPI; until then pip install appledger gets 0.1.x.

Company dashboard

Create a free account at appledger.net to keep every app your people check in one ledger: owner, grade, score trend, who may use it and which AI tool built it. Create a connection key under "Connect a computer", then save it on each computer:

python -m appledger --connect al_your_key

Or tell Claude: "Connect AppLedger with this key: al_…". The key is saved in ~/.appledger/key; APPLEDGER_KEY overrides it and --disconnect removes it.

From then on each check also saves a summary to your dashboard: the app's name, score, grade, problem counts, the list of problems found (level and short title, up to 60; never code or file paths), and the scanners used. Never the code.

Not connected yet? From 0.2.3, a hosted check from a computer without a key ends with a save link, also shown in report.html:

Save this result to a free AppLedger ledger (link works for 24 hours): https://appledger.net/app/claim.php?t=...

Open it, create a free account or log in, and the check is in your ledger; the page then offers a key for that computer. Until the link is used, the service keeps only the check's summary (app name, score, the problems' levels and titles; never code), for up to 24 hours. A link works once; --no-dashboard turns it off.

You can also add an app in the web app with Add app: register it without code, or upload a zip to check it in the browser (the zip is scanned and deleted the same way).

Scheduled checks

python -m appledger path/to/your-app --schedule weekly --yes   # or dailypython -m appledger --schedules                                 # listpython -m appledger path/to/your-app --schedule off             # stop

Uses Windows Task Scheduler on Windows and cron on macOS and Linux. Hosted scheduled checks need the one-time --yes consent; add --local to schedule local checks instead. --quiet prints one line per check.

Local mode setup

  1. Trivy: winget install AquaSecurity.Trivy (Windows) or brew install trivy (Mac)
  2. Opengrep: download from the releases page and put it on your PATH
  3. Rules: git clone --depth 1 https://github.com/opengrep/opengrep-rules.git ~/.appledger/opengrep-rules
  4. Check: python -m appledger --doctor

Repository layout

PathWhat
src/appledger/scanner.pyScanners, plain-language translation, report and fix request
src/appledger/client.pyPicks the files to send (honouring .gitignore) and sends them to the hosted service
src/appledger/uploadpolicy.pyThe full list of secret files that are never uploaded, used by client and server
src/appledger/service.pyServer side: unpacks an upload safely and scans it
src/appledger/server.pyLocal MCP server used by the plugin
plugin/Claude Code / Codex plugin with the check-my-app skill
tests/mcp_smoke.pyCalls every MCP tool like an agent would

License

MIT. The Opengrep community rules used by the scanner have their own license (Commons Clause); check it before using them in a paid service.

來源:README.md,提交 da3efbf

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

3
  1. v0.2.5最新Oct 14, 2026
  2. v0.2.3Oct 14, 2026
  3. v0.2.2Oct 12, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分