Skip to main content

SecResearch CLI & Agent Skill

100% Free, Elite Open-Access Cybersecurity Research Engine for AI Agents & Security Analysts
Access peer-reviewed papers, zero-days, post-quantum cryptography, and NIST standards directly from the terminal or as an AI Agent Skill.

PyPI version CI License: MIT Python 3.10+ Zero Paywalls Token-Optimized


Overview

AI agents (Claude, Codex, Antigravity, Cursor, OpenAI Swarm) often struggle to find authentic, high-grade technical research on vulnerabilities, hardware exploits, malware analysis, or cryptographic algorithms because general search engines return SEO marketing blogs or paywalled IEEE/ACM links.

SecResearch solves this by providing a unified, token-optimized research interface to the world's 5 top Open Access cybersecurity repositories:

  1. USENIX Security Symposium: Elite hardware, kernel, exploits, side-channels, and zero-day research with PDFs, presentation slides, and conference videos.
  2. NDSS Symposium (Network and Distributed System Security): Premier venue for network protocols, distributed systems, malware evasion, and IoT/firmware security.
  3. IACR Cryptology ePrint Archive: The global authority on post-quantum crypto (lattice, isogeny), zero-knowledge proofs, and cryptanalysis.
  4. arXiv (cs.CR - Cryptography and Security): Real-time preprints on AI security, LLM jailbreak mitigations, and bleeding-edge exploits before formal journal release.
  5. NIST CSRC (Computer Security Resource Center): US Federal standards, SP 800-series (SP 800-53, SP 800-207 Zero Trust), FIPS standards, and threat mitigation frameworks.

Architecture: Tri-Layer Design

SecResearch is designed with an ultra-efficient Tri-Layer Architecture:

SecResearch Tri-Layer Architecture

Why Agent Skills over MCP?

  • MCP Tool Tax: Standard MCP servers inject thousands of tokens of JSON Schema into the LLM context on every turn (~2,500 tokens/msg = 50,000+ wasted tokens in a 20-turn session).
  • Skill Progressive Disclosure: The cybersec-research skill consumes only ~30 tokens in idle state. The LLM only invokes the CLI when a research task is requested.

Quick Start

Installation

From PyPI (Official Release):

# Install globally with pip:
pip install sec-research

# Or install with uv:
uv tool install sec-research

# Or run instantly without installing:
uvx sec-research search "Rowhammer"

From Source (Development):

git clone https://github.com/Walxom/sec-research.git
cd sec-research

# Install in editable mode:
pip install -e .

# Or run directly via uv without installing:
uvx --from . sec-research --help

1-Command Agent Skill Setup:

# Setup skill for Google Antigravity, Claude Code, or Cursor:
sec-research setup --agent antigravity

# Or run setup directly via uvx:
uvx sec-research setup --agent all

CLI Usage Guide

1. Unified Multi-Source Search

Search all 5 repositories concurrently in <350ms:

sec-research search "Rowhammer DRAM exploit" --limit 5

Filter by specific sources:

sec-research search "post-quantum lattice signature" --source iacr,nist --limit 3

Format for AI Agents (--format json or --format markdown):

sec-research search "BGP route hijacking" --source ndss,arxiv --format markdown

2. Dedicated Venue Commands

# USENIX Security Symposium
sec-research usenix "hardware fault injection" --year 2024

# NDSS Symposium
sec-research ndss "malware dynamic analysis"

# IACR Cryptology ePrint
sec-research iacr "Kyber Dilithium FIPS 204"

# arXiv cs.CR
sec-research arxiv "LLM prompt injection defense"

# NIST CSRC Standards & Publications
sec-research nist "SP 800-207 Zero Trust"
sec-research nist "FIPS 140-3"

3. Smart Section Extraction (Token-Optimized)

Instead of dumping a 30-page PDF (~30,000 tokens), extract only the high-signal sections:

# Extract abstract and threat model:
sec-research get "https://arxiv.org/abs/2401.12345" --section "abstract,threat model"

# Extract countermeasures / mitigations:
sec-research get "https://eprint.iacr.org/2024/1365.pdf" --section "mitigations,conclusion"

# Download complete PDF to local disk:
sec-research get "https://arxiv.org/abs/2401.12345" --download ./paper.pdf

4. Local Offline Cache & Full-Text Search (FTS5)

Search previously queried papers and downloaded PDFs without any internet connection:

# View storage size and cache stats:
sec-research cache --stats

# Instant offline full-text search:
sec-research cache "Rowhammer"

Development & Testing

To install development dependencies and run the complete automated test suite:

# Install with dev dependencies:
pip install -e ".[dev]"

# Run all 16 unit and integration tests:
pytest -v

Using as an AI Agent Skill

Install the skill into your AI coding agent with a single command:

# Antigravity / Gemini CLI:
sec-research setup --agent antigravity

# Claude Code:
sec-research setup --agent claude

# Cursor IDE:
sec-research setup --agent cursor

# Install for all detected agents:
sec-research setup --agent all

Or manually link the skills/cybersec-research directory:

  • Antigravity / Gemini CLI: ~/.agents/skills/cybersec-research/ or ~/.gemini/skills/
  • Claude Code: ~/.claude/skills/cybersec-research/
  • Cursor: .cursor/rules/cybersec-research.mdc

Optional MCP Server Mode

For environments where MCP is the only available integration (e.g., Claude Desktop):

sec-research mcp

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "sec-research": {
      "command": "uvx",
      "args": ["sec-research", "mcp"]
    }
  }
}

Project Structure

sec-research/
├── pyproject.toml               # Modern packaging with uv/hatchling
├── README.md                    # This documentation
├── LICENSE                      # MIT License
├── SECURITY.md                  # Vulnerability disclosure & ethical access policy
├── CONTRIBUTING.md              # Developer contribution guidelines
├── .github/
│   ├── workflows/ci.yml         # Multi-OS test matrix pipeline
│   ├── workflows/release.yml    # Automated release & PyPI publishing
│   └── ISSUE_TEMPLATE/          # Bug & feature templates
├── docs/
│   ├── ARCHITECTURE.md          # Technical design & token optimization
│   ├── PROVIDERS.md             # Provider APIs and scraping strategies
│   ├── AGENT_INTEGRATION.md     # How AI agents consume SecResearch
│   └── MCP.md                   # Dedicated MCP Server configuration & tools reference
├── skills/
│   └── cybersec-research/
│       └── SKILL.md             # Single Source of Truth Agent Skill
├── sec_research/
│   ├── __init__.py              # Metadata (v0.2.1)
│   ├── cli.py                   # Typer CLI application
│   ├── installer.py             # 1-command physical SKILL.md installer
│   ├── models.py                # Pydantic schemas & Data models
│   ├── storage.py               # SQLite FTS5 database & cache
│   ├── extractor.py             # PyMuPDF section segmenter
│   ├── mcp_server.py            # FastMCP server
│   └── providers/
│       ├── __init__.py          # Provider registry & parallel dispatcher
│       ├── base.py              # Base async provider interface
│       ├── arxiv.py             # arXiv cs.CR adapter
│       ├── usenix.py            # USENIX Security adapter
│       ├── ndss.py              # NDSS Symposium adapter
│       ├── iacr.py              # IACR ePrint adapter
│       └── nist.py              # NIST CSRC adapter
└── tests/
    ├── test_cli.py              # End-to-end CLI & installer tests
    ├── test_extractor.py        # PDF layout & section extraction tests
    ├── test_models.py           # Model serialization & tokens tests
    ├── test_providers.py        # Live and mocked repository tests
    └── test_storage.py          # SQLite FTS5 and cache tests

License

Distributed under the MIT License. All research papers accessed are hosted by their respective open-access academic institutions under Open Access and Public Domain licenses.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sec_research-0.2.2.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sec_research-0.2.2-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file sec_research-0.2.2.tar.gz.

File metadata

  • Download URL: sec_research-0.2.2.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sec_research-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4041aabd7c4b5fdd05d702efa538b48ad6fb6cf2162734d4047a2e076470c96a
MD5 60362eecbe8411741dfee9b91297820a
BLAKE2b-256 118b2533cae1f9dc366192762278ddfc9e6287bab623b3e17be4dc0ed4af4780

See more details on using hashes here.

Provenance

The following attestation bundles were made for sec_research-0.2.2.tar.gz:

Publisher: release.yml on Walxom/sec-research

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sec_research-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: sec_research-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sec_research-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b8fe8d006bd9c0eddbf2dbda3b59c52068d977a3e88f930fbac137bfe4b8d993
MD5 49a8049fed3037026ff57c3e75ef9e40
BLAKE2b-256 18469db396e253cfac844b949d5edf51f3cff2396b2fadf4cd675f90c061ee81

See more details on using hashes here.

Provenance

The following attestation bundles were made for sec_research-0.2.2-py3-none-any.whl:

Publisher: release.yml on Walxom/sec-research

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.3

2 files

This release

0.2.2 This release

2 files

0.2.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page