| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- redux 기초
- redux toolkit 설명
- 스마트 컨트렉트 함수이름 중복
- 티스토리챌린지
- erc4337
- cloud hsm 사용하기
- Vue.js
- 러스트기초
- ethers type
- ambiguous function description
- 오블완
- ethers v6
- rust 기초
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초
- ethers websocket
- 머신러닝기초
- git rebase
- cloud hsm
- vue기초
- cloud hsm 서명
- SBT표준
- 러스트 기초 학습
- 계정추상화
- Vue
- 체인의정석
- ethers typescript
- 컨트렉트 동일한 함수이름 호출
- 스마트컨트렉트 함수이름 중복 호출
- erc4337 contract
- Today
- Total
목록분류 전체보기 (535)
체인의정석
상황모회사에서 별도의 WAF와 백신을 설치한 이후에 관련된 ASM(Attack Surface Management) 대시보드를 볼 수 있게 되었다.ASM은 외부 공격자가 접근할 수 있는 모든 잠재적 지점을 지속적으로 식별하고 분석하며, 보안 취약점을 최소화하는 프로세스라고 한다.보니 referer policy와 Content-Security-Policy가 적용되지 않아서 보안성 경고가 뜬 부분을 볼 수 있었다.https://velog.io/@sejinkim/Referrer-Policy%EC%9D%98-%EC%9D%B4%ED%95%B4 Referrer-Policy의 이해사용자 행동 로그 데이터 수집 중 Referer가 유실되었던 사례를 계기로, Referrer-Policy에 관해 자세히 알아보았습니다.vel..
상황현재 사용중인 내부 admin 백오피스는 react + next.js로 되어 있다. 사내망에서만 접근이 가능하도록 설정이 되어 있으며, 메타마스크 로그인 까지 통해야 요청을 날릴 수 있기 때문에 상대적으로 안전하지만 요즘 심각도가 10점 만점에 10점을 기록한 CVE-2025-55182, CVE-2025-66478 취약점이 이슈가 되어서 패치를 진행하였다.해당 취약점은 서버사이드 랜더링 과정에서 공격자가 리엑트 서버의 주소를 알아서 접근이 가능하고, 명령어만 http요청을 실행이 되면 공격이 가능하기 때문에 10점짜리 취약점이라고 한다.이런 부분을 고려했을때 admin페이지 같은 부분은 항상 내부망에서만 접근이 가능해야 하는것 같으며 react, next.js의 경우 비슷한 류의 공격포인트가 계속 ..
하게 된 배경 : 이미 존재하는 ec2에서 이미지를 뽑아내고 기존 시스템에서 업데이트 진행현재 프로젝트의 구조상 이미지에 이미 필요한 모듈들이나 환경이 세팅되어 있고 이후 시작템플릿에서 해당 이미지를 통해서 환경별로 배포를 하는 식으로 구성이 되어있다.그러나 보안 관련 문제로 기존 2022 버전의 OS를 2023으로 바꾸어야 하여 해당 부분으로 다시 작업을 하기위하여 2022버전에 깔려있는 주요 프로그램을 분석 한 후 동일한 버전으로 2023버전을 만든 후 이미지를 생성하는 과정이다. 순서 :먼저 이미지를 생성하기 전에 설치된 패키지의 자동 시작 등록 및 기존의 캐시와 같은 내역들을 지워준다.# 1. 서비스 자동 시작 등록 확인 (부팅될 때 알아서 켜지도록)sudo systemctl enable fir..
보안을 위해 보통 서버에 접속할 때는 바로 접속하는것이 아닌 bastion 서버를 두게 된다.bastion의 경우 pem 키만 있으면 접속이 가능하지만 여기서 다른 서버로 들어가기 위해서는 한번 더 접속을 해야한다.이에 대한 작업이 반복되면 번거롭기 때문에 보통 ssh config를 통해서 각 서버에 맞는 명령어를 통해서 한번에 접속을 하도록 세팅을 해준다.Host example-bastion-live HostName "Pulic IP넣기" User ec2-user IdentityFile ~/.ssh/example-live.pem Host example-service-live HostName "Private IP넣기" User ec2-user IdentityFile ..
프로그램에서 S3에 접근하기 위해서는 AWS credentials가 먼저 필요하다.aws credentials 확인의 경우 다음과 같은 경로에 세팅 한다.cat ~/.aws/credentials[default]aws_access_key_id = aws_secret_access_key =ts에서 사용하는 패키지import S3Helper from '@lib/AWS/S3Helper';먼저 프로필을 사용해서 객체를 만들어 줘야 한다.const testS3Helper = new S3Helper('us-west-2', 'default');그리고 정책에 들어가서 해당 IAM계정이 S3에 어떠한 권한이 있는지 체크해야 한다.보아하니 권한 끝에 /*가 붙어 있지 않으면 s3Object를 다룰 수 없다고 하여 붙여 주었..
비디오 스트리밍의 경우https://github.com/video-dev/hls.js GitHub - video-dev/hls.js: HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.HLS.js is a JavaScript library that plays HLS in browsers with support for MSE. - video-dev/hls.jsgithub.com다음 모듈을 써서 구현하면 된다.위와 같이 CDN을 사용하면 바로 구현이 가능하다.참고로 html자체로만 띄우면 cors에러가 나기 때문에 pm2로 띄우거나python3 -m http.server 8080 --bind 0.0.0.0다음과 같이 ..
다른 환경과는 다르게 실제 live 배포시에는 릴리즈 노트를 작성해야한다.들어가야 할 항목은 다음과 같다.1. 새로 추가한 기능2. 수정 사항 (PR링크)3. 알려진 이슈들 정리4. 배포 정보 (젠킨스 잡, git Tag 등과 같이 배포 프로세스별로 구분되는 태그와 릴리스 번호)- 대상환경, 배포서비스 ,Genkins Job, Git tag5. 배포 시간 / 프로세스- 배포시간이 얼마나 걸렸는지- 배포 프로세스에서 체크해야할 사항이 있다면 해당 부분을 체크하였는지6. 배포된 서버- 배포된 서버의 ip 주소 (고정 ip가 아닐 경우 매번 업데이트 진행, 현재 시스템은 bastion만 고정이며 나머지는 고정으로 두지 않음) 및 인스턴스 ID 및 링크 (동일한 서버가 여러대 있을 경우 각 인프라 별로 모두 정..
React에서는 재랜더링이 발생하는 3가지 패턴1. State 업데이트2. Props가 변경된 컴포넌트3. 재랜더링 된 컴포넌트 아래의 모든 컴포넌트이러한 재랜더링을 계속하게 될 경우 부하가 많이 발생하게 된다.리액트에서 컴포넌트, 변수, 함수 등을 재렌더링할 때 제어가 필요한 경우에는 메모이제이션을 수행한다.메모이제이션은 이전 처리 결과를 저장해 둠으로써 처리 속도를 높이는 기술로 필요할 때만 다시 계산하게 하여 불필요한 처리를 줄일 수 있다. 만약 부모가 재랜더링을 하더라도 메모이제이션이 되어 있다면 자녀 컴포넌트의 재랜더링을 막을 수 있다.- 컴포넌트 메모이제이션memo를 사용하면 컴포넌트 자체가 메모이제이션이 되면서 이러한 랜더링 과정에서 부모가 바뀌더라도 자식은 바뀌지 않게 된다.- 함수 메모이..