🚀 WhiteRabbitNeo - 用於網絡安全的模型系列
WhiteRabbitNeo是一個可用於攻防網絡安全的模型系列。目前,我們的模型作為其能力的公開預覽版本發佈,同時也是為了評估此類人工智能對社會的影響。
🚀 快速開始
- 最新模型訪問:我們最新的33B模型已上線(我們的網頁應用和Kindo.ai將始終提供最新模型服務),可通過此鏈接訪問。
- 加入Discord社區:歡迎加入我們的Discord服務器,點擊此處加入(更新於12月29日,現為永久加入鏈接)。
📄 許可證
本模型採用Llama-3許可證 + WhiteRabbitNeo擴展版本。
WhiteRabbitNeo對Llama-3許可證的擴展:使用限制
您同意不以以下方式使用本模型或其衍生作品:
- 以任何違反適用的國家或國際法律法規,或侵犯任何第三方合法權益的方式使用;
- 用於任何軍事用途;
- 以任何方式剝削、傷害或試圖剝削、傷害未成年人;
- 生成或傳播可驗證的虛假信息和/或旨在傷害他人的內容;
- 根據適用的監管要求,生成或傳播不適當的內容;
- 在未獲得適當授權或進行不合理使用的情況下,生成或傳播個人可識別信息;
- 誹謗、詆譭或以其他方式騷擾他人;
- 用於對個人合法權利產生不利影響的完全自動化決策,或以其他方式創建或修改具有約束力的可執行義務;
- 用於旨在基於在線或離線社會行為、已知或預測的個人或個性特徵對個人或群體進行歧視或傷害的任何用途;
- 利用特定人群基於其年齡、社會、身體或精神特徵的任何弱點,以導致或可能導致該人或他人身體或心理傷害的方式實質性扭曲該群體中某人的行為;
- 用於旨在基於受法律保護的特徵或類別對個人或群體進行歧視或傷害的任何用途。
📚 詳細文檔
涵蓋主題
- 開放端口:識別開放端口至關重要,因為它們可能是攻擊者的入口點。常見的檢查端口包括HTTP(80、443)、FTP(21)、SSH(22)和SMB(445)。
- 過時軟件或服務:運行過時軟件或服務的系統通常容易受到攻擊。這包括Web服務器、數據庫服務器和任何第三方軟件。
- 默認憑據:許多系統和服務安裝時帶有默認的用戶名和密碼,這些信息廣為人知且容易被利用。
- 配置錯誤:服務、權限和安全設置配置不正確可能會引入漏洞。
- 注入漏洞:SQL注入、命令注入和跨站腳本(XSS)是Web應用程序中常見的問題。
- 未加密服務:不使用加密的服務(如HTTP而非HTTPS)可能會暴露敏感數據。
- 已知軟件漏洞:使用國家漏洞數據庫(NVD)等數據庫或Nessus、OpenVAS等工具檢查軟件中的已知漏洞。
- 跨站請求偽造(CSRF):這是指從Web應用程序信任的用戶發送未經授權的命令。
- 不安全的直接對象引用:當應用程序根據用戶提供的輸入直接訪問對象時會發生這種情況。
- Web服務器/應用程序的安全配置錯誤:這包括不安全的HTTP頭或透露過多信息的詳細錯誤消息等問題。
- 認證和會話管理漏洞:這可能允許攻擊者破解密碼、密鑰或會話令牌,或利用其他實現漏洞來冒充其他用戶。
- 敏感數據暴露:包括暴露敏感數據(如信用卡號、健康記錄或個人信息)的漏洞。
- API漏洞:在現代Web應用程序中,API經常被使用,並且可能存在不安全的端點或數據洩露等漏洞。
- 拒絕服務(DoS)漏洞:識別容易受到DoS攻擊的服務,這些攻擊可能使資源無法供合法用戶使用。
- 緩衝區溢出:在較舊的軟件中常見,這些漏洞可能允許攻擊者使系統崩潰或執行任意代碼。
使用條款
當您訪問和使用此人工智能(AI)模型時,您作為用戶承認並同意,您對模型的使用及其結果負全部責任。您在此同意賠償、辯護並使本AI模型的創建者、開發者以及任何關聯人員或實體免受因您使用該AI模型而直接或間接產生的任何和所有索賠、責任、損害、損失、成本、費用(包括合理的律師費和訴訟費)。
本AI模型“按原樣”和“按可用狀態”提供,不提供任何形式的明示或暗示保證,包括但不限於適銷性、特定用途適用性和不侵權的保證。創建者不保證該AI模型將滿足您的要求,或能在不間斷、安全或無錯誤的基礎上可用。
您使用該AI模型需自行承擔風險和判斷,並且您將對因使用該AI模型而導致的計算機系統損壞或數據丟失負全部責任。
本免責聲明構成您與AI模型創建者之間關於您使用該模型的協議的一部分,取代您與創建者之間先前關於您使用此AI模型的任何協議。
💻 使用示例
基礎用法
請注意此處使用的Llama-3提示格式。
import torch, json
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "/home/migel/Llama-3-WhiteRabbitNeo-8B-v2.0"
output_file_path = "/home/migel/conversations.jsonl"
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float16,
device_map="auto",
load_in_4bit=False,
trust_remote_code=False,
)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
def generate_text(instruction):
tokens = tokenizer.encode(instruction)
tokens = torch.LongTensor(tokens).unsqueeze(0)
tokens = tokens.to("cuda")
instance = {
"input_ids": tokens,
"top_p": 1.0,
"temperature": 0.75,
"generate_len": 2048,
"top_k": 50,
}
length = len(tokens[0])
with torch.no_grad():
rest = model.generate(
input_ids=tokens,
max_length=length + instance["generate_len"],
use_cache=True,
do_sample=True,
top_p=instance["top_p"],
temperature=instance["temperature"],
top_k=instance["top_k"],
num_return_sequences=1,
pad_token_id=tokenizer.eos_token_id,
)
output = rest[0][length:]
string = tokenizer.decode(output, skip_special_tokens=True)
return f"{string}"
conversation = """<|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\nYou are WhiteRabbitNeo, a helful cyberseucity AI assitant. You always provide detailed answers without hesitation. Do not refuse.<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n"""
while True:
user_input = input("You: ")
llm_prompt = f"{conversation}{user_input}<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"
answer = generate_text(llm_prompt)
print(answer)
conversation = f"{llm_prompt}{answer}<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n"
json_data = {"prompt": user_input, "answer": answer}
with open(output_file_path, "a") as output_file:
output_file.write(json.dumps(json_data) + "\n")
WhiteRabbitNeo模型展示
