npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

repomri

v0.1.0

Published

A zero-dependency MRI scan for your AI coding agent attack surface.

Readme

一条命令开始

npx repomri@latest .

生成可分享的单文件 HTML 报告:

npx repomri@latest . --format html --output repomri-report.html

无需账号、无需 API Key、不上传代码、运行时零依赖。

npm 首次发布前,可克隆仓库后执行 node bin/repomri.mjs .

为什么需要它

AI 编程代理会主动读取许多容易被忽视的文件:AGENTS.mdCLAUDE.md、Cursor Rules、Skills、MCP 配置、包安装脚本和 GitHub 工作流。这些入口可能悄悄扩大权限、泄漏密钥、绕过确认,或者执行未锁定版本的远程代码。

RepoMRI 只扫描这些真正的“代理攻击面”,并生成:

  • 0–100 风险分与 A+–F 等级
  • 精确到文件和行号的风险证据
  • 每条风险的可执行修复建议
  • 终端、JSON、独立 HTML 三种格式
  • 可嵌入 README 的 SVG 分数徽章
  • PR 中可直接拦截高风险变更的 GitHub Action

当前检测能力

内置 18 条确定性规则,覆盖六类风险:

| 类别 | 典型风险 | |---|---| | 指令完整性 | 覆盖上级指令、隐藏行为、绕过授权 | | 执行安全 | 破坏性命令、通用 Shell 包装 | | 密钥安全 | 明文 Token、凭证外传指令 | | 供应链 | 未锁版本的 MCP 包、远程脚本直接执行 | | 权限边界 | 通配工具权限、GitHub Token write-all | | 网络边界 | 非加密的远程 MCP 地址 |

RepoMRI 是 AI 代理配置的专项体检工具,适合与 Secret Scanner、SAST 一起使用。

在 GitHub PR 中使用

name: RepoMRI
on: [pull_request]
permissions:
  contents: read
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: LiaoQi98/repomri@v1
        with:
          fail-on: high

隐私

RepoMRI 不发起网络请求、没有遥测,只读取支持的代理表面文件。扫描结果始终留在本机。疑似密钥会在输出前自动脱敏。

参与贡献

最简单的贡献方式是提交“一条应该命中的危险示例 + 一条不应命中的安全示例”。详细说明见 CONTRIBUTING.md

如果 RepoMRI 帮你发现了意外风险,欢迎 Star,并把脱敏后的案例分享给社区。