- 博客(1402)
- 资源 (64)
- 收藏
- 关注
原创 模型落地部署 # 使用 OpenSearch 托管机器学习/深度学习模型进行模型服务化 Model-serving
OpenSearch ML Commons 通过 REST API 提供机器学习算法。支持同步/异步训练 ML 算法、基于训练好的模型进行预测。权限:opensearch 中 ml_full_access、ml_readonly_access 权限的用户可以使用 ML 功能。为了防止 opensearch cluster 在运行 ML 任务时失败,可以(但不必要)配置一个 ML node。
2023-01-31 09:31:43 805 1
原创 文献阅读笔记 # Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
BERT(2018) 和 RoBERTa(2019) 在 sentence-pair regression 类任务(如,semantic textual similarity, STS, 语义文本相似度任务)中取得了 SOTA,但计算效率低下,因为 BERT 的构造使其不适合 semantic similarity search 也不适合无监督任务,如聚类。10000 sentences 找到最相似的 pair 需要约5千万次BERT推理(单张V100 ~65hours)
2023-01-28 16:12:11 984
原创 算法工程 # 深度学习算法落地最后一公里:工业界中的大规模向量检索
现代深度学习实践中很多场景其实都是对输入数据进行处理、嵌入,最终获得一个 embedding,然后对 embedding 进行相似度检索,而工业界中的被检索数据往往是海量的,因此深度学习模型落地的最后一步也就是大规模向量检索。本文介绍在工业界实践中常用的向量检索方案。
2023-01-09 02:18:44 1049
原创 安全研究 # Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection
跨平台二进制代码相似度检测
2022-12-22 16:25:54 1360 2
原创 安全研究 # Order Matters: Semantic-Aware Neural Networks for Binary Code Similarity Detection
图7中是4个控制流图的block(左上,左下,右上,右下),我们使用K-means对预训练后的block embedding进行分类(K-means的类别数定为4),不同的类别颜色不同。为什么使用CNN模型呢?这三个图非常相似,每个图中都有一个三角形特征(图a的节点123,图b的节点234,图c的节点134),这个特征体现在它们的邻接矩阵中。首先对比图a和图b,与图a相比,图b加入了节点1,节点顺序依次后移一位,但三角形特征中三个节点的顺序还是连续的,这个特征在邻接矩阵中可以看到,这个1-1-0-1的。
2022-12-14 18:17:55 583
原创 图拉普拉斯矩阵
在线性代数里,正定矩阵 (positive definite matrix) 有时会简称为正定阵。广义定义:设M是n阶方阵,如果对任何非零向量z,都有zTMz>0,则称M为正定矩阵。狭义定义:一个n阶的M是正定的的条件是当且仅当对于所有的非零实系数向量z,都有zTMz>0。A=CTC。
2022-12-14 14:33:00 1557
原创 安全研究 # 课题:二进制成分分析(Binary SCA)
从源代码编译生成二进制过程中,有很多有助于理解代码意图的信息会被丢失,比如:函数名称、变量名称、数据结构定义、变量类型定义、注释信息等;其次,为了更好的保护二进制代码的知识产权或最大程度的提升对二进制代码的理解难度,还会对二进制代码进行。计算相似性的常见方法(28种)是将一段二进制代码表示为向量或一组特征,使得类似的二进制代码具有相似的特征向量或特征集。最常见的是序列中的指令在虚拟地址空间中是连续的,属于同一函数。语义相似性是指所比较的代码是否具有类似的效果,而语法相似性则是指代码表示中的相似性。
2022-12-13 14:53:37 1728
原创 SDL 软件安全开发周期 Security Development Lifecycle
SDL的是安全开发生命周期,Security Development Lifecycle。由微软最早提出,是一种专注于软件开发的安全保障流程。为实现保护最终用户为目标,它在软件开发流程的各个阶段引入安全和隐私问题。SDL的核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。安全开发生命周期 (SDL)是侧重于软件开发的安全保证过程,旨在开发出安全的软件应用。Dy
2022-12-13 11:39:22 1826
原创 NMS非极大值抑制的原理及实现
非极大值抑制(NMS)即抑制不是极大值的元素,搜索局部的极大值。这个局部代表的是一个邻域(邻域有两个参数可变,一是邻域的维数,二是邻域的大小)。例如在行人检测中,滑动窗口提取特征,经分类器分类识别后,每个窗口都会得到一个score。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里score最高(行人的概率最大),抑制那些score较低的窗口。算法流程:1.设定阈值,找到最大分类概率的检测框F,从它开始,其他框中与F重复度IOU > 阈值:舍去,标记并保
2022-12-04 22:50:23 359
原创 安全研究 # 二进制代码相似性检测综述
本文参考:[1]方磊,武泽慧,魏强.二进制代码相似性检测技术综述[J].计算机科学,2021,48(05):1-8.(信息工程大学数学工程与先进计算国家重点实验室, 国家重点研发课题,北大核心)代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛。根据关注的代码信息的不同,当前的二进制代码相似性检测技术分为4类:基于文本、基于属性度量、基于程序逻辑、基于语义的检测技术。
2022-12-04 00:04:08 3215
转载 win10 go多版本管理
针对 Windows 须要 将原有的 C:/Go/bin 从 PATH 中移除,新增 %USERPROFILE%.g\go\bin。直接将解压后的 g.exe 放入环境变量 PATH 目录下便可(如 d:\bin目录)下载地址:https://github.com/voidint/g/releases。这里须要调整为 C:\Users\Administrator.g\go 目录。切换到另外一个已安装的go版本。查询可供安装的全部go版本。卸载一个已安装的go版本。查看本地安装了哪些版本。
2022-10-31 16:13:04 713
原创 VMVare中Ubuntu报错:Drag and drop is not supported
VMVare中安装了VMVare tools的Ubuntu系统无法和win主机拖拽传输文件,并且报错:Drag and drop is not supported。
2022-08-19 18:13:02 4376 1
原创 企业级分布式爬虫框架入门
在master服务器上搭建一个redis数据库,并将要抓取的url存放到redis数据库中,所有的slave爬虫服务器在抓取的时候从redis数据库中去链接,由于scrapy_redis自身的队列机制,slave获取的url不会相互冲突,然后抓取的结果最后都存储到数据库中。答对于IO密集型代码(文件处理,网络爬虫),多线程能够有效提升效率(单线程下有IO操作会进行IO等待,会造成不必要的时间等待,而开启多线程后,A线程等待时,会自动切换到线程B,可以不浪费CPU的资源,从而提升程序执行效率)。.......
2022-07-26 02:44:08 858
原创 Web3安全 Go+Security
注意区别Go+Security是一家Web3安全创业公司,Go+是国产编程语言Go+Security是一个面向所有类型的区块链用户的开放、无许可、用户驱动的安全服务平台。它支持独立的安全风险提交,并通过token检测、实时风险预警、dApp合约安全和交互安全等技术动态提供检测结果。......
2022-07-23 13:42:58 2722
原创 Go+语言
Go+的源代码,通过扫描器Scanner转成一个Go+的Token,再通过一个parser变成Go+的抽象的语法树,常见语言都是这么干的。Go+的抽象语法树转化后有两个分支,一个生成Go的代码从而使其可以静态编译,另外一个分支生成字节码解析执行,分支的多态是通过引入了一个叫执行规范(exec.spec)的东西,其实就是一个抽象的接口。Go+执行规范的部分,其实是一种抽象的SAX接口,也就是基于事件驱动类型推导导致的。...
2022-07-23 01:28:52 1088
原创 实践 # 基于Go语言自己动手实现区块链
1、理解什么是区块链;2、掌握区块链基本结构;3、构建区块链基本模型;开发环境GoLand(付费,学生可以申请免费,需要提供证明)区块链的理论基础部分可以参考我写的其他博客,本文主要介绍实践。开源代码https如果有帮助欢迎star和分享~也欢迎提pr。......
2022-07-22 20:46:32 6040 1
原创 Rug pull
crypto行业的rugpull指开发团队突然放弃一个项目,并出售或移除其所有流动性。Rugpull与去中心化金融(DeFi)项目关系最紧密,这些项目为去中心化交易所(DEX)提供流动性。新项目的DeFi代币通常不会在中心化交易所(CEX)上市,这意味着DEX是唯一的流动性来源。通常,DeFi项目将创建其代币并向DEX提供一定数量的流动性。这可以直接放入流动资金池(与ETH或BNB等其他代币配对),也可以在初始DEX产品(IDO)中出售。......
2022-07-17 22:13:49 969
原创 Merkle Tree、Merkle Proof、SPV安全性分析、Bloom过滤器
Merkle Tree的最大特点是:可以以一个很简短的方法来证明一棵树中存在某一个元素。即 Simplified Payment Verification,SPV
2022-07-14 03:07:27 2254
原创 【LeetCode】560. 和为 K 的子数组
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。示例 1:提示:1
2022-07-07 23:26:37 300
原创 可验证随机函数(Verifiable Random Function, VRF)
但在这里没有明白为什么在VRFVERVRF_{VER}VRFVER环节需要x,y,π\piπ信息。以及message x是什么,如何选取才能取到伪随机性。VRF 这个概念最早由 Micali,Rabin 和 Vadhan 三个人所提出。一句话描述: 以sk和随机种子作为输入,输出伪随机数r和对应的证明proof任何人可以通过sk对应的公钥vk加上证明proof来验证伪随机数r是否有sk持有者生成。特点:1)可验证性:任何人可以通过vk和proof验证随机数r是sk和x对应的输出;2)唯一性:sk和
2022-07-06 02:48:00 3157
原创 零知识证明 Zero Knowledge Proof 以及 Layer2、跨链介绍
定义:20世纪80年代初发明,证明者在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。要求:完整性、可靠性、零知识性分类:交互式证明、非交互式证明角色:示证者/证明方(prover)、验证者(verifier)eg:跨链方法:公证人、哈希锁定、侧链、中继链............
2022-07-03 18:55:37 1005
原创 TypeError: err_code__WEBPACK_IMPORTED_MODULE_0__ is not a function
TypeError: err_code__WEBPACK_IMPORTED_MODULE_0__ is not a functionpolygon-ethereum-nextjs-marketplace 项目运行时产生:TypeError: err_code__WEBPACK_IMPORTED_MODULE_0__ is not a function项目中next版本是11.0.1参考 issue update next to ^12.1.6...
2022-06-29 05:51:46 1116
原创 Error: missing revert data in call exception
Error: missing revert data in call exceptionpolygon-ethereum-nextjs-marketplace 项目运行时产生:Error: missing revert data in call exception 报错。本项目依赖中: “ethers”: "^5.5.4”参考 discussion,修改ethers为5.6.1版本。
2022-06-29 02:48:16 817
原创 N1BOOK 笔记:信息搜集类型题目
CTF题目中,信息搜集题目方向主要有:敏感备份文件、敏感目录信息、Banner识别等…通过敏感目录泄露可以获得网站的源代码和敏感的URL地址,如网站的后台地址等。基于工具或者自己编写的脚本即可获取源码/flag。git回滚git分支git log只能查看当前branch的修改,如果目标不在当前分支,需要使用更强的工具:GitHacker然后执行可以看到checkout信息,据此可以查找新分支。如果要还原分支内容,需要手动下载分支的head信息保存到,如执行命令:,恢复好head信息后,复用Gi
2022-06-01 19:47:53 533
原创 bugku web题集锦
变量1<?php error_reporting(0);include "flag1.php";highlight_file(__file__);if(isset($_GET['args'])){ $args = $_GET['args']; if(!preg_match("/^\w+$/",$args)){ die("args error!"); } eval("var_dump($$args);");}?>正则在线测试:ht
2022-06-01 16:39:10 1134
原创 计算机网络 # 学习笔记
Ch11.11.1.1 概念、组成、功能、分类概念计算机网络是互联的、自治的计算机集合。计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。功能计算机网络的功能:(1)数据通信(连通性)(2)资源共享(硬件、软件、数据)(3)分布式处理(4)提高可靠性(5)负载均衡组成分类1.1.2 标准化工作及相关组织国际标准化组织 ISO: OSI 参考模型、HDLC协议国际电信联盟 ITU:制定通信规则
2022-05-24 22:45:53 211
原创 CSS # 前端实现弧形效果
效果效果图:code:<view class="container"> <view class="topcover"/></view>.topcover { width: 100%; height: 300rpx; position: relative; z-index: -1; background-color: rgb(255,236,193);}.topcover::after { conten
2022-04-07 20:31:49 1830
C++_STL使用例子大全
2016-07-30
Learning the vi and Vim Editors
2016-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人