MCPcopy Index your code
hub / github.com/JosephTLucas/jupysec

github.com/JosephTLucas/jupysec @v0.1.16

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.16 ↗ · + Follow
86 symbols 245 edges 16 files 6 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

jupysec

logo

JupyterLab Security Utilities

Security utilities for Jupyter environments. This set of rules and JupyerLab extension evaluates the security posture of the environment by comparing configuration values with best practices. Read more here.

Function

demo

Run the extension to generate an HTML report of the security configuration of your Jupyter instance and other Jupyter instances on your host.

Configurations will be compared against these rules.

These rules currently evaluate:

  • Whether there are any executables in your ipython startup directories
  • What lines of your configuration are nonstandard with known malicious uses
  • Whether your servers require tokens for authentication
  • Whether your server and client are communicating over HTTPS
  • Whether you are serving Jupyter to a broader domain than just localhost
  • If silent commands have been run against your kernels

Some of these categories may have false-positives depending on your environment and use-case. However, users should monitor their environments and be aware of their security posture and any changes.

Matches against the rules are referred to as "Findings" and displayed in the Report Card.

report card

Requirements

  • JupyterLab >= 3.0

Getting Started

To install just the rules, install with:

pip install jupysec

Then in your python environment:

from jupysec.rules import Rules

Rules().get_findings()

Or to also install the JupyterLab extension:

pip install 'jupysec[jupyterlab]'

After starting jupyterlab, your launcher window should now have a "Security" section with a widget for generating your findings. This will launch and index page with a list of all findings, color-coded by category. Click into findings for more details.

Core symbols most depended-on inside this repo

init
called by 12
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js
o
called by 10
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js
get
called by 9
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js
ensureExistence
called by 6
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js
findVersion
called by 4
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js
findValidVersion
called by 4
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js
_run_command
called by 4
jupysec/rules.py
parseVersion
called by 3
jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js

Shape

Function 55
Method 23
Class 8

Languages

TypeScript62%
Python38%

Modules by API surface

jupysec_extension/jupysec_extension/labextension/static/remoteEntry.ca35f06c4e341fe1cd7b.js30 symbols
jupysec/rules.py16 symbols
jupysec_extension/jupysec_extension/labextension/static/vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_cssW-72eba1.875eda7a10a8fb14063d.js13 symbols
tests/test_rules.py6 symbols
jupysec_extension/jupysec_extension/handlers.py6 symbols
jupysec_extension/jupysec_extension/labextension/static/lib_index_js.7716ec923b3030b6b8ca.js5 symbols
jupysec_extension/src/index.ts4 symbols
jupysec_extension/jupysec_extension/__init__.py3 symbols
jupysec/finding.py2 symbols
jupysec_extension/src/handler.ts1 symbols

For agents

$ claude mcp add jupysec \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page