PSP는 PowerShell, C언어, Python의 장점을 결합한 혁신적인 프로그래밍 언어입니다. 사이버 보안 전문가, 시스템 관리자, 그리고 보안 연구원을 위해 특별히 설계되었습니다.
- 🛡️ 보안 특화: 네트워크 스캔, 취약점 테스트, 포렌식 도구 내장
- 🔧 PowerShell 스타일 cmdlet: 직관적이고 강력한 명령어 시스템
- 📘 C언어 스타일 타입: 명시적 타입 선언으로 안전성 향상
- 🐍 Python 스타일 간결함: 읽기 쉽고 작성하기 쉬운 문법
- 🔄 객체 파이프라인: PowerShell과 같은 강력한 데이터 처리
- 🌐 크로스플랫폼: Windows, Linux, macOS 지원
# PSP Hello World
Write-Output "안녕하세요, PSP 언어에 오신 것을 환영합니다!"
Write-Host "PSP는 보안 테스트 전문 언어입니다." -ForegroundColor Green
# 변수 선언 (타입 명시)
String $language = "PSP"
Int32 $version = 1
Boolean $isSecure = $true
# 변수 출력
Write-Output "언어: $language"
Write-Output "버전: $version"
Write-Output "보안 특화: $isSecure"
# 네트워크 보안 스캔
String $target = "192.168.1.1"
Array[Int32] $ports = @(80, 443, 22, 21, 25, 53)
Write-Output "스캔 대상: $target"
# 포트 스캔 실행
foreach ($port in $ports) {
$result = Test-NetConnection -ComputerName $target -Port $port
if ($result.TcpTestSucceeded) {
Write-Host "포트 $port : OPEN" -ForegroundColor Green
$banner = Get-ServiceBanner -Target $target -Port $port
Write-Output " 서비스: $banner"
} else {
Write-Host "포트 $port : CLOSED" -ForegroundColor Red
}
}
# 변수와 타입
String $name = "김철수"
Int32 $age = 25
Array[String] $skills = @("PSP", "PowerShell", "Python")
Hashtable $config = @{
Host = "localhost"
Port = 8080
SSL = $true
}
# 조건문
if ($age -ge 18) {
Write-Output "성인입니다"
} else {
Write-Output "미성년자입니다"
}
# 반복문
foreach ($skill in $skills) {
Write-Output "기술: $skill"
}
# SQL 인젝션 테스트
$url = "http://example.com/login"
$payload = "' OR '1'='1"
$result = Test-SQLInjection -Url $url -Payload $payload
if ($result.Vulnerable) {
Write-Warning "SQL 인젝션 취약점 발견!"
}
# 암호화/해싱
$password = "admin123"
$md5Hash = Get-Hash -InputString $password -Algorithm MD5
$sha256Hash = Get-Hash -InputString $password -Algorithm SHA256
Write-Output "MD5: $md5Hash"
Write-Output "SHA256: $sha256Hash"
# 프로세스 분석
Get-ProcessList |
Where-Object { $_.CPU -gt 50 } |
Sort-Object CPU -Descending |
Select-Object Name, CPU, Memory |
Export-Csv "high_cpu_processes.csv"
- Python 3.8 이상
- Windows 10/11, Linux, 또는 macOS
- 저장소 클론
git clone https://github.com/psp-team/PSP-Language.git
cd PSP-Language- 의존성 설치
pip install -r requirements.txt- PSP 스크립트 실행
# 파일 실행
python3 src/psp_interpreter.py examples/hello_world.pspp
# 명령어 직접 실행
python3 src/psp_interpreter.py -c 'Write-Output "Hello PSP!"'
# 대화형 모드
python3 src/psp_interpreter.py -iPSP 언어를 더 편리하게 사용하려면 VS Code 확장프로그램을 설치하세요:
- VS Code 열기
- 확장프로그램 마켓플레이스에서 "PSP Language Support" 검색
- 설치 및 활성화
- 👋 Hello World - 기본 문법 소개
- 📖 기본 문법 - 변수, 타입, 제어구조
- 🔧 함수 - 함수 정의 및 사용
- 🔄 파이프라인 - 객체 파이프라인 처리
- 🏗️ 클래스 - 객체 지향 프로그래밍
- 🌐 네트워크 스캔 - 네트워크 보안 스캔
- 🔒 보안 테스트 - 웹 보안 테스트
Write-Output- 일반 출력Write-Host- 콘솔 출력 (색상 지원)Write-Error- 오류 메시지Write-Warning- 경고 메시지
Test-NetConnection- 네트워크 연결 테스트Invoke-PortScan- 포트 스캔Get-ServiceBanner- 서비스 배너 수집Start-PacketCapture- 패킷 캡처
Test-SQLInjection- SQL 인젝션 테스트Test-XSS- XSS 취약점 테스트Invoke-WebScan- 웹 취약점 스캔
Get-Hash- 해시 생성 (MD5, SHA1, SHA256)ConvertTo-Base64- Base64 인코딩ConvertFrom-Base64- Base64 디코딩Protect-Data- 데이터 암호화Unprotect-Data- 데이터 복호화
Get-SystemInfo- 시스템 정보 조회Get-ProcessList- 프로세스 목록Get-ServiceList- 서비스 목록Find-SensitiveFiles- 민감한 파일 검색
- 네트워크 취약점 스캔
- 웹 애플리케이션 보안 테스트
- 패스워드 크래킹
- 포렌식 분석
- 서버 모니터링
- 로그 분석
- 자동화 스크립트
- 백업 및 복구
- 취약점 연구
- 익스플로잇 개발
- 보안 도구 개발
- 침투 테스트
이 프로젝트는 MIT 라이선스 하에 배포됩니다.