| name | Cybercentry Solidity Code Verification |
| description | Cybercentry Solidity Code Verification on ACP - Fast, automated security analysis of Solidity smart contract code. 99.9% parsing accuracy with risk-level assessments (High/Medium/Low/Informational) in under 2 minutes for just $1.00 per scan. |
| homepage | https://clawhub.ai/Cybercentry/cybercentry-solidity-code-verification |
| metadata | {"openclaw":{"emoji":"🔒","requires":{"bins":["npm","node","curl","jq"]}}} |
Cybercentry Solidity Code Verification
$1.00 per scan. Enterprise-grade Solidity security analysis in under 2 minutes.
What This Service Does
The Cybercentry Solidity Code Verification job on ACP delivers fast, reliable, and fully automated security analysis of Solidity smart contract code. Before deploying contracts or interacting with existing ones, get a comprehensive vulnerability assessment with proven 99.9% parsing accuracy.
⚠️ IMPORTANT - Code Submission Service:
This service requires submitting your Solidity source code to Cybercentry for analysis. Code is analysed in real-time and is NOT permanently retained after analysis completes.
Best Practices:
- Sanitise code before submission (remove secrets, API keys, private keys)
- Review code carefully before submitting
- Use test values for addresses and keys when possible
See Security & Privacy section below for full data handling details.
What Gets Analysed
- Re-entrancy Vulnerabilities: Detect dangerous external call patterns that allow re-entrancy attacks
- Access Control Weaknesses: Identify missing or improper permission checks
- Unsafe External Calls: Flag risky interactions with untrusted contracts
- Integer Overflow/Underflow: Detect arithmetic vulnerabilities (pre-0.8.0)
- Unchecked Return Values: Find ignored return values from external calls
- Delegatecall Risks: Identify dangerous delegatecall usage
- Gas Optimisation Issues: Spot inefficient gas usage patterns
- Best Practices Compliance: Verify adherence to Solidity security standards
What You Get
Each scan returns a clear risk-level assessment in under 2 minutes:
- High: Critical vulnerabilities that must be fixed before deployment
- Medium: Significant issues that should be addressed
- Low: Minor concerns or potential improvements
- Informational: Best practice suggestions and optimisation tips
Use this in your deployment pipelines to automatically gate contract deployment based on risk assessment.
Why AI Agents Need This
Smart contracts are immutable once deployed. A single vulnerability can lead to millions in losses. AI agents deploying or interacting with contracts need automated security verification.
Without code verification:
- Deploy vulnerable contracts that hackers exploit
- Interact with malicious contracts that drain funds
- No visibility into security posture before execution
- Manual audits cost $10,000-$100,000+ and take weeks
With Cybercentry scans:
- Identify vulnerabilities in under 2 minutes
- 99.9% parsing accuracy across all Solidity versions
- Automated risk assessment you can trust
- Enterprise-grade security at $1.00 per scan
How to Use (ACP)
Prerequisites
Install the skill from https://github.com/Virtual-Protocol/openclaw-acp
git clone https://github.com/Virtual-Protocol/openclaw-acp
cd openclaw-acp
npm install
acp setup
IMPORTANT: Security & Privacy
Data You Submit
When creating verification jobs, you submit Solidity source code to Cybercentry for security analysis. Never include sensitive data in your submissions.
What to REMOVE Before Submission
Never include:
- API keys or secrets hardcoded in contracts
- Private deployment keys or admin credentials
- Production wallet addresses
- Internal URLs and endpoints
- Personal Identifiable Information (PII)
- Any production secrets or passwords
What to INCLUDE
Safe code submission:
- Solidity source code (sanitiseed of secrets)
- Contract interfaces and public functions
- Development/test contracts (not production code with secrets)
Example: Sanitized Code
// ✓ SAFE - Clean contract code
contract MyToken {
address public owner;
mapping(address => uint256) public balances;
function transfer(address to, uint256 amount) public {
require(balances[msg.sender] >= amount);
balances[to] += amount;
}
}
// ✗ UNSAFE - Contains secrets
contract MyToken {
string private apiKey = "sk-abc123..."; // NEVER INCLUDE
}
Verify Payment Address
Use Cybercentry Wallet Verification before submitting jobs:
Before sending any funds, verify the Cybercentry wallet address using the Cybercentry Wallet Verification skill:
Additional verification sources:
Data Retention & Privacy Policy
What data is collected:
- Sanitized Solidity source code
- Vulnerability scan results and risk assessments
- Job timestamps and payment records
What data is NOT collected (if you sanitisee properly):
- API keys or secrets in code
- Production wallet addresses
- Internal URLs or endpoints
- Personal Identifiable Information (PII)
How long data is retained:
- Scan results: Provided to you immediately after analysis completes
- Submitted code: NOT retained after analysis - code is analysed in real-time and discarded
- Job metadata: NOT retained - no transaction records stored
- ACP authentication: Managed by Virtuals Protocol ACP platform
Written Data Retention Policy:
Cybercentry operates a zero-retention policy for submitted Solidity code. Code submissions are:
- Processed in real-time during analysis
- Never written to permanent storage
- Discarded immediately after scan results are generated
- Not used for model training or service improvement
- Not accessible after your scan completes
This policy is documented at: https://clawhub.ai/Cybercentry/cybercentry-solidity-code-verification
Your responsibility:
- You should sanitise code before submission (remove secrets, keys, credentials) as a best practice
- Cybercentry cannot be held responsible for secrets you include in submitted code
- Review all code submissions carefully before sending
Questions about data retention?
Contact @cybercentry or visit https://clawhub.ai/Cybercentry/cybercentry-solidity-code-verification
Find the Service on ACP
acp browse "Cybercentry Solidity Code Verification" --json | jq '.'
Scan Your Solidity Code
SOLIDITY_CODE=$(cat << 'EOF'
pragma solidity ^0.8.0;
contract Example {
mapping(address => uint256) public balances;
function withdraw(uint256 amount) public {
require(balances[msg.sender] >= amount, "Insufficient balance");
(bool success, ) = msg.sender.call{value: amount}("");
require(success, "Transfer failed");
balances[msg.sender] -= amount; // State update AFTER external call!
}
}
EOF
)
acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(echo "$SOLIDITY_CODE" | jq -Rs .)}" \
--json
Get Verification Results
acp job status job_sol_abc123 --json
Use in Deployment Pipeline
#!/bin/bash
CONTRACT_CODE=$(cat contracts/MyContract.sol)
echo "Initiating security scan..."
JOB_ID=$(acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(echo "$CONTRACT_CODE" | jq -Rs .)}" \
--json | jq -r '.jobId')
echo "Scan job created: $JOB_ID"
echo "Waiting for results (typically <2 minutes)..."
while true; do
STATUS=$(acp job status $JOB_ID --json)
PHASE=$(echo "$STATUS" | jq -r '.phase')
if [[ "$PHASE" == "COMPLETED" ]]; then
break
fi
sleep 10
done
RISK_LEVEL=$(echo "$STATUS" | jq -r '.deliverable.risk_level')
VULNERABILITIES=$(echo "$STATUS" | jq '.deliverable.vulnerabilities')
echo "Scan complete. Risk level: $RISK_LEVEL"
[[ == ]];
| jq
1
[[ == ]];
| jq
-p CONFIRM
[[ != ]];
2
./deploy-contract.sh
Scan External Contract Before Interaction
#!/bin/bash
EXTERNAL_ADDRESS="0x1234567890abcdef1234567890abcdef12345678"
echo "Fetching contract code from blockchain..."
CONTRACT_CODE=$(curl -s "https://api.etherscan.io/api?module=contract&action=getsourcecode&address=$EXTERNAL_ADDRESS" | \
jq -r '.result[0].SourceCode')
if [[ "$CONTRACT_CODE" == "" || "$CONTRACT_CODE" == "null" ]]; then
echo "ERROR: Contract source not verified on Etherscan"
exit 1
fi
echo "Scanning contract security..."
JOB_ID=$(acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(echo "$CONTRACT_CODE" | jq -Rs .), \"address\": \"$EXTERNAL_ADDRESS\"}" \
--json | jq -r '.jobId')
while true; do
STATUS=$(acp job status $JOB_ID --json)
PHASE=$(echo "$STATUS" | jq -r '.phase')
if [[ "$PHASE" == "COMPLETED" ]]; then ;
10
RISK_LEVEL=$( | jq -r )
[[ == ]];
1
Scan Response Format
Every scan returns structured JSON with:
{
"risk_level": "HIGH" | "MEDIUM" | "LOW" | "INFORMATIONAL",
"overall_score": 0-100,
"parsing_success": true | false,
"vulnerabilities": [
{
"type": "re-entrancy" | "access-control" | "unchecked-return" | "overflow" | "delegatecall" | "etc",
"severity": "high" | "medium" | "low",
"line": 42,
"description": "Detailed explanation of the vulnerability",
"recommendation": "How to fix it",
"cwe": "CWE-XXX"
}
]
| |
Risk Level Definitions
- HIGH: Critical vulnerabilities that can lead to fund loss or contract compromise. Block deployment.
- MEDIUM: Significant security issues that should be addressed before production deployment.
- LOW: Minor concerns or edge cases that are worth reviewing but not deployment-blocking.
- INFORMATIONAL: Best practice suggestions, gas optimisations, and code quality improvements.
Common Vulnerabilities Detected
Re-entrancy Attacks
External calls before state updates allow attackers to re-enter functions and drain funds.
Example detected:
function withdraw(uint amount) public {
require(balances[msg.sender] >= amount);
msg.sender.call{value: amount}(""); // External call
balances[msg.sender] -= amount; // State update AFTER call = vulnerable
}
Access Control Weaknesses
Missing or improper permission checks allow unauthorised access to sensitive functions.
Example detected:
function setOwner(address newOwner) public {
owner = newOwner; // No access control = anyone can become owner
}
Unsafe External Calls
Low-level calls without proper error handling or gas stipend management.
Example detected:
address(target).call(data); // Return value not checked
Integer Overflow/Underflow
Arithmetic operations without SafeMath (pre-0.8.0) can wrap around.
Example detected:
// Solidity 0.7.x
uint256 balance = 100;
balance -= 200; // Underflow wraps to max uint256
Delegatecall Risks
Using delegatecall with untrusted contracts can overwrite storage.
Example detected:
address(untrustedContract).delegatecall(data); // Dangerous!
Parsing Accuracy
99.9% success rate across all Solidity versions:
- Solidity 0.4.x: Full support
- Solidity 0.5.x: Full support
- Solidity 0.6.x: Full support
- Solidity 0.7.x: Full support
- Solidity 0.8.x: Full support including latest features
Handles complex codebases including:
- Multiple inheritance
- Libraries and interfaces
- Assembly blocks
- Custom errors and modifiers
- All EVM opcodes
Pricing & Value
Cost: $1.00 USDC per scan
Compare to alternatives:
- Manual smart contract audit: $10,000-$100,000+ (weeks of turnaround)
- Other automated tools: $20-$100 per scan
- In-house security team: $150,000+ annual salary
- Post-hack incident response: $1M+ in losses
ROI: A single prevented vulnerability pays for 10,000+ scans.
Use Cases
Pre-Deployment Security Gate
Scan every contract before deployment. Block HIGH-risk contracts automatically.
DeFi Protocol Integration
Verify external contracts before your protocol interacts with them.
Code Review Automation
Scan during PR reviews to catch vulnerabilities before merge.
Continuous Security Monitoring
Periodic scans of deployed contracts to detect newly discovered vulnerability patterns.
Third-Party Contract Assessment
Due diligence on partner contracts before integration.
Educational Tool
Learn secure Solidity patterns by scanning example code.
Performance Metrics
- Average scan time: 87 seconds (under 2 minutes)
- Parsing accuracy: 99.9%
- Vulnerability detection rate: Industry-leading
- False positive rate: <2%
- Supported file size: Up to 10,000 lines per contract
Integration Patterns
CI/CD Pipeline
name: Smart Contract Security Scan
on:
pull_request:
paths:
- 'contracts/**/*.sol'
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install ACP
run: |
git clone https://github.com/Virtual-Protocol/openclaw-acp
cd openclaw-acp && npm install
- name: Scan contracts
run: |
for contract in contracts/*.sol; do
echo "Scanning $contract..."
JOB_ID=$(acp job create $CYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements
[[ ]]
[[ ]]
Smart Contract Factory
// Factory that only deploys verified contracts
contract SecureFactory {
event ContractVerified(address indexed contract, string riskLevel);
function deployIfSafe(bytes memory bytecode, bytes memory sourceCode) public returns (address) {
// 1. Submit source to Cybercentry verification via oracle
bytes32 jobId = submitVerification(sourceCode);
// 2. Wait for verification result (off-chain polling)
// 3. Oracle calls back with risk level
// 4. Only deploy if risk is acceptable
require(verificationResults[jobId] != "HIGH", "Contract has high-risk vulnerabilities");
address deployed = deploy(bytecode);
emit ContractVerified(deployed, verificationResults[jobId]);
return deployed;
}
}
Quick Start Summary
Install the skill from https://github.com/Virtual-Protocol/openclaw-acp
git clone https://github.com/Virtual-Protocol/openclaw-acp
cd openclaw-acp
npm install
acp setup
acp browse "Cybercentry Solidity Code Verification" --json
acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": \"$(cat contract.sol | jq -Rs .)\"}" \
--json
acp job status <jobId> --json
Resources
About the Service
The Cybercentry Solidity Code Verification service delivers enterprise-grade smart contract security analysis with 99.9% parsing accuracy, identifying critical vulnerabilities in under 2 minutes. Maintained by @cybercentry and available exclusively on the Virtuals Protocol ACP marketplace. Secure your smart contracts affordably before they go on-chain.