🚀 WhiteRabbitNeo
WhiteRabbitNeoは、攻撃的および防御的なサイバーセキュリティに使用できるモデルシリーズです。現在、これらのモデルはその機能の公開プレビューとしてリリースされており、また、このようなAIの社会的影響を評価するためにも提供されています。
🚀 クイックスタート
📄 ライセンス
DeepSeek Coderライセンス + WhiteRabbitNeo拡張バージョン
ライセンス: 使用制限
あなたは、モデルまたはモデルの派生物を以下のように使用しないことに同意します。
- 適用される国内または国際の法律または規制に違反する、または第三者の合法的な権利と利益を侵害する方法での使用。
- いかなる形でも軍事目的での使用。
- いかなる形でも未成年者を搾取し、害する、または搾取しようとし、害しようとする目的での使用。
- 他人を害する目的で、検証可能な虚偽の情報および/またはコンテンツを生成または散布するための使用。
- 適用される規制要件に違反する不適切なコンテンツを生成または散布するための使用。
- 適切な許可なしに個人識別情報を生成または散布する、または不合理な使用目的での使用。
- 他人を誹謗中傷し、嫌がらせする、またはその他の方法で迷惑をかけるための使用。
- 個人の法的権利に悪影響を及ぼす、または拘束力のある法的義務を作成または変更する完全自動化された意思決定のための使用。
- オンラインまたはオフラインの社会的行動、または既知または予測される個人または個性的特徴に基づいて、個人またはグループを差別する、または害する目的での使用。
- 特定のグループの人々の年齢、社会的、身体的または精神的な特徴に基づいて、そのグループに属する人の行動を実質的に歪曲し、その人または他の人に身体的または心理的な害を引き起こす、または引き起こす可能性のある方法での使用。
- 法的に保護された特徴またはカテゴリに基づいて、個人またはグループを差別する、または害する目的での使用。
対象トピック
- オープンポート: オープンポートは攻撃者の侵入ポイントとなり得るため、特定することが重要です。チェックする一般的なポートには、HTTP(80、443)、FTP(21)、SSH(22)、およびSMB(445)が含まれます。
- 古いソフトウェアまたはサービス: 古いソフトウェアまたはサービスを実行しているシステムは、多くの場合、エクスプロイトに対して脆弱です。これには、Webサーバー、データベースサーバー、およびすべてのサードパーティソフトウェアが含まれます。
- デフォルトの資格情報: 多くのシステムおよびサービスは、よく知られており、簡単に悪用される可能性のあるデフォルトのユーザー名とパスワードでインストールされています。
- 誤設定: 誤って設定されたサービス、パーミッション、およびセキュリティ設定は、脆弱性を引き起こす可能性があります。
- インジェクションの欠陥: SQLインジェクション、コマンドインジェクション、およびクロスサイトスクリプティング(XSS)は、Webアプリケーションで一般的な問題です。
- 暗号化されていないサービス: 暗号化を使用していないサービス(HTTPSではなくHTTPなど)は、機密データを公開する可能性があります。
- 既知のソフトウェアの脆弱性: 米国国立脆弱性データベース(NVD)などのデータベースまたはNessusやOpenVASなどのツールを使用して、ソフトウェアの既知の脆弱性をチェックします。
- クロスサイトリクエストフォージェリ(CSRF): これは、Webアプリケーションが信頼するユーザーから不正なコマンドが送信される場合です。
- 不安全な直接オブジェクト参照: これは、アプリケーションがユーザーが提供した入力に基づいてオブジェクトに直接アクセスする場合に発生します。
- Webサーバー/アプリケーションのセキュリティ誤設定: これには、不安全なHTTPヘッダーや過度に詳細なエラーメッセージなどの問題が含まれます。
- 破損した認証とセッション管理: これにより、攻撃者がパスワード、キー、またはセッショントークンを侵害したり、他の実装の欠陥を悪用して他のユーザーの身元を盗用したりすることができます。
- 機密データの公開: クレジットカード番号、医療記録、または個人情報などの機密データを公開する脆弱性が含まれます。
- APIの脆弱性: 現代のWebアプリケーションでは、APIがよく使用され、不安全なエンドポイントやデータ漏洩などの脆弱性がある可能性があります。
- サービス拒否(DoS)の脆弱性: DoS攻撃に対して脆弱なサービスを特定します。これにより、正当なユーザーがリソースを利用できなくなる可能性があります。
- バッファオーバーフロー: 古いソフトウェアで一般的で、攻撃者がシステムをクラッシュさせたり、任意のコードを実行したりすることができる脆弱性です。
利用規約
この人工知能(AI)モデルにアクセスして使用することにより、ユーザーは、モデルの使用とその結果に対して独自に責任を負うことを認め、同意します。あなたは、このAIモデルの作成者、開発者、および関連するすべての個人または団体を、あなたのAIモデルの使用から直接または間接的に生じるすべての請求、責任、損害、損失、費用、経費、料金(合理的な弁護士費用および裁判費用を含む)から保護し、弁護し、免責することに同意します。
このAIモデルは「現状のまま」および「利用可能な状態で」提供され、商品性、特定の目的への適合性、および非侵害性を含む明示または黙示のいかなる保証も伴いません。作成者は、AIモデルがあなたの要件を満たすこと、または中断なく、安全に、またはエラーなく利用可能であることを保証しません。
あなたのAIモデルの使用は、あなた自身のリスクと判断に基づくものであり、AIモデルの使用に起因するコンピューターシステムの損傷またはデータの損失に対して、あなたは独自に責任を負います。
この免責事項は、あなたとAIモデルの作成者との間のモデルの使用に関する契約の一部を構成し、あなたと作成者との間のこのAIモデルの使用に関する以前のすべての契約に優先します。
💻 使用例
基本的な使用法
import torch, json
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "WhiteRabbitNeo/WhiteRabbitNeo-7B-v1.5a"
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float16,
device_map="auto",
load_in_4bit=False,
load_in_8bit=True,
trust_remote_code=True,
)
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.5,
"generate_len": 1024,
"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,
)
output = rest[0][length:]
string = tokenizer.decode(output, skip_special_tokens=True)
answer = string.split("USER:")[0].strip()
return f"{answer}"
conversation = f"SYSTEM: You are an AI that code. Answer with code."
while True:
user_input = input("You: ")
llm_prompt = f"{conversation} \nUSER: {user_input} \nASSISTANT: "
answer = generate_text(llm_prompt)
print(answer)
conversation = f"{llm_prompt}{answer}"
json_data = {"prompt": user_input, "answer": answer}