Skip to content
View Pyhroff's full-sized avatar

Highlights

  • Pro

Organizations

@zka19-team

Block or report Pyhroff

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Pyhroff/README.md

Praising Y Harris Ratnam (@Pyhroff)

Application security & AI security, in Python. I build static scanners for the inputs AI agents trust (MCP tool metadata, agent memory files, RAG documents), measure them on real repositories, and publish what they miss.

B.Tech CSE (Cybersecurity), IIIT Kottayam, 2024–2028 · Looking for Summer 2027 security / AI-security internships praisingharris@gmail.com · LinkedIn · PyPI

IIIT Kottayam · B.Tech Cybersecurity 4 merged PRs 12 open PRs 4 PyPI packages


What I build

Project What it is Measured result
aisec-suite · PyPI 0.4.0 A CI security gate for AI-agent inputs. One aisec scan runs the scanners below and emits SARIF; it also ships as a GitHub Action. Tool-poisoning detector: 48.1% recall on 54 held-out synthetic attacks (naive regex: 0%), 0.03% false positives (1 of 3,974 real tool descriptions). Method and caveats in STUDY.md.
mcpaudit · PyPI 0.8.0 Scans MCP server tool surfaces for tool poisoning, over-broad scope, rug pulls and confused-deputy behaviour. Scope-rule rewrite (v0.7) raised precision from 40% to 72.7% on a blind-labelled fresh corpus of 45 repos, keeping all 16 true findings.
mcp-scan-study Hand-labelled scan of 135 public MCP-server repos. Found no tool poisoning in the wild. Naive scope rules were right 37.5% of the time.
memsentry · ragsentry Static scanners for injected instructions in agent memory/context files and in RAG source documents. memsentry 1.2.0 cut findings on 170 real context files from 61 to 5.
soc-parallax Behavioural detection platform: per-entity baselines, attributable risk scores, MITRE ATT&CK mapping (FastAPI, Neo4j, Next.js). On 278 real EVTX attack samples, 29.5% reach medium severity or higher (27.3% held-out).
osiris My daily-use personal AI assistant runtime: 8 providers with failover, 9 tool-scoped agents, embedding memory. Used every day from the terminal.

On PyPI: aisec-suite 0.4.0 · pyhroff-mcpaudit 0.8.0 · memsentry 1.2.0 · pyhroff-ragsentry 1.1.0

Upstream pull requests

Merged and shipped:

Open, under review:

How I report results

  • Every number above links to the repo or PR it comes from, including the ones that don't flatter me: the null result in the wild, and the held-out set I evaluated twice.
  • Detectors are review aids, not security boundaries. My tool-poisoning detector still misses about half of unseen attacks.

Pinned Loading

  1. aisec-suite aisec-suite Public

    Run static security scanners over AI-agent projects: MCP servers, agent memory files and RAG documents. SARIF output, baselines and reachability analysis.

    Python

  2. mcp-scan-study mcp-scan-study Public

    Empirical study of 135 public MCP-server repos: hand-labelled scanner findings with confidence intervals, and a measured false-positive reduction.

    Python

  3. soc-parallax soc-parallax Public

    SOC detection platform: attributable risk scores, MITRE ATT&CK rulebook, incident correlation in Neo4j, evidence-checked narratives. FastAPI, PostgreSQL, Next.js.

    Python 1

  4. ModelHawk ModelHawk Public

    Static scanner that detects code-execution backdoors in PyTorch/pickle ML model files (pickle-deserialization RCE), with an offensive demo generator. Python, stdlib-only.

    Python 1

  5. promptstrike promptstrike Public

    Automated adversarial red-teaming CLI for LLMs — PAIR/TAP/Crescendo jailbreak algorithms, live dashboard, multi-model sweep comparison, CI/CD safety gate

    Python 1