Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
crypto-scanner — 用于扫描代码库中量子脆弱密码学的CLI工具。 | Kitploit
工具/GitHubGitHub/mbennett-labs/crypto-scanner
静态代码分析 (SAST)漏洞分析代码分析密码学DevSecOps秘密检测供应链安全
GitHubmbennett-labs/crypto-scanner

crypto-scanner

用于扫描代码库中量子脆弱密码学的CLI工具。

查看仓库
676个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Crypto Scanner

在量子计算机到来前,扫描你的代码库以发现易受量子攻击的加密算法。

PyPI Version PyPI Downloads Python 3.10+ License: MIT Build Status

快速开始 • 为何要准备量子安全? • 用法 • 风险等级 • CI/CD • 关于


概述

Crypto Scanner 是一款 CLI 工具,可扫描你的代码库中的加密算法,并生成量子脆弱性风险评估报告。它能分析源代码、配置文件和 X.509 证书,识别出将被量子计算机攻破的加密方式。

由 Quantum Shield Labs 开发——帮助组织为后量子时代做好准备。


为何要准备量子安全?

量子威胁真实存在

能够破解 RSA 和 ECC 的密码学相关量子计算机(CRQC)预计将在 2033 年 之前出现。这不是科幻小说——而是各国政府和企业正在积极准备的现实。

“现在收集,以后解密”(HNDL)

攻击者已经在收集加密数据,期望在量子计算机可用时解密它们。如果你的数据具有长期价值(医疗记录、财务数据、商业机密、政府通信),那么它已经处于风险之中。

你无法等待的原因

挑战现实
迁移复杂度大型代码库需要 3-5 年以上的过渡期
供应链深度你的依赖中包含你看不到的易受攻击的加密算法
合规要求NIST PQC 标准(ML-KEM、ML-DSA)现已最终确定

Shor 算法:威胁所在

Shor 算法在足够强大的量子计算机上运行,可以有效分解大整数并计算离散对数。这将破解:

  • RSA(所有密钥长度)
  • ECDSA/ECC(所有曲线)
  • DH/ECDH(密钥交换)
  • DSA(数字签名)

第一步:建立清单

你无法迁移那些你不知道自己拥有的东西。Crypto Scanner 提供加密算法清单,这是任何量子就绪计划中必不可少的第一步。

📘 了解更多:阅读 Quantum Shield Labs Playbook 获取全面的迁移指南。


快速开始

在 60 秒内获得你的第一个量子漏洞扫描结果:

root@kitploit:~
# 从 PyPI 安装
pip install crypto-scanner

# 扫描你的项目
crypto-scanner scan .

# 生成管理层 HTML 报告
crypto-scanner scan . --html --output quantum-risk-report.html

就是这样。你现在拥有了一份代码库的完整加密算法清单。


安装

从 PyPI 安装(推荐)

root@kitploit:~
pip install crypto-scanner

从源码安装

root@kitploit:~
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e .

环境要求

  • Python 3.10 或更高版本
  • 支持 Windows、macOS 和 Linux

用法

基本命令

root@kitploit:~
# 扫描目录(JSON 输出至 stdout)
crypto-scanner scan <directory>

# 显示支持的文件类型和风险分类
crypto-scanner info

# 显示版本
crypto-scanner --version

CLI 选项

示例

root@kitploit:~
# 扫描并显示详细信息
crypto-scanner scan ./src --verbose

# 将 JSON 报告保存到文件
crypto-scanner scan . --output crypto-audit.json

# 为利益相关者生成品牌化的 HTML 报告
crypto-scanner scan . --html --output quantum-assessment.html

# 排除特定目录
crypto-scanner scan . --exclude vendor --exclude legacy

# 排除文件模式
crypto-scanner scan . --exclude "*.test.js" --exclude "*.spec.ts"

# 组合选项
crypto-scanner scan ./backend -v --exclude node_modules -o report.json

默认排除项

以下内容默认排除,以避免扫描依赖:

root@kitploit:~
.git, .svn, .hg          # 版本控制
node_modules, vendor     # 包依赖
__pycache__, .pytest_cache, .mypy_cache
.venv, venv, env         # 虚拟环境
dist, build, out         # 构建输出
.idea, .vscode           # IDE 目录
site-packages, third_party

风险分类

严重 — 量子脆弱

将被 Shor 算法完全破解的算法:

高 — 已弃用或弱

已知存在经典漏洞的算法:

中 — 监视中

当前安全但应继续监视的算法:

低 — 充分或抗量子

提供足够保护的算法:


支持的文件类型

源代码

配置文件

证书

扩展名格式
.pemPEM 编码
.crt, .cer, .cert证书
.derDER 编码

输出格式

JSON 报告

默认输出格式,适用于自动化和 CI/CD 管道:

root@kitploit:~
{
  "scan_directory": "/path/to/project",
  "scan_timestamp": "2026-02-06T10:30:00",
  "scanner_version": "0.1.0",
  "summary": {
    "total_files_scanned": 150,
    "total_findings": 23,
    "critical_count": 5,
    "high_count": 8,
    "medium_count": 7,
    "low_count": 3
  },
  "excluded_patterns": [".git", "node_modules", "..."],
  "findings": [
    {
      "file_path": "/path/to/auth.py",
      "line_number": 42,
      "algorithm": "RSA",
      "key_size": 2048,
      "risk_level": "critical",
      "description": "RSA key generation detected",
      "recommendation": "Plan migration to post-quantum algorithms (ML-KEM, ML-DSA)",
      "context": "key = rsa.generate_private_key(public_exponent=65537, key_size=2048)"
    }
  ]
}

HTML 报告

专业、自包含的报告,带有 Quantum Shield Labs 品牌标识:

  • 执行摘要,一目了然的风险指标
  • 可视化风险分布图
  • 可排序的发现表格,带有过滤功能
  • 深色主题,优化可读性
  • 单文件,无外部依赖(便于共享)

生成方式:

root@kitploit:~
crypto-scanner scan . --html --output report.html

CI/CD 集成

GitHub Actions

root@kitploit:~
name: Crypto Vulnerability Scan

on: [push, pull_request]

jobs:
  crypto-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Crypto Scanner
        run: pip install crypto-scanner

      - name: Run Crypto Scan
        run: crypto-scanner scan ./src --output crypto-report.json

      - name: Check for Critical Findings
        run: |
          CRITICAL=$(jq '.summary.critical_count' crypto-report.json)
          if [ "$CRITICAL" -gt 0 ]; then
            echo "::error::Found $CRITICAL critical quantum-vulnerable algorithms!"
            jq '.findings[] | select(.risk_level == "critical")' crypto-report.json
            exit 1
          fi

      - name: Upload Report
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: crypto-vulnerability-report
          path: crypto-report.json

GitLab CI

root@kitploit:~
crypto-scan:
  stage: security
  image: python:3.12
  script:
    - pip install crypto-scanner
    - crypto-scanner scan . --output crypto-report.json
    - |
      CRITICAL=$(jq '.summary.critical_count' crypto-report.json)
      if [ "$CRITICAL" -gt 0 ]; then
        echo "Critical quantum-vulnerable cryptography detected!"
        exit 1
      fi
  artifacts:
    reports:
      dotenv: crypto-report.json
    paths:
      - crypto-report.json
    when: always

Pre-commit 钩子

添加到 .pre-commit-config.yaml:

root@kitploit:~
repos:
  - repo: local
    hooks:
      - id: crypto-scanner
        name: Crypto Scanner
        entry: bash -c 'crypto-scanner scan . --output /tmp/crypto-scan.json && CRITICAL=$(jq ".summary.critical_count" /tmp/crypto-scan.json) && [ "$CRITICAL" -eq 0 ]'
        language: system
        pass_filenames: false
        always_run: true

简单 Shell 脚本

root@kitploit:~
#!/bin/bash
# crypto-check.sh - 如果发现严重漏洞则失败

set -e

crypto-scanner scan . --output /tmp/crypto-report.json

CRITICAL=$(jq '.summary.critical_count' /tmp/crypto-report.json)
HIGH=$(jq '.summary.high_count' /tmp/crypto-report.json)

echo "扫描完成:$CRITICAL 个严重,$HIGH 个高风险发现"

if [ "$CRITICAL" -gt 0 ]; then
    echo "失败:检测到严重的易受量子攻击的加密算法!"
    exit 1
fi

架构

root@kitploit:~
crypto-scanner/
├── src/crypto_scanner/
│   ├── cli.py              # Typer CLI 接口
│   ├── scanner.py          # 核心编排逻辑
│   ├── models.py           # Pydantic 数据模型
│   ├── patterns.py         # 50 多个正则检测模式
│   ├── analyzers/          # 文件类型分析器
│   │   ├── base.py         # 抽象基类
│   │   ├── source.py       # 源代码分析器(14 种语言)
│   │   ├── config.py       # 配置文件分析器
│   │   └── certificate.py  # X.509 证书分析器
│   └── reporters/          # 输出生成器
│       ├── json_reporter.py
│       └── html_reporter.py
└── tests/                  # 综合测试套件

工作原理

  1. Scanner 递归遍历目标目录,遵守排除模式
  2. Analyzers 根据文件扩展名分发:
    • SourceCodeAnalyzer — 跨 14 种编程语言的模式匹配
    • ConfigAnalyzer — YAML/JSON 解析 + 配置文件的模式匹配
    • CertificateAnalyzer — X.509 解析以提取密钥算法和长度
  3. Patterns 模块包含 50 多个用于加密 API 检测的正则模式
  4. Reporters 将发现结果聚合为 JSON 或 HTML 格式

贡献

欢迎贡献!以下是如何开始:

开发环境设置

root@kitploit:~
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e ".[dev]"

运行测试

root@kitploit:~
# 运行所有测试
pytest tests/ -v

# 运行测试并生成覆盖率报告
pytest tests/ -v --cov=crypto_scanner --cov-report=html

添加新模式

加密模式定义在 src/crypto_scanner/patterns.py 中。每个模式包括:

  • 用于检测的正则模式
  • 算法名称
  • 风险等级(CRITICAL、HIGH、MEDIUM、LOW)
  • 描述和建议

拉取请求指南

  1. Fork 仓库
  2. 创建功能分支(git checkout -b feature/new-pattern)
  3. 为新功能添加测试
  4. 确保所有测试通过(pytest tests/ -v)
  5. 提交带有清晰描述的拉取请求

许可证

MIT 许可证 — 详情见 LICENSE。


关于 Quantum Shield Labs

Quantum Shield Labs

Quantum Shield Labs 帮助组织为后量子时代做好准备,提供:

  • 量子风险评估 — 全面的加密资产清点和风险分析
  • PQC 迁移规划 — 迁移到抗量子算法的路线图
  • 高管简报 — 面向董事会的量子风险演讲
  • 开发者培训 — 面向工程团队的实践工作坊

资源

  • 量子就绪手册
  • 博客
  • 联系我们

由 Quantum Shield Labs 精心打造

下载工具
CNSA 2.0 截止日期NSA 要求到 2033 年采用抗量子算法
选项简写描述
--html生成 HTML 报告而不是 JSON
--output-o将报告保存到文件(而不是 stdout)
--verbose-v显示详细的扫描进度
--exclude-e额外的排除模式(可重复使用)
--version-V显示版本并退出
算法密钥长度量子影响建议操作
RSA全部(1024-4096+)完全被破解迁移到 ML-KEM + ML-DSA
ECDSA/ECC所有曲线完全被破解迁移到 ML-DSA
DH/ECDH全部密钥交换被破解迁移到 ML-KEM
DSA全部完全被破解迁移到 ML-DSA
算法问题建议操作
MD5碰撞攻击,完全被破解替换为 SHA-3 或 SHA-256
SHA-1碰撞攻击已被证实替换为 SHA-256+
DES56 位密钥,可轻易被破解替换为 AES-256
3DES中间相遇攻击替换为 AES-256
AES-128Grover 算法削弱安全性升级到 AES-256
算法状态建议操作
SHA-256安全,Grover 降至 128 位规划迁移到 SHA-3
SHA-384安全监视发展
SHA-512量子抗性良好监视发展
TLS 1.2安全但已老优先使用 TLS 1.3
算法状态备注
AES-256抗量子128 位后量子安全性
ChaCha20现代、安全AES 的良好替代品
SHA-3最新 NIST 标准新项目推荐
ML-KEM后量子(Kyber)NIST 于 2024 年标准化
ML-DSA后量子(Dilithium)NIST 于 2024 年标准化
扩展名语言
.py, .pywPython
.js, .mjs, .cjsJavaScript
.ts, .tsxTypeScript
.javaJava
.goGo
.rsRust
.c, .h, .cpp, .hppC/C++
.csC#
.rbRuby
.phpPHP
.swiftSwift
.kt, .ktsKotlin
.scalaScala
扩展名格式
.yaml, .ymlYAML
.jsonJSON
.tomlTOML
.ini, .cfg, .conf, .configINI/Config
.env环境变量