safety-safe2
v0.0.1
Published
Firewall cerdas untuk menganalisis objek pesan dan mendeteksi potensi ancaman seperti bug/crash/spam.
Downloads
78
Maintainers
Readme
Safety-Safe2 v0.0.1
Sistem Firewall untuk Analisis Pesan.
Sistem Anda sering mengalami crash atau lag parah akibat pesan-pesan mencurigakan? Sering terganggu oleh serangan dari pengguna tidak dikenal? safety-safe2 adalah solusi firewall ringan yang dirancang untuk menyaring pesan-pesan masuk dari berbagai jenis bug, spam, atau pesan berbahaya lainnya.
Keunggulan Produk
- 🛡️ Keamanan Berlapis: Sistem deteksi telah ditanamkan untuk berbagai jenis serangan, dari teks yang terlalu panjang, mention ribuan kontak, hingga bug pada dokumen dan lokasi yang sering menyebabkan aplikasi crash.
- ⚡ Ringan dan Efisien: Tidak memiliki dependensi eksternal. Tidak akan memperbesar ukuran folder
node_modules. Fokus utama adalah keamanan. - 🔧 Konfigurasi Fleksibel: Sistem dapat disesuaikan dengan kebutuhan. Atur ambang batas toleransi untuk setiap jenis ancaman sesuai kebijakan sistem Anda.
- 🔌 Mudah Diintegrasikan: Didesain untuk integrasi yang mudah dengan berbagai sistem.
Instalasi
Instalasi dapat dilakukan dengan perintah berikut:
npm install safety-safe2Prinsip Kerja
safety-safe2 berfungsi seperti sistem alarm keamanan. Tugas utamanya adalah memberikan sinyal peringatan ketika ditemukan ancaman (isMalicious: true). Modul ini tidak bertugas untuk menangani ancaman secara langsung. Sebagai administrator sistem, Anda yang menentukan tindakan selanjutnya: apakah akan menindaklanjuti, mencatat, atau mengabaikan peringatan tersebut.
Pemisahan tanggung jawab ini membuat safety-safe2 tetap ringan dan memberikan kontrol penuh kepada Anda dalam menentukan tindakan yang paling sesuai untuk sistem Anda.
Fitur Utama
- Modular Design: Sistem deteksi dibagi menjadi modul-modul spesifik
- Ekstraksi Pengirim: Fungsi untuk mendapatkan informasi pengirim
- Respons Berjenjang: Severity (CRITICAL/HIGH/MEDIUM) dan threatType (CRASH/LAG/SPAM)
- Konfigurasi Fleksibel: Kemampuan untuk menyesuaikan ambang batas deteksi
- Pemblokiran Otomatis: Dapat digunakan untuk memblokir pengirim pesan berbahaya
- Database Ancaman: Sistem penyimpanan JSON untuk melacak ancaman dan statistik
- Rate Limiting: Deteksi pengiriman pesan berlebihan dalam waktu singkat
- Deteksi Kesamaan Konten: Identifikasi pesan-pesan yang sangat mirip atau identik
- Deteksi Payload Berbahaya: Pengenalan pola-pola berbahaya seperti command injection
- Deteksi Ancaman Media: Pemeriksaan metadata file media yang dikirim
Contoh Implementasi Dasar
Berikut adalah contoh implementasi umum. Jika ditemukan pesan berbahaya, sistem akan mengambil tindakan sesuai kebijakan sistem.
import { analyzeMessageWithSender } from 'safety-safe2';
// Contoh: Analisis pesan yang diterima
const incomingMessage = { /* objek pesan yang diterima */ };
// 1. Analisis pesan menggunakan safety-safe2
const { isMalicious, reason, severity, threatType, sender } = analyzeMessageWithSender(incomingMessage);
// 2. Jika ditemukan ancaman, lakukan tindakan yang sesuai!
if (isMalicious) {
console.log(`[!] Ancaman Terdeteksi: ${reason}`);
console.log(` Level Bahaya: ${severity} | Jenis: ${threatType} | Pengirim: ${sender}`);
// CONTOH TINDAKAN: Blokir pengirim, hapus pesan, log aktivitas, dll.
// Contoh: blokir pengirim otomatis
if (sender) {
// Tambahkan logika blokir pengirim di sini
console.log(`Pengirim ${sender} telah diblokir otomatis.`);
}
return; // Penting: Hentikan pemrosesan pesan ini lebih lanjut
}
// Jika pesan aman, lanjutkan logika sistem normal di sini...
console.log(`[+] Pesan aman`);
// ...Konfigurasi Lanjutan
Anda dapat menyesuaikan "tingkat sensitivitas" sistem. Cukup berikan objek konfigurasi sebagai parameter kedua.
import { analyzeMessage } from 'safety-safe2';
// Aturan kustom yang lebih ketat dari nilai bawaan
const myRules = {
maxTextLength: 4096,
maxMentions: 25,
maxFileLength: 100 * 1024 * 1024, // 100MB
maxRepetitionRatio: 0.5 // 50% ambang batas pengulangan
};
const { isMalicious } = analyzeMessage(msg.message, myRules);Fungsi Tambahan
Selain fungsi utama analyzeMessage, safety-safe2 juga menyediakan fungsi tambahan untuk manajemen ancaman:
import {
analyzeMessage,
getThreatStatistics,
getSenderThreatHistory,
unblockSender,
resetSenderThreatRecord
} from 'safety-safe2';
// Dapatkan statistik ancaman keseluruhan
const stats = getThreatStatistics();
console.log('Statistik ancaman:', stats);
// Dapatkan riwayat ancaman dari pengirim tertentu
const history = getSenderThreatHistory('[email protected]');
console.log('Riwayat ancaman:', history);
// Hapus pengirim dari daftar blokir
unblockSender('[email protected]');
// Reset riwayat ancaman pengirim
resetSenderThreatRecord('[email protected]');Daftar Konfigurasi Lengkap:
| Opsi | Default | Deskripsi |
| :--- | :--- | :--- |
| maxTextLength | 10000 | Panjang maksimum teks/keterangan yang diizinkan. |
| maxMentions | 100 | Jumlah maksimum mention dalam satu pesan. |
| maxFileLength | 2147483648 (2 GB) | Ukuran maksimum file (dalam byte) yang tertera di properti pesan. |
| maxPageCount | 10000 | Jumlah maksimum halaman di properti dokumen. |
| maxCharacterFlood | 20000 | Jumlah maksimum karakter dalam pesan interaktif (untuk mencegah bug flood). |
| maxHostnameLength | 100 | Panjang maksimum hostname dalam URL. |
| maxPathLength | 500 | Panjang maksimum path dalam URL. |
| maxRepetitionRatio | 0.7 | Rasio maksimum pengulangan karakter tunggal dalam pesan (0.0 - 1.0). |
| maxHexSequence | 10 | Jumlah maksimum urutan heksadesimal dalam payload. |
| minObfuscationScore | 0.3 | Skor minimum karakter non-terbaca untuk mendeteksi payload terenkripsi. |
Penjelasan Hasil Analisis
Fungsi analyzeMessage mengembalikan objek berisi informasi penting:
| Properti | Tipe | Penjelasan |
| :--- | :--- | :--- |
| isMalicious| boolean | true jika berbahaya, false jika aman. Ini adalah properti utama. |
| reason | string | Alasan mengapa pesan ditandai sebagai berbahaya. |
| severity | string | Tingkat keparahan: CRITICAL, HIGH, atau MEDIUM. |
| threatType| string | Jenis ancaman: CRASH, LAG, atau SPAM. |
| sender| string | Jika tersedia, ID pengirim pesan. |
Jenis Ancaman yang Dideteksi
- [x] Teks atau Keterangan yang Terlalu Panjang
- [x] Banjir Karakter di Pesan Interaktif
- [x] Mention Massal (Ribuan Kontak)
- [x] Dokumen dengan Properti Palsu (
fileLength,pageCount) - [x] Lokasi dengan Koordinat Tidak Valid (Menyebabkan Crash)
- [x] URL Mencurigakan (berbasis IP, hostname/path terlalu panjang)
- [x] Payload Terenkripsi (urutan heksadesimal, karakter acak)
- [x] Pola Flood Karakter (pengulangan tinggi)
- [x] Dan berbagai bug perusak lainnya.
Kontribusi
Menemukan bug baru atau memiliki ide pengembangan? Silakan buka Issue atau kirimkan Pull Request di GitHub. Kontribusi Anda sangat kami hargai!
Lisensi
Proyek ini menggunakan Lisensi MIT.
