JS-엑스레이 3.0.0

안녕하세요!

저는 오픈 소스 JavaScript SASTJS-X-Ray의 새로운 주요 버전에서 매주 밤마다 작업하고 있습니다. 나는 지금 몇 달 동안 코드를 크게 변경하기를 고대해 왔습니다...

왜요 ?



나는 여전히 매일 배우고 있고 프로젝트가 2.0.0 이후로 상당히 커졌기 때문입니다. 또한 프로젝트를 시작했을 때 코드를 문서화하는 방식(및 일부 추측에 대해서도)에 특정 엄격함이 부족했습니다.

프로젝트를 계속 발전시키기 위해서는 변경이 필요하게 되었습니다.

새로운 소식있어 ?



초 리터럴




npm i sec-literal


ESTree Literals 및 JavaScript 문자열을 분석하기 위해 package 작업을 시작했습니다. 이것은 자체 패키지로 분리할 수 있는 매우 중요한 부분입니다(문서화 및 테스트를 단순화함).

이 패키지의 일부 기능:
  • 16진수, Base64 및 유니코드 시퀀스를 감지합니다.
  • 식별자 그룹에서 패턴(접두사, 접미사)을 감지합니다.
  • 의심스러운 문자열을 탐지하고 이에 대한 고급 메트릭을 반환합니다(문자 다양성 등).

  • 이제 시작입니다... 앞으로 몇 달 안에 패키지의 기능을 확장할 계획입니다(또한 문서화 및 테스트에 시간을 재투자할 계획입니다).

    새로운 프로젝트 구조





    아직 내가 상상하는 완벽함과는 거리가 멀지만 좋은 출발입니다. 코드가 지저분해졌고 제대로 추론하는 것이 거의 불가능했습니다.

    새 버전은 이제 유지 관리 및 발전이 훨씬 쉬워졌습니다. 다음 주요 릴리스를 위해 계속해서 개선하겠습니다.

    더 많은 문서, 더 많은 테스트



    전체 문서 및 단위 테스트 세트를 다시 삽입하기 위해 refacto를 활용했습니다. 또한 버전 2.3에서 해결되지 않은 여러 문제를 해결할 수 있었습니다.

    난독화 감지가 어렵습니다.



    알고 있었어! 그러나 맹세하건대 그것은 누군가가 상상할 수 있는 것보다 훨씬 더 복잡합니다. 발걸음을 여러 번 되감아야했습니다.

    하지만 도전이 없다면 재미가 없을 것입니다.

    ESM 가져오기 평가



    버전 3은 이제 javascript 코드 평가를 사용하여 가져오기에 안전하지 않은 가져오기를 발생시킵니다.

    import 'data:text/javascript;base64,Y29uc29sZS5sb2coJ2hlbGxvIHdvcmxkJyk7Cg==';
    


    자세한 정보: https://2ality.com/2019/10/eval-via-import.html

    결론



    이 새 버전에는 놀라운 것이 없습니다. 그러나 프로젝트는 계속해서 단계적으로 진행되고 있으며 연말까지 새로운 탐지를 완전히 추가할 수 있기를 바랍니다.

    친애하는,
    도마

    좋은 웹페이지 즐겨찾기