노드 보안 v0.9.0

안녕하세요 👋,

10개월이 넘는 긴 작업 끝에 드디어 도착했습니다 😵! Version 0.9.0이 npm 🚀에 출시되었습니다.

많은 노력이 필요한 버전입니다. 이것을 가능하게 해주신 모든 분들께 감사드립니다 🙏.

그렇다면 이 새로운 릴리스 v0.9.0의 기능은 무엇입니까? 이것이 이 기사 👀에서 우리가 발견할 것입니다.

For newcomers you can learn more about NodeSecure here or by reading the series.



V0.9.0 💪



이 새 버전은 새 백엔드, 특히 version 3 of the scanner을 사용합니다.

CJS 대신 ESM



이것은 에서 설명한 선택입니다. 이 버전은 ESM에서 완전히 재작성되었습니다.

우리는 또한 너무 많은 문제를 일으키는 Jest를 포기하기로 결정했습니다 😟. 이제 tape을 사용합니다.

더 나은 CLI



이제 모든 명령이 파일로 구분되고 bin/index.js 파일에서 불필요한 코드가 모두 정리되었습니다.



또한 각 명령에 UT를 추가하는 작업도 진행 중입니다(회귀를 피하고 더 나은 기여를 허용해야 함).

새로운 프런트 엔드 네트워크 관리



이 릴리스는 vis-network 관리 전용 패키지를 추가하여 프런트 엔드 코드를 크게 개선합니다.


노드시큐어 / 비스-네트워크


NodeSecure vis.js 네트워크 프런트 엔드 모듈





가시망





NodeSecureVis.js 네트워크 프런트 엔드 모듈입니다.

시작하기


이 패키지는 노드 패키지 저장소에서 사용할 수 있으며 npm 또는 yarn 으로 쉽게 설치할 수 있습니다.
$ npm i @nodesecure/vis-network
# or
$ yarn add @nodesecure/vis-network

사용 예

// Import Third-party Dependencies
import { NodeSecureDataSet, NodeSecureNetwork } from "@nodesecure/vis-network";

document.addEventListener("DOMContentLoaded", async() => {
  const secureDataSet = new NodeSecureDataSet();
  await secureDataSet.init();

  new NodeSecureNetwork(secureDataSet);
});

API

스크립트

The project scripts are used for those who want to test the code.

  • npm start to start an httpserver from ./dist
  • npm run build to build the ./example with esbuild.

Note: The start command run the build command before launching the http server.

기여자 ✨

Thanks goes to these wonderful people (emoji key):

This should also allow us to migrate more easily to D3.js in 2022 🚀.

더 나은 리졸버 지원

The new version of the scanner has support for github: and git: spec.

The scanner is now able to analyze the following dependencies:

"dependencies": {
  "zen-observable": "^0.8.15",
  "nanoid": "github:ai/nanoid",
  "js-x-ray": "git://github.com/NodeSecure/js-x-ray.git",
  "nanodelay": "git+ssh://[email protected]:ai/nanodelay.git",
  "nanoevents": "git+https://github.com/ai/nanoevents.git"
}

더 나은 페이로드 구조



JSON의 구조가 보다 일관성 있게 개선되었습니다(특히 종속성에 의한 버전 관리).

최신 버전의 스캐너는 또한 작성자 및 관리자 관리의 많은 불일치를 수정합니다.

"author": {
  "name": "GENTILHOMME Thomas",
  "email": "[email protected]"
},
"publishers": [
  {
    "name": "fraxken",
    "email": "[email protected]",
    "version": "2.2.0",
    "at": "2021-11-11T18:18:06.891Z"
  }
],
"maintainers": [
  {
    "name": "kawacrepe",
    "email": "[email protected]"
  },
  {
    "name": "fraxken",
    "email": "[email protected]"
  },
  {
    "name": "tonygo",
    "email": "[email protected]"
  }
]

새로운 취약점 관리



우리는 이미 그것을 제시했지만 이제는 여러 전략(Security WG, NPM Audit 등)을 사용하여 취약점을 복구할 수 있는 자체 패키지를 사용합니다.


노드시큐어 / 취약점


하나 이상의 전략(NPM Audit, Sonatype, Snyk, Node.js DB)을 사용하여 프로그래밍 방식으로 보안 취약점을 가져옵니다.













vuln 시대가 시작되었습니다! 하나 이상의 전략을 사용하여 프로그래밍 방식으로 보안 취약점을 가져옵니다. 원래는 종속성을 실행 및 분석Scanner하도록 설계되었지만 이제는 npm 매니페스트와도 독립적으로 실행됩니다.

요구 사항



  • Node.js v16 이상

  • 시작하기


    이 패키지는 노드 패키지 저장소에서 사용할 수 있으며 npm 또는 yarn 으로 쉽게 설치할 수 있습니다.
    $ npm i @nodesecure/vulnera
    # or
    $ yarn add @nodesecure/vulnera

    사용 예

    import * as vulnera from "@nodesecure/vulnera";
    
    // Default strategy is currently "none".
    await vulnera.setStrategy(vulnera.strategies.NPM_AUDIT);
    
    const definition = await vulnera.getStrategy();
    console.log(definition.strategy);
    
    const vulnerabilities = await definition.getVulnerabilities(process.cwd(), {
      useStandardFormat: true
    });
    console.log(vulnerabilities);

    사용 가능한 전략

    The default strategy is NONE which mean…

    This is just the beginning and I think it will soon be a fully featured project. Among the new features there is a new standard format dedicated for NodeSecure:

    export interface StandardVulnerability {
        id?: string;
        origin: Origin;
        package: string;
        title: string;
        description?: string;
        url?: string;
        severity?: Severity;
        cves: string[];
        cvssVector?: string;
        cvssScore?: number;
        vulnerableRanges: string[];
        vulnerableVersions: string[];
        patchedVersions?: string;
        patches?: Patch[];
    }
    


    JS-X-Ray 4.2.0을 사용한 트로이 목마 소스 탐지



    새로운 백엔드는 JS-X-Ray 버전 4를 구현합니다. 이 최신 릴리스에서는 Trojan source 에 대한 경고를 추가했습니다.

    문서 및 테스트



    모든 프로젝트에 문서 및 단위 테스트를 추가하기 위해 많은 노력을 기울였습니다.

    이를 더욱 쉽게 이용할 수 있도록 하려면 아직 갈 길이 멀고 여러분의 도움을 환영합니다.

    무엇 향후 계획 ?



    우리는 현재 다양한 주제에 대해 그룹으로 작업하고 있습니다. 진행 중인 프로젝트/주제가 많이 있습니다.

  • Specification of a configuration 프로젝트용 파일입니다.
  • 작성자 및 관리자에 대한 분석 및 식별이 향상되었습니다. NodeSecure/authors을 참조하십시오.
  • CI에서 실행할 새 도구를 생성합니다.
  • 다음 웹 UI 작업 중(TypeScript + Catalyst ).

  • 결론 🙏



    새로운 UI가 나올 때까지 더 자주 릴리스할 수 있어야 합니다.

    오늘 우리가 여기까지 오지 못했을 프로젝트의 핵심 기여자들에게 다시 한 번 감사드립니다!

    릴리스 v0.10.0 💃에서 곧 뵙겠습니다.

    좋은 웹페이지 즐겨찾기