🚀 WhiteRabbitNeo
WhiteRabbitNeoは、攻撃的および防御的なサイバーセキュリティに使用できるモデルシリーズです。現在、これらのモデルはその機能の公開プレビューとしてリリースされており、またこのようなAIの社会的影響を評価するためでもあります。
🚀 クイックスタート
最新モデルはWebアプリとKindo.aiで利用可能です。以下のURLからアクセスできます。
アクセス先: https://www.whiterabbitneo.com/
Discordサーバーにも参加できます。
参加リンク: https://discord.gg/8Ynkrcbk92 (12月29日更新。現在は参加用の恒久的リンクです)
💻 使用例
基本的な使用法
import torch, json
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "WhiteRabbitNeo/WhiteRabbitNeo-2.5-Qwen-2.5-Coder-7B"
output_file_path = "/home/user/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 = f"""<|im_start|>system\nYou are an AI that code. Please answer with code, and make sure to format with codeblocks using ```python and ```.<|im_end|>\n<|im_start|>user\n"""
while True:
user_input = input("You: ")
llm_prompt = f"{conversation}{user_input}<|im_end|>\n<|im_start|>assistant\nSure! Let me provide a complete and a thorough answer to your question, with functional and production ready code.\n"
answer = generate_text(llm_prompt)
print(answer)
conversation = f"{llm_prompt}{answer}<|im_end|>\n<|im_start|>user\n"
高度な使用法
llm_prompt = f"{conversation}{user_input}<|im_end|>\n<|im_start|>assistant\nSure! Let me provide a complete and a thorough answer to your question, with functional and production ready code.\n"
📚 ドキュメント
カバーされるトピック
- オープンポート: オープンポートは攻撃者の侵入ポイントになり得るため、特定することが重要です。チェックする一般的なポートには、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モデルの使用に関する以前のすべての合意に優先します。
🔧 技術詳細
属性 |
详情 |
モデルタイプ |
WhiteRabbitNeoは攻撃的および防御的なサイバーセキュリティに使用できるモデルシリーズ |
ベースモデル |
Qwen/Qwen2.5-Coder-7B |
ライブラリ名 |
transformers |
パイプラインタグ |
テキスト生成 |
タグ |
code、qwen-coder、finetune |
📄 ライセンス
Apache-2.0 + WhiteRabbitNeo拡張バージョン
WhiteRabbitNeoによるApache-2.0ライセンスの拡張: 使用制限
あなたは、以下のような方法でモデルまたはモデルの派生品を使用しないことに同意します。
- 適用される国内または国際法や規制に違反する、または第三者の合法的な権利と利益を侵害する方法での使用;
- いかなる形でも軍事用途での使用;
- いかなる形でも未成年者を搾取し、害する、または搾取しようとする、または害しようとする目的での使用;
- 他人を害する目的で、検証可能な虚偽情報および/またはコンテンツを生成または拡散するための使用;
- 適用される規制要件に違反する不適切なコンテンツを生成または拡散するための使用;
- 適切な許可なしに個人を特定できる情報を生成または拡散する、または不当な使用のための使用;
- 他人を誹謗中傷し、貶める、またはその他の方法で嫌がらせするための使用;
- 個人の法的権利に悪影響を与える、または拘束力のある、執行可能な義務を作成または変更する完全自動化された意思決定のための使用;
- オンラインまたはオフラインの社会的行動、または既知または予測される個人または人格特性に基づいて個人またはグループを差別する、または害する目的での、またはそのような効果をもたらす使用;
- 特定のグループの人々の年齢、社会的、身体的または精神的特性に基づいて、そのグループに属する人の行動を実質的に歪め、その人または他の人に身体的または心理的な害を引き起こす、または引き起こす可能性のある方法での使用;
- 法的に保護された特性またはカテゴリに基づいて個人またはグループを差別する目的での、またはそのような効果をもたらす使用。
