Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
njsscan — Node.js अनुप्रयोगों के लिए सिमैंटिक-अवेयर SAST स्कैनर जो libsast पैटर्न मिलान और semgrep सिंटैक्स-अवेयर विश्लेषण का उपयोग करके असुरक्षित कोड पैटर्न का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/ajinabraham/njsscan
स्थैतिक विश्लेषणभेद्यता स्कैनरस्थैतिक कोड विश्लेषण (SAST)कोड विश्लेषणवेब सुरक्षाDevSecOpsकोड विश्लेषण में शीर्ष #13स्थैतिक कोड विश्लेषण (SAST) में शीर्ष #10
GitHubajinabraham/njsscan
43610812828 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →

njsscan

Node.js अनुप्रयोगों के लिए सिमैंटिक-अवेयर SAST स्कैनर जो libsast पैटर्न मिलान और semgrep सिंटैक्स-अवेयर विश्लेषण का उपयोग करके असुरक्षित कोड पैटर्न का पता लगाता है।

रिपॉजिटरी देखेंवेबसाइट
साझा करें
# njsscan
**njsscan** एक स्टैटिक एप्लिकेशन टेस्टिंग (SAST) टूल है जो [libsast](https://github.com/ajinabraham/libsast) के सरल पैटर्न मैचर और सिंटैक्स-अवेयर सेमांटिक कोड पैटर्न सर्च टूल [semgrep](https://github.com/returntocorp/semgrep) का उपयोग करके आपके node.js एप्लिकेशन में असुरक्षित कोड पैटर्न खोज सकता है।

भारत में ![Love](https://assets.kitploit.com/production/public/readmes/5043/b3821ff3e9618f0eddb3e737339f0573d7ab0a2e4a3d0fdccf80925bdd5cf319.png) के साथ बनाया गया  [![Tweet](https://img.shields.io/twitter/url?url=https://github.com/ajinabraham/njsscan)](https://twitter.com/intent/tweet/?text=njsscan%20is%20a%20semantic%20aware%20SAST%20tool%20that%20can%20find%20insecure%20code%20patterns%20in%20your%20Node.js%20applications%20by%20%40ajinabraham%20%40OpenSecurity_IN&url=https://github.com/ajinabraham/njsscan)

[![PyPI version](https://badge.fury.io/py/njsscan.svg)](https://badge.fury.io/py/njsscan)
[![platform](https://img.shields.io/badge/platform-osx/linux-green.svg)](https://github.com/ajinabraham/njsscan)
[![License](https://img.shields.io/:license-lgpl3+-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0.en.html)
[![python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![Build](https://github.com/ajinabraham/njsscan/workflows/Build/badge.svg)](https://github.com/ajinabraham/njsscan/actions?query=workflow%3ABuild)

### njsscan का समर्थन करें

* **Paypal के माध्यम से दान करें:** [![Donate via Paypal](https://assets.kitploit.com/production/public/readmes/5043/154f3a9ed4f3ac0059fc18337f3cb4d28103f349b3e256458f6a39b23d3c092b.gif)](https://paypal.me/ajinabraham)
* **प्रोजेक्ट को स्पॉन्सर करें:** [![Github Sponsors](https://assets.kitploit.com/production/public/readmes/5043/2ec01911ba34e48906cabcf91fef477ed314b36a2a1340b226976e3b8c7f271f.png)](https://github.com/sponsors/ajinabraham)

### e-Learning कोर्स और सर्टिफिकेशन
[![OpSecX Video Course](https://assets.kitploit.com/production/public/readmes/5043/870da208b8fa80e7000c8585cbbb345057dfa18c657a493215eab4517c60876f.png)](https://opsecx.com/index.php/product/node-js-security-pentesting-and-exploitation/?uid=github) [OpSecX Node.js Security: Pentesting and Exploitation - NJS](https://opsecx.com/index.php/product/node-js-security-pentesting-and-exploitation/?uid=github)

## इंस्टॉलेशन

`pip install njsscan`

Python 3.10+ की आवश्यकता है और केवल Mac और Linux का समर्थन करता है

## कमांड लाइन विकल्प

```bash
$ njsscan
usage: njsscan [-h] [--json] [--sarif] [--sonarqube] [--defectdojo] [--gitlab-sast] [--html] [-o OUTPUT] [-c CONFIG] [--missing-controls] [-w] [-v] [path ...]

positional arguments:
  path                  Path can be file(s) or directories with source code

optional arguments:
  -h, --help            show this help message and exit
  --json                set output format as JSON
  --sarif               set output format as SARIF 2.1.0
  --sonarqube           set output format compatible with SonarQube
  --defectdojo          set output format compatible with DefectDojo Generic Findings Import
  --gitlab-sast         set output format as GitLab SAST report
  --html                set output format as HTML
  -o OUTPUT, --output OUTPUT
                        output filename to save the result
  -c CONFIG, --config CONFIG
                        Location to .njsscan config file
  --missing-controls    enable missing security controls check
  -w, --exit-warning    non zero exit code on warning
  -v, --version         show njsscan version
```


## उदाहरण उपयोग

```bash
$ njsscan test.js
- Pattern Match ████████████████████████████████████████████████████████████ 1
- Semantic Grep ███████████████████████████ 160

njsscan: v0.1.9 | Ajin Abraham | opensecurity.in
╒═════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════╕
│ RULE ID     │ express_xss                                                                                   │
├─────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ OWASP       │ A1: Injection                                                                                 │
├─────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ CWE         │ CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')  │
├─────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ DESCRIPTION │ Untrusted User Input in Response will result in Reflected Cross Site Scripting Vulnerability. │
├─────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ SEVERITY    │ ERROR                                                                                         │
├─────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ FILES       │ ╒════════════════╤═══════════════════════════════════════════════╕                            │
│             │ │ File           │ test.js                                       │                            │
│             │ ├────────────────┼───────────────────────────────────────────────┤                            │
│             │ │ Match Position │ 5 - 46                                        │                            │
│             │ ├────────────────┼───────────────────────────────────────────────┤                            │
│             │ │ Line Number(s) │ 7: 8                                          │                            │
│             │ ├────────────────┼───────────────────────────────────────────────┤                            │
│             │ │ Match String   │ const { name } = req.query;                   │                            │
│             │ │                │     res.send('<h1> Hello :' + name + "</h1>") │                            │
│             │ ╘════════════════╧═══════════════════════════════════════════════╛                            │
╘═════════════╧═══════════════════════════════════════════════════════════════════════════════════════════════╛
```

## nodejsscan SAST

**nodejsscan**, जो **njsscan** के ऊपर बनाया गया है, अन्य उपयोगी इंटीग्रेशन के साथ एक पूर्ण विकसित भेद्यता प्रबंधन यूजर इंटरफेस प्रदान करता है।

![nodejsscan web ui](https://assets.kitploit.com/production/public/readmes/5043/84d1df3bcde830f024b97f4a79839ed0aac6f3ff5543af66d8df0f165e490bc3.png)

[nodejsscan](https://github.com/ajinabraham/nodejsscan) देखें

## Python API

```python
>>> from njsscan.njsscan import NJSScan
>>> node_source = '/node_source/true_positives/sqli_node.js'
>>> scanner = NJSScan([node_source], json=True, check_controls=False)
>>> scanner.scan()
{
    'templates': {},
    'nodejs': {
        'node_sqli_injection': {
            'files': [{
                'file_path': '/node_source/true_positives/sqli_node.js',
                'match_position': (1, 24),
                'match_lines': (4, 11),
                'match_string': 'var employeeId = req.foo;\n\nvar sql = "SELECT * FROM trn_employee WHERE employee_id = " + employeeId;\n\n\n\nconnection.query(sql, function (error, results, fields) {\n\n    if (error) {\n\n        throw error;\n\n    }\n\n    console.log(results);'
            }],
            'metadata': {
                'owasp': 'A1: Injection',
                'cwe': "CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')",
                'description': 'Untrusted input concatinated with raw SQL query can result in SQL Injection.',
                'severity': 'ERROR'
            }
        }
    },
    'errors': []
}
```

## njsscan कॉन्फ़िगर करें

सोर्स कोड डायरेक्टरी की रूट में एक `.njsscan` फ़ाइल आपको njsscan कॉन्फ़िगर करने की अनुमति देती है। आप `--config` आर्ग्युमेंट का उपयोग करके एक कस्टम `.njsscan` फ़ाइल भी उपयोग कर सकते हैं।

```yaml
---
- nodejs-extensions:
  - .js

  template-extensions:
  - .new
  - .hbs
  - ''

  ignore-filenames:
  - skip.js

  ignore-paths:
  - __MACOSX
  - skip_dir
  - node_modules

  ignore-extensions:
  - .jsx

  ignore-rules:
  - regex_injection_dos
  - pug_jade_template

  severity-filter:
  - WARNING
  - ERROR

  severity-overrides:
    express_xss: WARNING
    node_secret: ERROR
```

## निष्कर्षों को दबाएं

आप जावास्क्रिप्ट सोर्स फ़ाइलों से निष्कर्षों को दबा सकते हैं, उस लाइन में `// njsscan-ignore: rule_id1, rule_id2` कमेंट जोड़कर जो निष्कर्षों को ट्रिगर करती है।

उदाहरण:

```javascript
app.get('/some/redirect', function (req, res) {
    var target = req.param("target");
    res.redirect(target); // njsscan-ignore: express_open_redirect
});
```

## CI/CD इंटीग्रेशन

आप अपने CI/CD या DevSecOps पाइपलाइन में njsscan सक्षम कर सकते हैं।

#### Github Action

फ़ाइल `.github/workflows/njsscan.yml` में निम्नलिखित जोड़ें।

```yaml
name: njsscan
on:
  push:
    branches: [ master, main ]
  pull_request:
    branches: [ master, main ]
jobs:
  njsscan:
    runs-on: ubuntu-latest
    name: njsscan check
    steps:
    - name: Checkout the code
      uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
    - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
      with:
        python-version: '3.12'
    - name: nodejsscan scan
      id: njsscan
      uses: ajinabraham/njsscan-action@231750a435d85095d33be7d192d52ec650625146 # v9
      with:
        args: '.'
```
उदाहरण: [dvna with njsscan github action](https://github.com/ajinabraham/dvna/actions?query=workflow%3Anjsscan)

#### Github Code Scanning इंटीग्रेशन

फ़ाइल `.github/workflows/njsscan_sarif.yml` में निम्नलिखित जोड़ें।

```yaml
name: njsscan sarif
on:
  push:
    branches: [ master, main ]
  pull_request:
    branches: [ master, main ]
jobs:
  njsscan:
    runs-on: ubuntu-latest
    name: njsscan code scanning
    steps:
    - name: Checkout the code
      uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
    - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
      with:
        python-version: '3.12'
    - name: nodejsscan scan
      id: njsscan
      uses: ajinabraham/njsscan-action@231750a435d85095d33be7d192d52ec650625146 # v9
      with:
        args: '. --sarif --output results.sarif || true'
    - name: Upload njsscan report
      uses: github/codeql-action/upload-sarif@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4.38.1
      with:
        sarif_file: results.sarif
```
![nodejsscan web ui](https://assets.kitploit.com/production/public/readmes/5043/695ed493409d9398ac3741ad717a34df0109b958ee803083f29b843c58ab96b5.png)


#### Gitlab CI/CD

फ़ाइल `.gitlab-ci.yml` में निम्नलिखित जोड़ें।

```yaml
stages:
  - test

njsscan:
  image: python:3.12
  stage: test
  before_script:
    - pip3 install --upgrade njsscan
  script:
    - njsscan . --gitlab-sast -o gl-sast-report.json
  artifacts:
    when: always
    reports:
      sast: gl-sast-report.json
```

उदाहरण कमांड (लोकल):

```bash
njsscan . --gitlab-sast -o gl-sast-report.json
```

यह एक नेटिव [GitLab SAST रिपोर्ट](https://docs.gitlab.com/user/application_security/sast/) लिखता है ताकि निष्कर्ष SARIF कन्वर्टर के बिना Vulnerability Report / MR security विजेट में दिखाई दें।

उदाहरण: [dvna with njsscan gitlab](https://gitlab.com/ajinabraham/dvna/-/jobs/602110439)


#### Travis CI

फ़ाइल `.travis.yml` में निम्नलिखित जोड़ें।

```yaml
language: python
install:
    - pip3 install --upgrade njsscan
script:
    - njsscan .
```

#### Circle CI

फ़ाइल `.circleci/config.yaml` में निम्नलिखित जोड़ें

```yaml
version: 2.1
jobs:
  njsscan:
    docker:
      - image: cimg/python:3.9.6
    steps:
      - checkout
      - run:
          name: Install njsscan
          command: pip install --upgrade njsscan
      - run:
           name: njsscan check
           command: njsscan .
```

## Docker

### [DockerHub](https://hub.docker.com/r/opensecurity/njsscan) से प्रीबिल्ट इमेज

```bash
docker pull opensecurity/njsscan
docker run -v /path-to-source-dir:/src opensecurity/njsscan /src
```

### लोकली बिल्ड करें

```
docker build -t njsscan .
docker run -v /path-to-source-dir:/src njsscan /src
```
टूल डाउनलोड करें