새로운 Node-Secure 백엔드 발표

안녕하세요 👋

시리즈의 마지막 기사에서 저는 NodeSecure의 미래를 발표했습니다. 음, 우리는 백엔드 😲(또는 적어도 그것의 첫 번째 버전) 재구축을 막 마쳤습니다.

그렇다면 이 새로운 백엔드의 특징은 무엇입니까? 이것이 이 기사 👀에서 우리가 발견할 것입니다.

하지만 먼저 신규 이민자를 위한 소개를 하겠습니다.

NodeSecure란 ❓



NodeSecure는 무료 JavaScript 보안 도구를 만드는 것을 목표로 하는 오픈 소스 조직입니다. 우리의 가장 큰 전문 분야는 npm 패키지 및 코드 분석입니다.

가장 주목할만한 프로젝트는 다음과 같습니다.
  • Nsecure

  • JS-X-Ray - SAST 스캐너

  • Report - HTML 및 PDF 보안 보고서

  • 기본 프로젝트는 주어진 npm 패키지(또는 package.json이 있는 로컬 프로젝트)의 종속성 트리를 가져오고 심층 분석하고 각 패키지에 대한 모든 메타데이터 및 플래그를 포함하는 .json 파일을 출력하는 CLI입니다.

    CLI는 JSON을 열고 모든 종속성의 네트워크를 그릴 수 있습니다(UI 및 이모티콘 플래그는 잠재적인 문제 및 보안 위협을 식별하는 데 도움이 됩니다).



    자세한 내용은 당사Governance page .

    새로운 백엔드 🚀



    모든 것을 NodeSecure github org로 옮기기 🏠



    모든 패키지가 github organization 으로 이동되었습니다. 멋진 새 로고 ✨(Tony가 생성)가 있음을 알 수 있습니다.



    이렇게 하면 새로운 도구 집합을 간단하게 구현하고 보다 효과적으로 협업할 수 있습니다. 새로운 메인테이너의 통합도 크게 단순화되어야 합니다.

    Node.js 16 및 ESM으로 이동



    주요 선택 중 하나는 CJS 대신 ESM을 사용하는 것이었습니다. Sindresorhus와 같은 많은 메인테이너가 ESM으로 전환하기로 선택하여 일부 패키지를 업데이트하지 못했습니다 😭.

    아직은 불안정한 부분이 많지만 저희 툴💪의 미래를 위한 올바른 선택이라고 확신합니다.

    버전 1을 완전히 마무리하기 전에 아직 시간이 있다는 것을 알고 Node.js의 다음 LTS에 대한 지원을 제한하기로 결정했습니다.

    새로운 세분화 및 패키지 📦



    백엔드를 여러 패키지로 세분화했습니다. 따라서 다른 도구에서 재사용할 수 있습니다.



    또한 문서화 및 테스트 💎의 품질을 크게 향상시킬 것입니다.


    이름
    설명


    scanner
    ⚡️ 모듈 종속성에 대한 정적 분석을 실행하는 패키지 API입니다.

    vuln
    NodeSecure를 위해 구축된 NPM 감사, Snyk 및 Node.js 보안 WG 취약성 전략.

    flags
    NodeSecure 보안 플래그 🚩(구성 및 문서화)

    i18n
    NodeSecure 국제화

    npm-registry-sdk
    npm API에서 데이터를 가져오는 Node.js SDK.


    그리고 여전히 더 많은 것을 발견해야 합니다(fs-walk, sec-literal , npm-tarball-license-parser 등).

    스캐너 API 🔬



    이제 전용 패키지가 있지만 API는 변경되지 않았습니다.

    import * as scanner from "@nodesecure/scanner";
    import fs from "fs/promises";
    
    // CONSTANTS
    const kPackagesToAnalyze = ["mocha", "cacache", "is-wsl"];
    
    const payloads = await Promise.all(
      kPackagesToAnalyze.map((name) => scanner.from(name))
    );
    
    const promises = [];
    for (let i = 0; i < kPackagesToAnalyze.length; i++) {
      const data = JSON.stringify(payloads[i], null, 2);
    
      promises.push(fs.writeFile(`${kPackagesToAnalyze[i]}.json`, data));
    }
    await Promise.allSettled(promises);
    


    PDF & HTML report 프로젝트가 이 새로운 백엔드를 사용하도록 업데이트되었습니다.

    팀 및 기여자 👯



    새로운 메인테이너로 통합하고 있습니다. 그의 도움과 공헌은 중요했고 나는 이 투자에 대해 그에게 감사할 수밖에 없습니다.

    우리는 이제 세 명입니다(Tony Gorez과 저 포함).

    많은 참여를 해주신 다른 기여자들에게 감사드립니다.






  • 무엇 향후 계획 ?



    분명히 목표는 새로운 백엔드( already in progress )를 구현하는 NodeSecure 버전 0.9.0을 준비하는 것입니다.

    이렇게 하면 백엔드 기능을 지속적으로 개선하고 업데이트할 수 있습니다. 이제 CLI의 진화 작업도 더 쉬워질 것입니다.

    We still don't have a roadmap or vision for the new interface. We will start working on it by October or November I think.




    🙏 읽어주셔서 감사합니다. 다음 버전의 CLI 😍에 대한 기사에서 곧 뵙겠습니다.

    좋은 웹페이지 즐겨찾기