Skip to main content

Secret Scanner for Slack, Jira, Confluence, Asana, Wrike, Linear, Zendesk, GitHub and GitLab. Prevent credential leaks with n0s1.

Project description

n0s1 - Secret Scanner

n0s1 (pronunciation) is a secret scanner for Slack, Jira, Confluence, Asana, Wrike, Linear, Zendesk, GitHub and GitLab. It scans all channels/tickets/items/issues within the target platform in search of any leaked secrets in the titles, bodies, messages and comments. It is open-source and it can be easily extended to support scanning many others ticketing and messaging platforms.

See USER_MANUAL.md to learn how to run a scan.

Secrets are defined by an adaptable configuration file: regex.yaml. The scanner loads the configuration and searches for sensitive information, which includes:

  • Github Personal Access Tokens
  • GitLab Personal Access Tokens
  • AWS Access Tokens
  • PKCS8 private keys
  • RSA private keys
  • SSH private keys
  • npm access tokens

Currently supported target platforms:

Install

python3 -m ensurepip --upgrade
python3 -m pip install --upgrade n0s1
n0s1 --help

Quick Start

CLI:

python3 -m pip install n0s1
n0s1 jira_scan --server "https://<YOUR_JIRA_SERVER>.atlassian.net" --api-key "<YOUR_JIRA_API_TOKEN>"

Docker:

docker run spark1security/n0s1 jira_scan --server "https://<YOUR_JIRA_SERVER>.atlassian.net" --api-key "<YOUR_JIRA_API_TOKEN>"

MCP:

claude mcp add --scope user n0s1 -- uvx n0s1-mcp
claude "Scan my Jira project IT for leaked secrets"

From source:

git clone https://github.com/spark1security/n0s1.git
cd n0s1/src/n0s1
python3 -m venv n0s1_python
source n0s1_python/bin/activate
python3 -m pip install -r ../../requirements.txt
python3 n0s1.py jira_scan --server "https://<YOUR_JIRA_SERVER>.atlassian.net" --api-key "<YOUR_JIRA_API_TOKEN>"
deactivate

Python SDK - See SDK_GUIDE.md:

python3 -m pip install n0s1
try:
    import scanner
except:
    import n0s1.scanner as scanner

# Create scanner instance
scanner_instance = scanner.SecretScanner(
    target="jira_scan",
    server="https://yourcompany.atlassian.net",
    email="your-email@company.com",
    api_key="your-jira-api-token",
    debug=True
)

# Run the scan
result = scanner_instance.scan()

# Process results
print(f"Scan complete. Found {len(result.get('findings', {}))} potential secrets")

GitHub Actions:

jobs:
  jira_secret_scanning:
    steps:
      - uses: spark1security/n0s1-action@main
        env:
          JIRA_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
        with:
          scan-target: 'jira_scan'
          user-email: 'service_account@<YOUR_COMPANY>.atlassian.net'
          platform-url: 'https://<YOUR_COMPANY>.atlassian.net'

GitLab CI - Add the following job to your .gitlab-ci.yml file:

jira-scan:
  stage: test
  image:
    name: spark1security/n0s1
    entrypoint: [""]
  script:
    - n0s1 jira_scan --email "service_account@<YOUR_COMPANY>.atlassian.net" --api-key $JIRA_TOKEN --server "https://<YOUR_COMPANY>.atlassian.net" --report-file gl-dast-report.json --report-format gitlab
    - apt-get update
    - apt-get -y install jq
    - cat gl-dast-report.json | jq
  artifacts:
    reports:
      dast:
        - gl-dast-report.json

AI Agents

Resource Description
tool-schema.json Tool-use / function-calling schema (Anthropic & OpenAI compatible). Load this to give an AI agent the ability to invoke n0s1 as structured tool calls.
docs/ai.md AI-optimized reference covering all interfaces: CLI, Docker, Python SDK, GitHub Actions, and MCP server.

Want more? Check out Spark 1

If you liked n0s1, you will love Spark 1 which builds on top of n0s1 to provide even more enhanced capabilities for a complete security management offering.

Don't forget to check out the https://spark1.us website for more information about our products and services.

If you'd like to contact Spark 1 or request a demo, please use the free consultation form.

Community

n0s1 is a Spark 1 open source project.
Learn about our open source work and portfolio here.
Contact us about any matter by opening a GitHub Discussion here

Project details


Download files

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

Source Distribution

n0s1-1.1.2.tar.gz (113.4 kB view details)

Uploaded Source

Built Distribution

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

n0s1-1.1.2-py3-none-any.whl (125.2 kB view details)

Uploaded Python 3

File details

Details for the file n0s1-1.1.2.tar.gz.

File metadata

  • Download URL: n0s1-1.1.2.tar.gz
  • Upload date:
  • Size: 113.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for n0s1-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b423e085aecf42aa33ac4218ac42fe8efa347666586dccb6cc114b9da2cd1315
MD5 f5d02c52cd7b7886698209468deea29c
BLAKE2b-256 40529eb5cb0a50cfb4b4499901b3deab2c96bd9dd483b62a8e82ac7939a02526

See more details on using hashes here.

Provenance

The following attestation bundles were made for n0s1-1.1.2.tar.gz:

Publisher: publish.yml on spark1security/n0s1

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

File details

Details for the file n0s1-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: n0s1-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 125.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for n0s1-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ec2dbdbe2ef64e41e88f53ba6209f7e39540bd35cebe7d8483595f8c0582b90
MD5 18b26d9855a20b1fe3f259755a77b864
BLAKE2b-256 b2e2b398d3f462d8291e623d170e6574396c278986c9f1ac234406d31dac4755

See more details on using hashes here.

Provenance

The following attestation bundles were made for n0s1-1.1.2-py3-none-any.whl:

Publisher: publish.yml on spark1security/n0s1

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

Supported by

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